dwt

dwt — Discrete Wavelet Transform

Synopsis




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

Description

Details

enum GwyDWTType

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;


enum GwyDWTDenoiseType

typedef enum {
    GWY_DWT_DENOISE_UNIVERSAL = 0,
    GWY_DWT_DENOISE_SCALE_ADAPTIVE = 1,
    GWY_DWT_DENOISE_SPACE_ADAPTIVE = 2
} GwyDWTDenoiseType;


gwy_dwt_set_coefficients ()

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.

gwy_dwt_plot_wavelet ()

GwyDataLine* gwy_dwt_plot_wavelet           (GwyDataLine *dline,
                                             GwyDataLine *wt_coefs);

dline :
wt_coefs :
Returns :

gwy_dwt_plot_scaling_function ()

GwyDataLine* gwy_dwt_plot_scaling_function  (GwyDataLine *dline,
                                             GwyDataLine *wt_coefs);

dline :
wt_coefs :
Returns :

gwy_data_line_dwt ()

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.

gwy_data_field_xdwt ()

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.

gwy_data_field_ydwt ()

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.

gwy_data_field_dwt ()

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.

gwy_data_field_dwt_denoise ()

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.

gwy_data_field_dwt_mark_anisotropy ()

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 :

gwy_data_field_dwt_correction ()

GwyDataField* gwy_data_field_dwt_correction (GwyDataField *dfield,
                                             GwyDataField *mask,
                                             GwyDataLine *wt_coefs);

dfield :
mask :
wt_coefs :
Returns :