gwyprocessenums

gwyprocessenums — Common enumerations

Synopsis




enum        GwyMergeType;
enum        GwyWatershedStateType;
enum        GwyPlaneSymmetry;
enum        Gwy2DCWTWaveletType;
enum        GwyOrientation;
enum        GwyTransformDirection;
enum        GwyDataFieldCached;
enum        GwyComputationStateType;
enum        GwyDWTType;
enum        GwyDWTDenoiseType;
enum        GwyInterpolationType;
enum        GwyPlaneFitQuantity;
enum        GwyWindowingType;
enum        GwyTipType;
enum        GwyCorrelationType;
enum        GwyGrainQuantity;
enum        GwyDataCompatibilityFlags;
const GwyEnum* gwy_merge_type_get_enum      (void);
const GwyEnum* gwy_plane_symmetry_get_enum  (void);
const GwyEnum* gwy_2d_cwt_wavelet_type_get_enum
                                            (void);
const GwyEnum* gwy_orientation_get_enum     (void);
const GwyEnum* gwy_dwt_type_get_enum        (void);
const GwyEnum* gwy_dwt_denoise_type_get_enum
                                            (void);
const GwyEnum* gwy_interpolation_type_get_enum
                                            (void);
const GwyEnum* gwy_windowing_type_get_enum  (void);
const GwyEnum* gwy_correlation_type_get_enum
                                            (void);
            GwyComputationState;

Description

Details

enum GwyMergeType

typedef enum {
    GWY_MERGE_UNION,
    GWY_MERGE_INTERSECTION
} GwyMergeType;

Mask merge type (namely used in grain processing).

GWY_MERGE_UNION Union (logical or) merging.
GWY_MERGE_INTERSECTION Intersection (logical and) merging.

enum GwyWatershedStateType

typedef enum {
    GWY_WATERSHED_STATE_INIT,
    GWY_WATERSHED_STATE_LOCATE,
    GWY_WATERSHED_STATE_MIN,
    GWY_WATERSHED_STATE_WATERSHED,
    GWY_WATERSHED_STATE_MARK,
    GWY_WATERSHED_STATE_FINISHED
} GwyWatershedStateType;


enum GwyPlaneSymmetry

typedef enum {
    GWY_SYMMETRY_AUTO,
    GWY_SYMMETRY_PARALLEL,
    GWY_SYMMETRY_TRIANGULAR,
    GWY_SYMMETRY_SQUARE,
    GWY_SYMMETRY_RHOMBIC,
    GWY_SYMMETRY_HEXAGONAL,
    GWY_SYMMETRY_LAST
} GwyPlaneSymmetry;

Plane symmetry types for rotation correction.

GWY_SYMMETRY_AUTO Automatic symmetry selection.
GWY_SYMMETRY_PARALLEL Parallel symmetry, there is one prevalent direction (bilateral).
GWY_SYMMETRY_TRIANGULAR Triangular symmetry, there are three prevalent directions (unilateral) by 120 degrees.
GWY_SYMMETRY_SQUARE Square symmetry, two prevalent directions (bilateral) oriented approximately along image sides.
GWY_SYMMETRY_RHOMBIC Rhombic symmetry, two prevalent directions (bilateral) oriented approximately along diagonals.
GWY_SYMMETRY_HEXAGONAL Hexagonal symmetry, three prevalent directions (bilateral) by 120 degrees.
GWY_SYMMETRY_LAST The number of symmetries.

enum Gwy2DCWTWaveletType

typedef enum { /*< lowercase_name=gwy_2d_cwt_wavelet_type >*/
    GWY_2DCWT_GAUSS,
    GWY_2DCWT_HAT
} Gwy2DCWTWaveletType;


enum GwyOrientation

typedef enum {
    GWY_ORIENTATION_HORIZONTAL,
    GWY_ORIENTATION_VERTICAL
} GwyOrientation;

Orientation type.

GWY_ORIENTATION_HORIZONTAL Horizontal orientation.
GWY_ORIENTATION_VERTICAL Vertical orientation.

enum GwyTransformDirection

typedef enum {
    GWY_TRANSFORM_DIRECTION_BACKWARD = -1,
    GWY_TRANSFORM_DIRECTION_FORWARD = 1
} GwyTransformDirection;

Transform (namely integral transform) direction.

