TurboWavelets.Net
Compact C# Implementation for very fast and flexible wavelet transformations
 All Classes Namespaces Functions Variables Properties
Public Member Functions | Protected Member Functions | Protected Attributes | Properties
TurboWavelets.Wavelet2D Class Reference

A abstract basis class which provides common functionality for different implementations of a "2D Wavelet transformation". More...

Inheritance diagram for TurboWavelets.Wavelet2D:
Inheritance graph
[legend]

List of all members.

Public Member Functions

delegate bool ProgressDelegate (float progress)
 Prototype of a delegate called to inform caller about progress and to provide possibility to abort </summary.
 Wavelet2D (int minSize, int allowedMinSize, int width, int height)
 Initalizes a two dimensional wavelet cascade transformation. By the transformation the data is split up in a high- and a low-pass. The low-pass data is repeatedly transformed again until the horizontal or vertical length reaches "minSize".
void FlushCache ()
 Frees all cached memory.
virtual void TransformIsotropic2D (float[,] src, ProgressDelegate progressDelegate=null)
 Perfroms a two dimensional isotropic wavelet transformation for an array. The result is copied back to the declared array.
virtual void BacktransformIsotropic2D (float[,] src, ProgressDelegate progressDelegate=null)
 Perfroms a two dimensional isotropic wavelet transformation for an array. The result is copied back to the declared array.
virtual void ScaleCoefficients (float[,] src, float[] scaleFactors, int gridSize, ProgressDelegate progressDelegate=null)
 Scales the n (length of the scaleFactors array) greatest coefficinets (for a defined grid size) by the value declared in scaleFactors.
virtual void CropCoefficients (float[,] src, int n, int gridSize, ProgressDelegate progressDelegate=null)
 Set all but the greatest n coefficient to zero in the defined grid size.
virtual void CropCoefficients (float[,] src, float minAbsoluteValue, ProgressDelegate progressDelegate=null)
 Set all coefficient with an absolute value smaller then "minAbsoluteValue" to zero (deadzone)
virtual void getCoefficientsRange (float[,] src, out float min, out float max, ProgressDelegate progressDelegate=null)
 get the minimum and maximum amplitude (absolute values) of all coefficient values

Protected Member Functions

float[,] getTempArray ()
 Provides a temporary 2D float array with the in the constructor declared dimensions.
virtual void TransformRow (float[,] src, float[,] dst, int y, int length)
 Performs a single horizontal transformation (transformation of a single row)
virtual void TransformCol (float[,] src, float[,] dst, int x, int length)
 Performs a single vertical transformation (transformation of a single column)
virtual void InvTransformRow (float[,] src, float[,] dst, int y, int length)
 Performs a single inverse horizontal transformation (transformation of a single row)
virtual void InvTransformCol (float[,] src, float[,] dst, int x, int length)
 Performs a single inverse vertical transformation (transformation of a single column)

Protected Attributes

int width
 Width of the wavelet transformation.
int height
 Height of the wavelet transformation.
int minSize
 min. size for horizontal and vertical transformation
int allowedMinSize
 The allowed minimum value for minSize (limitation of the algorithmn implementation) </supmmary>

Properties

int Width [get]
 returns the width for the two dimensional wavelet transformation
int Height [get]
 returns the height for the two dimensional wavelet transformation
bool EnableCaching [get, set]
 enables or disables caching of memory (disabled by default)
bool EnableParallel [get, set]
 enables or disables parallel execution (enabled by default)

Detailed Description

A abstract basis class which provides common functionality for different implementations of a "2D Wavelet transformation".

Definition at line 58 of file Wavelet2D.cs.


Constructor & Destructor Documentation

TurboWavelets.Wavelet2D.Wavelet2D ( int  minSize,
int  allowedMinSize,
int  width,
int  height 
)

Initalizes a two dimensional wavelet cascade transformation. By the transformation the data is split up in a high- and a low-pass. The low-pass data is repeatedly transformed again until the horizontal or vertical length reaches "minSize".

Parameters:
minSizeminimum size up to a transformation is applied (can be set arbitrary)
allowedMinSizeminimum size up to a transformation can be applied (implementation depended)
widthstarting width of the transformation
heightstarting height of the transformation
Exceptions:
ArgumentException

Definition at line 133 of file Wavelet2D.cs.


Member Function Documentation

virtual void TurboWavelets.Wavelet2D.BacktransformIsotropic2D ( float  src[,],
ProgressDelegate  progressDelegate = null 
) [virtual]

Perfroms a two dimensional isotropic wavelet transformation for an array. The result is copied back to the declared array.

Exceptions:
ArgumentException

Definition at line 653 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.CropCoefficients ( float  src[,],
int  n,
int  gridSize,
ProgressDelegate  progressDelegate = null 
) [virtual]

