![]() |
![]() |
Gwyddion Data Processing Library Reference Manual | ||
---|---|---|---|---|
Top | Description |
#include <libprocess/gwyprocess.h> enum GwyMergeType; enum GwyMaskingType; 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; enum GwyLineStatQuantity; enum GwyExteriorType; 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;
typedef enum { GWY_MERGE_UNION, GWY_MERGE_INTERSECTION } GwyMergeType;
Mask merge type (namely used in grain processing).
typedef enum { GWY_MASK_EXCLUDE = 0, GWY_MASK_INCLUDE = 1, GWY_MASK_IGNORE = 2, } GwyMaskingType;
Mask handling in procedures that can apply masking.
FIXME: At present this is used namely by modules, the mask-application interfaces of GwyDataField methods are not very consistent.
Exclude data under mask, i.e. take into account only data not covered by the mask. | |
Take into account only data under the mask. | |
Ignore mask, if present, and use all data. |
Since 2.12
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;
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.
Automatic symmetry selection. | |
Parallel symmetry, there is one prevalent direction (bilateral). | |
Triangular symmetry, there are three prevalent directions (unilateral) by 120 degrees. | |
Square symmetry, two prevalent directions (bilateral) oriented approximately along image sides. | |
Rhombic symmetry, two prevalent directions (bilateral) oriented approximately along diagonals. | |
Hexagonal symmetry, three prevalent directions (bilateral) by 120 degrees. | |
The number of symmetries. |
typedef enum { /*< lowercase_name=gwy_2d_cwt_wavelet_type >*/ GWY_2DCWT_GAUSS, GWY_2DCWT_HAT } Gwy2DCWTWaveletType;
typedef enum { GWY_ORIENTATION_HORIZONTAL, GWY_ORIENTATION_VERTICAL } GwyOrientation;
Orientation type.
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.
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 type.
There should be little need to this enum directly except in libgwyprocess methods.
Overall minimum. | |
Overall maximum. | |
Sum of all values. | |
Root mean square. | |
Median. | |
Auto-range from. | |
Auto-range to. | |
Surface area. | |
The size of statistics cache. |
typedef enum { GWY_COMPUTATION_STATE_INIT, GWY_COMPUTATION_STATE_ITERATE, GWY_COMPUTATION_STATE_FINISHED } GwyComputationStateType;
Common iterative computation iterator state type.
Iterator was set up, the next step will actually create temporary data structures and precalculate values. | |
Iteration is in progress, the fraction
field of state struct holds the fraction
completed.
|
|
Calculation has been finished, further calls to the iterator will be no-op. |
typedef enum { GWY_DWT_HAAR, GWY_DWT_DAUB4, GWY_DWT_DAUB6, GWY_DWT_DAUB8, GWY_DWT_DAUB12, GWY_DWT_DAUB20 } GwyDWTType;
typedef enum { GWY_DWT_DENOISE_UNIVERSAL, GWY_DWT_DENOISE_SCALE_ADAPTIVE, GWY_DWT_DENOISE_SPACE_ADAPTIVE } GwyDWTDenoiseType;
typedef enum { GWY_INTERPOLATION_NONE = 0, GWY_INTERPOLATION_ROUND = 1, GWY_INTERPOLATION_LINEAR = 2, GWY_INTERPOLATION_BILINEAR = GWY_INTERPOLATION_LINEAR, GWY_INTERPOLATION_KEY = 3, GWY_INTERPOLATION_BSPLINE = 4, GWY_INTERPOLATION_OMOMS = 5, GWY_INTERPOLATION_NNA = 6, GWY_INTERPOLATION_SCHAUM = 7 } GwyInterpolationType;
Interpolation types.
No interpolation at all, resulting values are not defined, it must not be used for interpolation. It can be used in resize operations discarding original data. | |
Round interpolation (more precisely symmetric nearest neighbour interpolation). | |
Linear interpolation. | |
Old name for GWY_INTERPOLATION_LINEAR . This
is a misnomer because it in fact denotes linear
interpolation of arbitrary dimension. Use
GWY_INTERPOLATION_LINEAR instead.
|
|
Cubic Key's interpolation (with a=-1/2). | |
B-spline interpolation. | |
Omoms interpolation. | |
Nearest neighbour approximation. | |
Cubic Schaum interpolation. |
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.
Constant coefficient (mean value). | |
Linear coefficient in x, if x in in pixel coordinates. | |
Linear coefficient in y, if y is in pixel coordinates. | |
Slope orientation in (x,y) plane (in radians). | |
Absolute slope value (that is sqrt(bx*bx + by*by)). | |
Residual sum of squares. | |
Slope-reduced residual sum of squares. |
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, GWY_WINDOWING_NUTTALL = 7, GWY_WINDOWING_FLAT_TOP = 8, GWY_WINDOWING_KAISER25 = 9 } GwyWindowingType;
Frequency windowing type.
No windowing is applied. | |
Hann window. | |
Hamming window. | |
Blackmann window. | |
Lanczos window. | |
Welch window. | |
Rectangular window. | |
Nuttall window (Since: 2.7). | |
Flat-top window (Since: 2.7). | |
Kaiser window with β=2.5 (Since: 2.7). |
typedef enum { GWY_TIP_PYRAMIDE = 0, GWY_TIP_CONTACT = 1, GWY_TIP_NONCONTACT = 2, GWY_TIP_DELTA = 3 } GwyTipType;
typedef enum { GWY_CORRELATION_NORMAL = 0, GWY_CORRELATION_FFT = 1, GWY_CORRELATION_POC = 2 } GwyCorrelationType;
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_HALF_HEIGHT_AREA = 9, 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, GWY_GRAIN_VALUE_CENTER_X = 16, GWY_GRAIN_VALUE_CENTER_Y = 17, GWY_GRAIN_VALUE_VOLUME_0 = 18, GWY_GRAIN_VALUE_VOLUME_MIN = 19, GWY_GRAIN_VALUE_VOLUME_LAPLACE = 20, GWY_GRAIN_VALUE_SLOPE_THETA = 23, GWY_GRAIN_VALUE_SLOPE_PHI = 24, GWY_GRAIN_VALUE_BOUNDARY_MAXIMUM = 25, GWY_GRAIN_VALUE_BOUNDARY_MINIMUM = 26, } GwyGrainQuantity;
Grain quantity to request from gwy_data_field_grains_get_distribution()
and similar functions.
Projected (flat) grain area. | |
Side of a square with the same area
as the grain.
Future changes:
This quantity can be trivially
calculated from
GWY_GRAIN_VALUE_PROJECTED_AREA
and will be likely removed in 3.0.
|
|
Radius of a disc with the same area
as the grain.
Future changes:
This quantity can be trivially
calculated from
GWY_GRAIN_VALUE_PROJECTED_AREA
and will be likely removed in 3.0.
|
|
Surface area. | |
Minimum value. | |
Maximum value. | |
Mean value. | |
Median value. | |
Projected area of the part of grain that is above the half-height, i.e. the height between the minimum and maximum (Since: 2.8). | |
Length of projected grain boundary. Note for grains not topologically equivalent to disc, only the length of the outer boundary is calculated. | |
Minimum lateral bounding size, in other words the minimum length of grain projection to any line in the horizontal plane. | |
Direction of the minimum lateral bounding size (arbitrary one if the minimum is not unique). | |
Maximum lateral bounding size, in other words the maximum length of grain projection to any line in the horizontal plane. | |
Direction of the maximum lateral bounding size (arbitrary one if the maximum is not unique). | |
Grain centre horizontal position, i.e. the mean value of its pixel x-coordinates. (Since: 2.7) | |
Grain centre vertical position, i.e. the mean value of its pixel y-coordinates. (Since: 2.7) | |
Grain volume calculated with grain basis at z=0 (therefore it is just an integral it can be negative). (Since: 2.3) | |
Grain volume calculated with grain basis at
grain minimum value. This value is a lower
bound. (Since: 2.3)
Future changes:
This quantity can be trivially calculated from
GWY_GRAIN_VALUE_VOLUME_0 ,
GWY_GRAIN_VALUE_PROJECTED_AREA
and GWY_GRAIN_VALUE_MINIMUM
and will be likely removed in 3.0.
|
|
Grain volume calculated with grain basis calculated by laplacian interpolation of surrounding values. (Since: 2.3) | |
Spherical angle theta of grain normal (0 is upwards). (Since: 2.7) | |
Spherical angle phi of grain normal (0 is in positive x direction). (Since: 2.7) | |
Maximum value in the grain inner boundary. (Since: 2.12) | |
Minimum value on the grain inner boundary. (Since: 2.12) |
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.
Pixel sizes. | |
Real (physical) dimensions. | |
Real to pixel ratios. | |
Units of lateral dimensions. | |
Units of values. | |
Mask of all defined flags. |
typedef enum { GWY_LINE_STAT_MEAN, GWY_LINE_STAT_MEDIAN, GWY_LINE_STAT_MINIMUM, GWY_LINE_STAT_MAXIMUM, GWY_LINE_STAT_RMS, GWY_LINE_STAT_LENGTH, GWY_LINE_STAT_SLOPE, GWY_LINE_STAT_TAN_BETA0, GWY_LINE_STAT_RA, GWY_LINE_STAT_RZ, GWY_LINE_STAT_RT, GWY_LINE_STAT_SKEW, GWY_LINE_STAT_KURTOSIS } GwyLineStatQuantity;
Line statistical quantities to be requested with
gwy_data_field_area_get_line_stats()
.
Mean value. | |
Median. | |
Minimum value. | |
Maximum value. | |
Root mean square of deviations from the mean value. | |
Line length. | |
Overall line slope. | |
Root mean square slope. | |
Arithmetic mean surface roughness | |
Maximum height of the roughness profile | |
Total height of the roughness profile | |
Line skew | |
Line kurtosis |
Since 2.2
typedef enum { GWY_EXTERIOR_UNDEFINED, GWY_EXTERIOR_BORDER_EXTEND, GWY_EXTERIOR_MIRROR_EXTEND, GWY_EXTERIOR_PERIODIC, GWY_EXTERIOR_FIXED_VALUE } GwyExteriorType;
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.
|
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.
|
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.
|
const GwyEnum* gwy_orientation_get_enum (void);
Returns GwyEnum for GwyOrientation enum type.
Returns : |
NULL -terminated GwyEnum which must not be modified nor freed.
|
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.
|
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.
|
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.
|
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.
|
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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 |
Current computation state, usually of GwyComputationStateType, but particular iterators can define their own types. |
gdouble |
Fraction of computation completed. For staged algorithms, the fraction refers to the current stage only. |