filters

filters — Convolution and other data filters

Synopsis




enum        GwyFilterType;
void        gwy_data_field_area_convolve    (GwyDataField *data_field,
                                             GwyDataField *kernel_field,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_median
                                            (GwyDataField *data_field,
                                             gint size,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_mean (GwyDataField *data_field,
                                             gint size,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_conservative
                                            (GwyDataField *data_field,
                                             gint size,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_laplacian
                                            (GwyDataField *data_field,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_sobel
                                            (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_prewitt
                                            (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);
void        gwy_data_field_area_filter_canny
                                            (GwyDataField *data_field,
                                             gdouble threshold,
                                             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_convolve         (GwyDataField *data_field,
                                             GwyDataField *kernel_field,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_median    (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_mean      (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_conservative
                                            (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_laplacian (GwyDataField *data_field,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_sobel     (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);
void        gwy_data_field_filter_prewitt   (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

Description

Details

enum GwyFilterType

typedef enum {
    GWY_FILTER_MEAN          = 0, /*mean value filter (averaging)*/
    GWY_FILTER_MEDIAN        = 1, /*median value filter*/
    GWY_FILTER_CONSERVATIVE  = 2, /*conservative denoising filter*/
    GWY_FILTER_LAPLACIAN     = 3, /*Laplacian 2nd derivative filter*/
    GWY_FILTER_SOBEL         = 4, /*Sobel gradient filter*/
    GWY_FILTER_PREWITT       = 5, /*Prewitt gradient filter*/
    GWY_FILTER_MINIMUM,
    GWY_FILTER_MAXIMUM
} GwyFilterType;

Filtering type. Possibilities constist of simple statisical and directional filters.


gwy_data_field_area_convolve ()

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).

Since 1.3


gwy_data_field_area_filter_median ()

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).

Since 1.3


gwy_data_field_area_filter_mean ()

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).

Since 1.3


gwy_data_field_area_filter_conservative ()

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).

Since 1.3


gwy_data_field_area_filter_laplacian ()

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).

Since 1.3


gwy_data_field_area_filter_sobel ()

void        gwy_data_field_area_filter_sobel
                                            (GwyDataField *data_field,
                                             GtkOrientation 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).

Since 1.3


gwy_data_field_area_filter_prewitt ()

void        gwy_data_field_area_filter_prewitt
                                            (GwyDataField *data_field,
                                             GtkOrientation 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).

Since 1.3


gwy_data_field_area_filter_canny ()

void        gwy_data_field_area_filter_canny
                                            (GwyDataField *data_field,
                                             gdouble threshold,
                                             gint col,
                                             gint row,
                                             gint width,
                                             gint height);

Filters a rectangular part of a data field with canny edge detector filter.

In version 1.6 this function filters whole data field.

data_field : A data field to apply mean filter to.
threshold : Slope detection threshold (range 0..1).
col : Upper-left column coordinate.
row : Upper-left row coordinate.
width : Area width (number of columns).
height : Area height (number of rows).

Since 1.6


gwy_data_field_filter_minimum ()

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.

Since 1.8


gwy_data_field_area_filter_minimum ()

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).

Since 1.8


gwy_data_field_filter_maximum ()

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.

Since 1.8


gwy_data_field_area_filter_maximum ()

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).

Since 1.8


gwy_data_field_convolve ()

void        gwy_data_field_convolve         (GwyDataField *data_field,
                                             GwyDataField *kernel_field,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
kernel_field :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_median ()

void        gwy_data_field_filter_median    (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
size :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_mean ()

void        gwy_data_field_filter_mean      (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
size :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_conservative ()

void        gwy_data_field_filter_conservative
                                            (GwyDataField *data_field,
                                             gint size,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
size :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_laplacian ()

void        gwy_data_field_filter_laplacian (GwyDataField *data_field,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_sobel ()

void        gwy_data_field_filter_sobel     (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
orientation :
ulcol :
ulrow :
brcol :
brrow :

gwy_data_field_filter_prewitt ()

void        gwy_data_field_filter_prewitt   (GwyDataField *data_field,
                                             GtkOrientation orientation,
                                             gint ulcol,
                                             gint ulrow,
                                             gint brcol,
                                             gint brrow);

data_field :
orientation :
ulcol :
ulrow :
brcol :
brrow :