![]() |
![]() |
Gwyddion Data Processing Library Reference Manual | ![]() |
---|
filtersfilters — Convolution and other 2D data filters |
void gwy_data_field_normalize (GwyDataField *data_field); void gwy_data_field_renormalize (GwyDataField *data_field, gdouble range, gdouble offset); gint gwy_data_field_threshold (GwyDataField *data_field, gdouble threshval, gdouble bottom, gdouble top); gint gwy_data_field_area_threshold (GwyDataField *data_field, gint col, gint row, gint width, gint height, gdouble threshval, gdouble bottom, gdouble top); gint gwy_data_field_clamp (GwyDataField *data_field, gdouble bottom, gdouble top); gint gwy_data_field_area_clamp (GwyDataField *data_field, gint col, gint row, gint width, gint height, gdouble bottom, gdouble top); void gwy_data_field_convolve (GwyDataField *data_field, GwyDataField *kernel_field); void gwy_data_field_area_convolve (GwyDataField *data_field, GwyDataField *kernel_field, gint col, gint row, gint width, gint height); void gwy_data_field_filter_median (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_median (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_mean (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_mean (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_conservative (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_conservative (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_laplacian (GwyDataField *data_field); void gwy_data_field_area_filter_laplacian (GwyDataField *data_field, gint col, gint row, gint width, gint height); void gwy_data_field_filter_sobel (GwyDataField *data_field, GwyOrientation orientation); void gwy_data_field_area_filter_sobel (GwyDataField *data_field, GwyOrientation orientation, gint col, gint row, gint width, gint height); void gwy_data_field_filter_prewitt (GwyDataField *data_field, GwyOrientation orientation); void gwy_data_field_area_filter_prewitt (GwyDataField *data_field, GwyOrientation orientation, gint col, gint row, gint width, gint height); void gwy_data_field_filter_minimum (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_minimum (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_maximum (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_maximum (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_rms (GwyDataField *data_field, gint size); void gwy_data_field_area_filter_rms (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height); void gwy_data_field_filter_kuwahara (GwyDataField *data_field); void gwy_data_field_area_filter_kuwahara (GwyDataField *data_field, gint col, gint row, gint width, gint height); void gwy_data_field_filter_canny (GwyDataField *data_field, gdouble threshold); void gwy_data_field_shade (GwyDataField *data_field, GwyDataField *target_field, gdouble theta, gdouble phi);
void gwy_data_field_normalize (GwyDataField *data_field);
Normalizes data in a data field to range 0.0 to 1.0.
It is equivalent to gwy_data_field_renormalize(data_field
, 1.0, 0.0);
If data_field
is filled with only one value, it is changed to 0.0.
data_field : |
A data field. |
void gwy_data_field_renormalize (GwyDataField *data_field, gdouble range, gdouble offset);
Transforms data in a data field with first linear function to given range.
When range
is positive, the new data range is (offset
, offset
+range
);
when range
is negative, the new data range is (offset
-range
, offset
).
In neither case the data are flipped, negative range only means different
selection of boundaries.
When range
is zero, this method is equivalent to
gwy_data_field_fill(data_field
, offset
).
data_field : |
A data field. |
range : |
New data interval size. |
offset : |
New data interval offset. |
gint gwy_data_field_threshold (GwyDataField *data_field, gdouble threshval, gdouble bottom, gdouble top);
Tresholds values of a data field.
Values smaller than threshold
are set to value bottom
, values higher
than threshold
or equal to it are set to value top
data_field : |
A data field. |
threshval : |
Threshold value. |
bottom : |
Lower replacement value. |
top : |
Upper replacement value. |
Returns : | The total number of values above threshold. |
gint gwy_data_field_area_threshold (GwyDataField *data_field, gint col, gint row, gint width, gint height, gdouble threshval, gdouble bottom, gdouble top);
Tresholds values of a rectangular part of a data field.
Values smaller than threshold
are set to value bottom
, values higher
than threshold
or equal to it are set to value top
data_field : |
A data field. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
threshval : |
Threshold value. |
bottom : |
Lower replacement value. |
top : |
Upper replacement value. |
Returns : | The total number of values above threshold. |
gint gwy_data_field_clamp (GwyDataField *data_field, gdouble bottom, gdouble top);
Limits data field values to a range.
data_field : |
A data field. |
bottom : |
Lower limit value. |
top : |
Upper limit value. |
Returns : | The number of changed values, i.e., values that were outside
[bottom , top ].
|
gint gwy_data_field_area_clamp (GwyDataField *data_field, gint col, gint row, gint width, gint height, gdouble bottom, gdouble top);
Limits values in a rectangular part of a data field to a range.
data_field : |
A data field. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
bottom : |
Lower limit value. |
top : |
Upper limit value. |
Returns : | The number of changed values, i.e., values that were outside
[bottom , top ].
|
void gwy_data_field_convolve (GwyDataField *data_field, GwyDataField *kernel_field);
data_field : |
|
kernel_field : |
void gwy_data_field_area_convolve (GwyDataField *data_field, GwyDataField *kernel_field, gint col, gint row, gint width, gint height);
Convolves a rectangular part of a data field with given kernel.
data_field : |
A data field to convolve. It must be larger than kernel_field
(or at least of the same size).
|
kernel_field : |
Kenrel field to convolve data_field with.
|
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_median (GwyDataField *data_field, gint size);
data_field : |
|
size : |
void gwy_data_field_area_filter_median (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with median filter.
data_field : |
A data field to apply mean filter to. |
size : |
Averaged area size. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_mean (GwyDataField *data_field, gint size);
data_field : |
|
size : |
void gwy_data_field_area_filter_mean (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with mean filter of size size
.
data_field : |
A data field to apply mean filter to. |
size : |
Averaged area size. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_conservative (GwyDataField *data_field, gint size);
data_field : |
|
size : |
void gwy_data_field_area_filter_conservative (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with conservative denoise filter.
data_field : |
A data field to apply mean filter to. |
size : |
Filtered area size. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_laplacian (GwyDataField *data_field);
data_field : |
void gwy_data_field_area_filter_laplacian (GwyDataField *data_field, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with Laplacian filter.
data_field : |
A data field to apply mean filter to. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_sobel (GwyDataField *data_field, GwyOrientation orientation);
data_field : |
|
orientation : |
void gwy_data_field_area_filter_sobel (GwyDataField *data_field, GwyOrientation orientation, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with Laplacian filter.
data_field : |
A data field to apply mean filter to. |
orientation : |
Filter orientation. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_prewitt (GwyDataField *data_field, GwyOrientation orientation);
data_field : |
|
orientation : |
void gwy_data_field_area_filter_prewitt (GwyDataField *data_field, GwyOrientation orientation, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with Prewitt filter.
data_field : |
A data field to apply mean filter to. |
orientation : |
Filter orientation. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_minimum (GwyDataField *data_field, gint size);
Filters a data field with minimum filter.
data_field : |
A data field to apply minimum filter to. |
size : |
Neighbourhood size for minimum search. |
void gwy_data_field_area_filter_minimum (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with minimum filter.
data_field : |
A data field to apply minimum filter to. |
size : |
Neighbourhood size for minimum search. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_maximum (GwyDataField *data_field, gint size);
Filters a data field with maximum filter.
data_field : |
A data field to apply maximum filter to. |
size : |
Neighbourhood size for maximum search. |
void gwy_data_field_area_filter_maximum (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with maximum filter.
data_field : |
A data field to apply maximum filter to. |
size : |
Neighbourhood size for maximum search. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_rms (GwyDataField *data_field, gint size);
Filters a data field with RMS filter.
data_field : |
A data field to apply RMS filter to. |
size : |
Area size. |
void gwy_data_field_area_filter_rms (GwyDataField *data_field, gint size, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with RMS filter of size size
.
RMS filter computes root mean square in given area.
data_field : |
A data field to apply RMS filter to. |
size : |
Area size. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_kuwahara (GwyDataField *data_field);
Filters a data field with Kuwahara filter.
data_field : |
A data field to apply Kuwahara filter to. |
void gwy_data_field_area_filter_kuwahara (GwyDataField *data_field, gint col, gint row, gint width, gint height);
Filters a rectangular part of a data field with a Kuwahara (edge-preserving smoothing) filter.
data_field : |
A data filed to apply Kuwahara filter to. |
col : |
Upper-left column coordinate. |
row : |
Upper-left row coordinate. |
width : |
Area width (number of columns). |
height : |
Area height (number of rows). |
void gwy_data_field_filter_canny (GwyDataField *data_field, gdouble threshold);
Filters a rectangular part of a data field with canny edge detector filter.
data_field : |
A data field to apply mean filter to. |
threshold : |
Slope detection threshold (range 0..1). |
void gwy_data_field_shade (GwyDataField *data_field, GwyDataField *target_field, gdouble theta, gdouble phi);
Shades a data field.
data_field : |
A data field. |
target_field : |
A data field to put the shade to. It will be resized to
match data_field .
|
theta : |
Shading angle (in radians, from north pole). |
phi : |
Shade orientation in xy plane (in radians, counterclockwise). |
<< elliptic | fractals >> |