In FFT, it is equal to sign of the exponent, that is backward transform uses -1, forward transform +1.

GWY_TRANSFORM_DIRECTION_BACKWARD Backward (inverse) transform.
GWY_TRANSFORM_DIRECTION_FORWARD Forward (direct) transform.

enum GwyDataFieldCached

typedef enum {
    GWY_DATA_FIELD_CACHE_MIN = 0,
    GWY_DATA_FIELD_CACHE_MAX,
    GWY_DATA_FIELD_CACHE_SUM,
    GWY_DATA_FIELD_CACHE_RMS,
    GWY_DATA_FIELD_CACHE_MED,
    GWY_DATA_FIELD_CACHE_ARF,
    GWY_DATA_FIELD_CACHE_ART,
    GWY_DATA_FIELD_CACHE_ARE,
    GWY_DATA_FIELD_CACHE_SIZE = 30
} GwyDataFieldCached;

Cached data field quantity types.

There should be little need to this enum directly except in libgwyprocess methods.

GWY_DATA_FIELD_CACHE_MIN Overall minimum.
GWY_DATA_FIELD_CACHE_MAX Overall maximum.
GWY_DATA_FIELD_CACHE_SUM Sum of all values.
GWY_DATA_FIELD_CACHE_RMS Root mean square.
GWY_DATA_FIELD_CACHE_MED Median.
GWY_DATA_FIELD_CACHE_ARF Auto-range from.
GWY_DATA_FIELD_CACHE_ART Auto-range to.
GWY_DATA_FIELD_CACHE_ARE Surface area.
GWY_DATA_FIELD_CACHE_SIZE The size of statistics cache.

enum GwyComputationStateType

typedef enum {
    GWY_COMPUTATION_STATE_INIT,
    GWY_COMPUTATION_STATE_ITERATE,
    GWY_COMPUTATION_STATE_FINISHED
} GwyComputationStateType;

Common iterative computation iterator state.

GWY_COMPUTATION_STATE_INIT Iterator was set up, the next step will actually create temporary data structures and precalculate values.
GWY_COMPUTATION_STATE_ITERATE Iteration is in progress, the fraction field of state struct holds the fraction completed.
GWY_COMPUTATION_STATE_FINISHED Calculation has been finished, further calls to the iterator will be no-op.

enum GwyDWTType

typedef enum {
    GWY_DWT_HAAR,
    GWY_DWT_DAUB4,
    GWY_DWT_DAUB6,
    GWY_DWT_DAUB8,
    GWY_DWT_DAUB12,
    GWY_DWT_DAUB20
} GwyDWTType;


enum GwyDWTDenoiseType

typedef enum {
    GWY_DWT_DENOISE_UNIVERSAL,
    GWY_DWT_DENOISE_SCALE_ADAPTIVE,
    GWY_DWT_DENOISE_SPACE_ADAPTIVE
} GwyDWTDenoiseType;


enum GwyInterpolationType

typedef enum {
    GWY_INTERPOLATION_NONE      = 0,
    GWY_INTERPOLATION_ROUND     = 1,
    GWY_INTERPOLATION_BILINEAR  = 2,
    GWY_INTERPOLATION_KEY       = 3,
    GWY_INTERPOLATION_BSPLINE   = 4,
    GWY_INTERPOLATION_OMOMS     = 5,
    GWY_INTERPOLATION_NNA       = 6
} GwyInterpolationType;

Interpolation types.

GWY_INTERPOLATION_NONE No interpolation at all, resulting values are not meaningful and should not be used (use for resize operations discarding original data).
GWY_INTERPOLATION_ROUND Round interpolation (nearest neighbour interpolation).
GWY_INTERPOLATION_BILINEAR Bilinear interpolation.
GWY_INTERPOLATION_KEY Key interpolation.
GWY_INTERPOLATION_BSPLINE B-spline interpolation.
GWY_INTERPOLATION_OMOMS Omoms interpolation
GWY_INTERPOLATION_NNA Nearest neighbour approximation.

enum GwyPlaneFitQuantity

typedef enum {
    GWY_PLANE_FIT_A = 1,
    GWY_PLANE_FIT_BX,
    GWY_PLANE_FIT_BY,
    GWY_PLANE_FIT_ANGLE,
    GWY_PLANE_FIT_SLOPE,
    GWY_PLANE_FIT_S0,
    GWY_PLANE_FIT_S0_REDUCED
} GwyPlaneFitQuantity;

