![]() | ![]() | Gwyddion Data Processing Library Reference Manual | ![]() |
---|
dwtdwt — Discrete Wavelet Transform |
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 : |
<< cwt | filters >> |