Set all but the greatest n coefficient to zero in the defined grid size.

Exceptions:
ArgumentException

Definition at line 707 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.CropCoefficients ( float  src[,],
float  minAbsoluteValue,
ProgressDelegate  progressDelegate = null 
) [virtual]

Set all coefficient with an absolute value smaller then "minAbsoluteValue" to zero (deadzone)

Exceptions:
ArgumentException

Definition at line 718 of file Wavelet2D.cs.

Frees all cached memory.

Definition at line 199 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.getCoefficientsRange ( float  src[,],
out float  min,
out float  max,
ProgressDelegate  progressDelegate = null 
) [virtual]

get the minimum and maximum amplitude (absolute values) of all coefficient values

Exceptions:
ArgumentException

Definition at line 756 of file Wavelet2D.cs.

float [,] TurboWavelets.Wavelet2D.getTempArray ( ) [protected]

Provides a temporary 2D float array with the in the constructor declared dimensions.

Definition at line 268 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.InvTransformCol ( float  src[,],
float  dst[,],
int  x,
int  length 
) [protected, virtual]

Performs a single inverse vertical transformation (transformation of a single column)

Parameters:
src2d float array on which should be used as source for the transformation
dst2d float array on which should be used as destination for the transformation
xindex of the row which should be transformed
lengthnumber of entries to transform

Reimplemented in TurboWavelets.Biorthogonal53Wavelet2D, TurboWavelets.HaarWavelet2D, and TurboWavelets.OrderWavelet2D.

Definition at line 539 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.InvTransformRow ( float  src[,],
float  dst[,],
int  y,
int  length 
) [protected, virtual]

Performs a single inverse horizontal transformation (transformation of a single row)

Parameters:
src2d float array on which should be used as source for the transformation
dst2d float array on which should be used as destination for the transformation
yindex of the row which should be transformed
lengthnumber of entries to transform

Reimplemented in TurboWavelets.Biorthogonal53Wavelet2D, TurboWavelets.HaarWavelet2D, and TurboWavelets.OrderWavelet2D.

Definition at line 527 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.ScaleCoefficients ( float  src[,],
float[]  scaleFactors,
int  gridSize,
ProgressDelegate  progressDelegate = null 
) [virtual]

Scales the n (length of the scaleFactors array) greatest coefficinets (for a defined grid size) by the value declared in scaleFactors.

Exceptions:
ArgumentException

Definition at line 690 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.TransformCol ( float  src[,],
float  dst[,],
int  x,
int  length 
) [protected, virtual]

Performs a single vertical transformation (transformation of a single column)

Parameters:
src2d float array on which should be used as source for the transformation
dst2d float array on which should be used as destination for the transformation
xindex of the row which should be transformed
lengthnumber of entries to transform

Reimplemented in TurboWavelets.Biorthogonal53Wavelet2D, TurboWavelets.HaarWavelet2D, and TurboWavelets.OrderWavelet2D.

Definition at line 515 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.TransformIsotropic2D ( float  src[,],
ProgressDelegate  progressDelegate = null 
) [virtual]

Perfroms a two dimensional isotropic wavelet transformation for an array. The result is copied back to the declared array.

Parameters:
srctwo dimensional float array to perform the the wavelet transformation on
Exceptions:
ArgumentException

Definition at line 629 of file Wavelet2D.cs.

virtual void TurboWavelets.Wavelet2D.TransformRow ( float  src[,],
float  dst[,],
int  y,
int  length 
) [protected, virtual]

Performs a single horizontal transformation (transformation of a single row)

Parameters:
src2d float array on which should be used as source for the transformation
dst2d float array on which should be used as destination for the transformation
yindex of the row which should be transformed
lengthnumber of entries to transform

Reimplemented in TurboWavelets.Biorthogonal53Wavelet2D, TurboWavelets.HaarWavelet2D, and TurboWavelets.OrderWavelet2D.

Definition at line 503 of file Wavelet2D.cs.


Member Data Documentation

Height of the wavelet transformation.

Definition at line 72 of file Wavelet2D.cs.

min. size for horizontal and vertical transformation

Definition at line 76 of file Wavelet2D.cs.

Width of the wavelet transformation.

Definition at line 68 of file Wavelet2D.cs.


Property Documentation

enables or disables caching of memory (disabled by default)

Definition at line 172 of file Wavelet2D.cs.

enables or disables parallel execution (enabled by default)

Definition at line 187 of file Wavelet2D.cs.

returns the height for the two dimensional wavelet transformation

Definition at line 163 of file Wavelet2D.cs.

returns the width for the two dimensional wavelet transformation

Definition at line 154 of file Wavelet2D.cs.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Properties