Local plane fitting quantity to request from gwy_data_field_area_fit_local_planes() and similar functions.

GWY_PLANE_FIT_A Constant coefficient (mean value).
GWY_PLANE_FIT_BX Linear coefficient in x, if x in in pixel coordinates.
GWY_PLANE_FIT_BY Linear coefficient in y, if y is in pixel coordinates.
GWY_PLANE_FIT_ANGLE Slope orientation in (x,y) plane (in radians).
GWY_PLANE_FIT_SLOPE Absolute slope value (that is sqrt(bx*bx + by*by)).
GWY_PLANE_FIT_S0 Residual sum of squares.
GWY_PLANE_FIT_S0_REDUCED Slope-reduced residual sum of squares.

enum GwyWindowingType

typedef enum {
    GWY_WINDOWING_NONE       = 0,
    GWY_WINDOWING_HANN       = 1,
    GWY_WINDOWING_HAMMING    = 2,
    GWY_WINDOWING_BLACKMANN  = 3,
    GWY_WINDOWING_LANCZOS    = 4,
    GWY_WINDOWING_WELCH      = 5,
    GWY_WINDOWING_RECT       = 6
} GwyWindowingType;

Frequency windowing type.

GWY_WINDOWING_NONE No windowing is applied.
GWY_WINDOWING_HANN Hann window.
GWY_WINDOWING_HAMMING Hamming window.
GWY_WINDOWING_BLACKMANN Blackmann window.
GWY_WINDOWING_LANCZOS Lanczos window.
GWY_WINDOWING_WELCH Welch window.
GWY_WINDOWING_RECT Rectangular window.

enum GwyTipType

typedef enum {
    GWY_TIP_PYRAMIDE       = 0,
    GWY_TIP_CONTACT        = 1,
    GWY_TIP_NONCONTACT     = 2,
    GWY_TIP_DELTA          = 3
} GwyTipType;


enum GwyCorrelationType

typedef enum {
    GWY_CORRELATION_NORMAL  = 0,
    GWY_CORRELATION_FFT     = 1,
    GWY_CORRELATION_POC     = 2
} GwyCorrelationType;


enum GwyGrainQuantity

typedef enum {
    GWY_GRAIN_VALUE_PROJECTED_AREA       = 0,
    GWY_GRAIN_VALUE_EQUIV_SQUARE_SIDE    = 1,
    GWY_GRAIN_VALUE_EQUIV_DISC_RADIUS    = 2,
    GWY_GRAIN_VALUE_SURFACE_AREA         = 3,
    GWY_GRAIN_VALUE_MAXIMUM              = 4,
    GWY_GRAIN_VALUE_MINIMUM              = 5,
    GWY_GRAIN_VALUE_MEAN                 = 6,
    GWY_GRAIN_VALUE_MEDIAN               = 7,
    GWY_GRAIN_VALUE_FLAT_BOUNDARY_LENGTH = 10,
    GWY_GRAIN_VALUE_MINIMUM_BOUND_SIZE   = 12,
    GWY_GRAIN_VALUE_MINIMUM_BOUND_ANGLE  = 13,
    GWY_GRAIN_VALUE_MAXIMUM_BOUND_SIZE   = 14,
    GWY_GRAIN_VALUE_MAXIMUM_BOUND_ANGLE  = 15
} GwyGrainQuantity;

Grain quantity to request from gwy_data_field_grains_get_distribution() and similar functions.

GWY_GRAIN_VALUE_PROJECTED_AREA Projected (flat) grain area.
GWY_GRAIN_VALUE_EQUIV_SQUARE_SIDE Side of a square with the same area as the grain.
GWY_GRAIN_VALUE_EQUIV_DISC_RADIUS Radius of a disc with the same area as the grain.
GWY_GRAIN_VALUE_SURFACE_AREA Surface area.
GWY_GRAIN_VALUE_MAXIMUM Minimum value.
GWY_GRAIN_VALUE_MINIMUM Maximum value.
GWY_GRAIN_VALUE_MEAN Mean value.
GWY_GRAIN_VALUE_MEDIAN Median value.
GWY_GRAIN_VALUE_FLAT_BOUNDARY_LENGTH Length of projected grain boundary. Note for grains not topologically equivalent to disc, only the length of the outer boundary is calculated.
GWY_GRAIN_VALUE_MINIMUM_BOUND_SIZE Minimum lateral bounding size, in other words the minimum length of grain projection to any line in the horizontal plane.
GWY_GRAIN_VALUE_MINIMUM_BOUND_ANGLE Direction of the minimum lateral bounding size (arbitrary one if the minimum is not unique).
GWY_GRAIN_VALUE_MAXIMUM_BOUND_SIZE Maximum lateral bounding size, in other words the maximum length of grain projection to any line in the horizontal plane.
GWY_GRAIN_VALUE_MAXIMUM_BOUND_ANGLE Direction of the maximum lateral bounding size (arbitrary one if the maximum is not unique).

