![]() |
TurboWavelets.Net
Compact C# Implementation for very fast and flexible wavelet transformations
|
A abstract basis class which provides common functionality for different implementations of a "2D Wavelet transformation". More...
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) |
A abstract basis class which provides common functionality for different implementations of a "2D Wavelet transformation".
Definition at line 58 of file Wavelet2D.cs.
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".
minSize | minimum size up to a transformation is applied (can be set arbitrary) |
allowedMinSize | minimum size up to a transformation can be applied (implementation depended) |
width | starting width of the transformation |
height | starting height of the transformation |
ArgumentException |
Definition at line 133 of file Wavelet2D.cs.
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.
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.
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)
ArgumentException |
Definition at line 718 of file Wavelet2D.cs.
void TurboWavelets.Wavelet2D.FlushCache | ( | ) |
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
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)
src | 2d float array on which should be used as source for the transformation |
dst | 2d float array on which should be used as destination for the transformation |
x | index of the row which should be transformed |
length | number 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)
src | 2d float array on which should be used as source for the transformation |
dst | 2d float array on which should be used as destination for the transformation |
y | index of the row which should be transformed |
length | number 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.
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)
src | 2d float array on which should be used as source for the transformation |
dst | 2d float array on which should be used as destination for the transformation |
x | index of the row which should be transformed |
length | number 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.
src | two dimensional float array to perform the the wavelet transformation on |
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)
src | 2d float array on which should be used as source for the transformation |
dst | 2d float array on which should be used as destination for the transformation |
y | index of the row which should be transformed |
length | number of entries to transform |
Reimplemented in TurboWavelets.Biorthogonal53Wavelet2D, TurboWavelets.HaarWavelet2D, and TurboWavelets.OrderWavelet2D.
Definition at line 503 of file Wavelet2D.cs.
int TurboWavelets.Wavelet2D.height [protected] |
Height of the wavelet transformation.
Definition at line 72 of file Wavelet2D.cs.
int TurboWavelets.Wavelet2D.minSize [protected] |
min. size for horizontal and vertical transformation
Definition at line 76 of file Wavelet2D.cs.
int TurboWavelets.Wavelet2D.width [protected] |
Width of the wavelet transformation.
Definition at line 68 of file Wavelet2D.cs.
bool TurboWavelets.Wavelet2D.EnableCaching [get, set] |
enables or disables caching of memory (disabled by default)
Definition at line 172 of file Wavelet2D.cs.
bool TurboWavelets.Wavelet2D.EnableParallel [get, set] |
enables or disables parallel execution (enabled by default)
Definition at line 187 of file Wavelet2D.cs.
int TurboWavelets.Wavelet2D.Height [get] |
returns the height for the two dimensional wavelet transformation
Definition at line 163 of file Wavelet2D.cs.
int TurboWavelets.Wavelet2D.Width [get] |
returns the width for the two dimensional wavelet transformation
Definition at line 154 of file Wavelet2D.cs.