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_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*/
} 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 of size size. 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_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 :