enum GwyDataCompatibilityFlags

typedef enum {
    GWY_DATA_COMPATIBILITY_RES     = 1 << 0,
    GWY_DATA_COMPATIBILITY_REAL    = 1 << 1,
    GWY_DATA_COMPATIBILITY_MEASURE = 1 << 2,
    GWY_DATA_COMPATIBILITY_LATERAL = 1 << 3,
    GWY_DATA_COMPATIBILITY_VALUE   = 1 << 4,
    GWY_DATA_COMPATIBILITY_ALL     = 0x001f
} GwyDataCompatibilityFlags;

Data line and field compatibility flags.

GWY_DATA_COMPATIBILITY_RES Pixel sizes.
GWY_DATA_COMPATIBILITY_REAL Real (physical) dimensions.
GWY_DATA_COMPATIBILITY_MEASURE Real to pixel ratios.
GWY_DATA_COMPATIBILITY_LATERAL Units of lateral dimensions.
GWY_DATA_COMPATIBILITY_VALUE Units of values.
GWY_DATA_COMPATIBILITY_ALL Mask of all defined flags.

gwy_merge_type_get_enum ()

const GwyEnum* gwy_merge_type_get_enum      (void);

Returns GwyEnum for GwyMergeType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_plane_symmetry_get_enum ()

const GwyEnum* gwy_plane_symmetry_get_enum  (void);

Returns GwyEnum for GwyPlaneSymmetry enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_2d_cwt_wavelet_type_get_enum ()

const GwyEnum* gwy_2d_cwt_wavelet_type_get_enum
                                            (void);

Returns GwyEnum for Gwy2DCWTWaveletType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_orientation_get_enum ()

const GwyEnum* gwy_orientation_get_enum     (void);

Returns GwyEnum for GwyOrientation enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_dwt_type_get_enum ()

const GwyEnum* gwy_dwt_type_get_enum        (void);

Returns GwyEnum for GwyDWTType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_dwt_denoise_type_get_enum ()

const GwyEnum* gwy_dwt_denoise_type_get_enum
                                            (void);

Returns GwyEnum for GwyDWTDenoiseType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_interpolation_type_get_enum ()

const GwyEnum* gwy_interpolation_type_get_enum
                                            (void);

Returns GwyEnum for GwyInterpolationType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_windowing_type_get_enum ()

const GwyEnum* gwy_windowing_type_get_enum  (void);

Returns GwyEnum for GwyWindowingType enum type.

Returns : NULL-terminated GwyEnum which must not be modified nor freed.

gwy_correlation_type_get_enum ()

const GwyEnum* gwy_correlation_type_get_enum
                                            (void);

Returns :

GwyComputationState

typedef struct {
    guint state;
    gdouble fraction;
} GwyComputationState;

State of iterative computation.

Iterators usually append their own private state data, therefore it must not be assumed the public fields state and fraction are the only fields.

A typical iteration, assuming an iterative computation `foo' with the default GwyComputationStateType state could be:

GwyComputationStateType *state;
state = gwy_data_field_foo_init(GwyDataField *data_field, ...);
do {
    gwy_data_field_foo_iteration(state);
    /* Update progress using state->fraction,
        let Gtk+ main loop run, check for abort, ... */
    if (aborted) {
        gwy_data_field_foo_finalize(state);
        return FALSE;
    }
} while (state->state != GWY_COMPUTATION_STATE_FINISHED);
gwy_data_field_foo_finalize(state);
return TRUE;

guint state; Current computation state, usually of GwyComputationStateType, but particular iterators can define their own types.
gdouble fraction; Fraction of computation completed. For staged algorithms, the fraction refer to the current stage only.