multirestransforms.q

This library contains several multiresolution transforms, and allows image processing algorithms to use the same interface to each of these transforms.  This has the benefit that transforms can easily be changed/combined.  The technique is always the same: first “build” your transform, as follows

[W, W_T] = build_XXXX(parameters)

where W - the forward transformation function W_T - the backward transformation function For orthogonal transforms, we have that W * W_T = I or, equivalently that W = transpose(W_T).

Summary
multirestransforms.qThis library contains several multiresolution transforms, and allows image processing algorithms to use the same interface to each of these transforms.
Functions
lincellLinearize a cell array, i.e.
build_dwtConstructs a 2D wavelet transform
build_dtcwtConstruct a 2D DT-CWT transform
build_stpBuilds a steerable pyramid transform
build_dst2dBuild a 2D shearlet transform
build_energyweighted_dst2dBuilds an energy-weighted (non-Parseval) 2D shearlet transform (in which the variance of white noise is preserved in the subbands)

Functions

lincell

Linearize a cell array, i.e. convert nested cell arrays to one 1D cell array.

function y = lincell(x)

Notes

this function only involves pointer copies, which are very fast

build_dwt

Constructs a 2D wavelet transform

function [W, W_T] = build_dwt(w, J)

Parameters

wthe wavelet filters to be used for the construction (e.g. db2,sym8,...)
Jthe number of scales
Wthe forward wavelet transform
W_Tthe inverse wavelet transform

build_dtcwt

Construct a 2D DT-CWT transform

function [W, W_T] = build_dtcwt(w1, w2, J)

Parameters

w1the wavelet filters to be used for the first scale of the DT-CWT
w2the wavelet filters to be used for the other scales
Jthe number of scales
Wthe forward complex wavelet transform
W_Tthe inverse complex wavelet transform

build_stp

Builds a steerable pyramid transform

function [S, S_H] = build_stp(sz, K, J)

Parameters

szsize of the images that have to be processed
Kthe number of orientations of the transform
Jthe number of scales of the transform

build_dst2d

Build a 2D shearlet transform

function [S, S_H] = build_dst2d(sz, K, J)

Parameters

szsize of the images that have to be processed
Kthe number of orientations of the transform
Jthe number of scales of the transform
Sthe forward shearlet transform
S_Hthe adjoint shearlet transform

Notes

In this implementation, the number of orientations is the same for all scales - so a scalar number needs to be specified for K.

build_energyweighted_dst2d

Builds an energy-weighted (non-Parseval) 2D shearlet transform (in which the variance of white noise is preserved in the subbands)

function [S, S_H] = build_energyweighted_dst2d(sz, K, J)

Parameters

szsize of the images that have to be processed
Kthe number of orientations of the transform
Jthe number of scales of the transform
Sthe forward shearlet transform
S_Hthe backward shearlet transform

Notes

S_back is actually not the adjoint of S; this is due to the normalization is being done.

Close