![]() |
![]() |
Gwyddion Data Processing Library Reference Manual | ![]() |
|
---|---|---|---|---|
enum GwyDWTType; enum GwyDWTDenoiseType; GwyDataLine* gwy_dwt_set_coefficients (GwyDataLine *dline, GwyDWTType type); GwyDataLine* gwy_dwt_plot_wavelet (GwyDataLine *dline, GwyDataLine *wt_coefs); GwyDataLine* gwy_dwt_plot_scaling_function (GwyDataLine *dline, GwyDataLine *wt_coefs); GwyDataLine* gwy_data_line_dwt (GwyDataLine *dline, GwyDataLine *wt_coefs, gint isign, gint minsize); GwyDataField* gwy_data_field_xdwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize); GwyDataField* gwy_data_field_ydwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize); GwyDataField* gwy_data_field_dwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize); GwyDataField* gwy_data_field_dwt_denoise (GwyDataField *dfield, GwyDataLine *wt_coefs, gboolean hard, gdouble multiple_threshold, GwyDWTDenoiseType type); GwyDataField* gwy_data_field_dwt_mark_anisotropy (GwyDataField *dfield, GwyDataField *mask, GwyDataLine *wt_coefs, gdouble ratio, gint lowlimit); GwyDataField* gwy_data_field_dwt_correction (GwyDataField *dfield, GwyDataField *mask, GwyDataLine *wt_coefs);
typedef enum { GWY_DWT_HAAR = 0, GWY_DWT_DAUB4 = 1, GWY_DWT_DAUB6 = 2, GWY_DWT_DAUB8 = 3, GWY_DWT_DAUB12 = 4, GWY_DWT_DAUB20 = 5 } GwyDWTType;
typedef enum { GWY_DWT_DENOISE_UNIVERSAL = 0, GWY_DWT_DENOISE_SCALE_ADAPTIVE = 1, GWY_DWT_DENOISE_SPACE_ADAPTIVE = 2 } GwyDWTDenoiseType;
GwyDataLine* gwy_dwt_set_coefficients (GwyDataLine *dline, GwyDWTType type);
Fills resampled or nely allocated GwyDataLine with wavelet coefficients.
dline : |
dataline where coefficients should be stored (allocated or NULL) |
type : |
wavelet type |
Returns : | resampled or newly allocated GwyDataLine with wavelet coefficients. |
GwyDataLine* gwy_dwt_plot_wavelet (GwyDataLine *dline, GwyDataLine *wt_coefs);
dline : |
|
wt_coefs : |
|
Returns : |
GwyDataLine* gwy_dwt_plot_scaling_function (GwyDataLine *dline, GwyDataLine *wt_coefs);
dline : |
|
wt_coefs : |
|
Returns : |
GwyDataLine* gwy_data_line_dwt (GwyDataLine *dline, GwyDataLine *wt_coefs, gint isign, gint minsize);
Performs steps of the wavelet decomposition while the smallest
low pass coefficients block is equal to minsize
. Run with
minsize
= dline
->res/2 to perform one step of decomposition
or minsize
= 4 to perform full decomposition (or anything between).
dline : |
dataline to be transformed |
wt_coefs : |
dataline where wavelet transfor coefficients are stored. |
isign : |
direction of the transform (1)...direct, (-1)...inverse |
minsize : |
size of minimal transform result block |
Returns : | transformed GwyDataLine. |
GwyDataField* gwy_data_field_xdwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize);
Performs steps of the X-direction image wavelet decomposition while the smallest
low pass coefficients block is equal to minsize
. Run with
minsize
= dfield
->xres/2 to perform one step of decomposition
or minsize
= 4 to perform full decomposition (or anything between).
dfield : |
datafield to be transformed |
wt_coefs : |
dataline where wavelet transfor coefficients are stored. |
isign : |
direction of the transform (1)...direct, (-1)...inverse |
minsize : |
size of minimal transform result block |
Returns : | transformed GwyDataField. |
GwyDataField* gwy_data_field_ydwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize);
Performs steps of the Y-direction image wavelet decomposition while the smallest
low pass coefficients block is equal to minsize
. Run with
minsize
= dfield
->yres/2 to perform one step of decomposition
or minsize
= 4 to perform full decomposition (or anything between).
dfield : |
datafield to be transformed |
wt_coefs : |
dataline where wavelet transfor coefficients are stored. |
isign : |
direction of the transform (1)...direct, (-1)...inverse |
minsize : |
size of minimal transform result block |
Returns : | transformed GwyDataField. |
GwyDataField* gwy_data_field_dwt (GwyDataField *dfield, GwyDataLine *wt_coefs, gint isign, gint minsize);
Performs steps of the 2D image wavelet decomposition while the smallest
low pass coefficients block is equal to minsize
. Run with
minsize
= dfield
->xres/2 to perform one step of decomposition
or minsize
= 4 to perform full decomposition (or anything between).
dfield : |
datafield to be transformed (square) |
wt_coefs : |
dataline where wavelet transfor coefficients are stored. |
isign : |
direction of the transform (1)...direct, (-1)...inverse |
minsize : |
size of minimal transform result block |
Returns : | transformed GwyDataField. |
GwyDataField* gwy_data_field_dwt_denoise (GwyDataField *dfield, GwyDataLine *wt_coefs, gboolean hard, gdouble multiple_threshold, GwyDWTDenoiseType type);
Performs wavelet denoising base on threshold obtained from noise variance (obtained from high scale wvelet coefficients). This threshold can be multiplied by user defined value.
dfield : |
datafield to be transformed (square) |
wt_coefs : |
dataline where wavelet transfor coefficients are stored. |
hard : |
whether to apply hard thresholding |
multiple_threshold : |
multiply it by value different from zero to change threshold |
type : |
type of thresholding |
Returns : | denoised GwyDataField. |
GwyDataField* gwy_data_field_dwt_mark_anisotropy (GwyDataField *dfield, GwyDataField *mask, GwyDataLine *wt_coefs, gdouble ratio, gint lowlimit);
dfield : |
|
mask : |
|
wt_coefs : |
|
ratio : |
|
lowlimit : |
|
Returns : |
GwyDataField* gwy_data_field_dwt_correction (GwyDataField *dfield, GwyDataField *mask, GwyDataLine *wt_coefs);
dfield : |
|
mask : |
|
wt_coefs : |
|
Returns : |