dwt

dwt — Discrete Wavelet Transform

Synopsis

#include <libprocess/gwyprocess.h>

GwyDataLine *       gwy_dwt_set_coefficients            (GwyDataLine *dline,
                                                         GwyDWTType type);
void                gwy_data_line_dwt                   (GwyDataLine *dline,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);
void                gwy_data_field_xdwt                 (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);
void                gwy_data_field_ydwt                 (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);
void                gwy_data_field_dwt                  (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);
void                gwy_data_field_dwt_mark_anisotropy  (GwyDataField *dfield,
                                                         GwyDataField *mask,
                                                         GwyDataLine *wt_coefs,
                                                         gdouble ratio,
                                                         gint lowlimit);

Description

Details

gwy_dwt_set_coefficients ()

GwyDataLine *       gwy_dwt_set_coefficients            (GwyDataLine *dline,
                                                         GwyDWTType type);

Fills resampled or nely allocated data line with wavelet coefficients.

dline :

Data line to store wavelet coefficients to (or NULL to allocate a new one).

type :

Wavelet type.

Returns :

resampled or newly allocated GwyDataLine with wavelet coefficients.

gwy_data_line_dwt ()

void                gwy_data_line_dwt                   (GwyDataLine *dline,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);

Performs steps of the wavelet decomposition.

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 :

Data line to be transformed, it must have at least four samples.

wt_coefs :

Data line where the wavelet transform coefficients are stored.

direction :

Transform direction.

minsize :

size of minimal transform result block

gwy_data_field_xdwt ()

void                gwy_data_field_xdwt                 (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);

Performs steps of the X-direction image wavelet decomposition.

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 :

Data field to be transformed.

wt_coefs :

Data line where the wavelet transform coefficients are stored.

direction :

Transform direction.

minsize :

size of minimal transform result block

gwy_data_field_ydwt ()

void                gwy_data_field_ydwt                 (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);

Performs steps of the Y-direction image wavelet decomposition.

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 :

Data field to be transformed.

wt_coefs :

Data line where the wavelet transform coefficients are stored.

direction :

Transform direction.

minsize :

size of minimal transform result block

gwy_data_field_dwt ()

void                gwy_data_field_dwt                  (GwyDataField *dfield,
                                                         GwyDataLine *wt_coefs,
                                                         GwyTransformDirection direction,
                                                         gint minsize);

Performs steps of the 2D image wavelet decomposition.

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 :

Data field to be transformed (must be square).

wt_coefs :

Data line where the wavelet transform coefficients are stored.

direction :

Transform direction.

minsize :

size of minimal transform result block

gwy_data_field_dwt_mark_anisotropy ()

void                gwy_data_field_dwt_mark_anisotropy  (GwyDataField *dfield,
                                                         GwyDataField *mask,
                                                         GwyDataLine *wt_coefs,
                                                         gdouble ratio,
                                                         gint lowlimit);