golib  0.5
goDWT< T > Class Template Reference

#include <godwt.h>

Public Member Functions

void haar (goSignal3D< T > &signal, goSignal3D< godwt_t > &targetSignal)
 
int haar (goSignal3D< T > &signal, goSignal3D< godwt_t > &targetSignal, int stage)
 
void haar (goSubSignal3D< T > &signal)
 
int haar (goSignal3D< T > &signal, int stage)
 
void unHaar (goSignal3D< godwt_t > &haarSignal, goSignal3D< T > &targetSignal)
 
void unHaar (goSubSignal3D< T > &haarSignal)
 
int unHaar (goSignal3D< T > &signal, int stage)
 

Detailed Description

template<class T>
class goDWT< T >

DWT class for 3d signals (separable, so it's for all signals dim < 4)

Author
Christian Gosch
Todo:
src/signal/godwt.cc aufraeumen
Examples
dwt.cc.

Member Function Documentation

◆ haar() [1/3]

template<class T >
void goDWT< T >::haar ( goSignal3D< T > &  signal,
goSignal3D< godwt_t > &  targetSignal 
)

Non-specialised Haar transform. Uses goDouble values for the transform,

Parameters
signalThe signal to be transformed.
targetSignalThe signal where the dwt is to be stored in. targetSignal has to be made using goSignal3D::make() in the correct size.
See also
goDWT::unHaar()

◆ haar() [2/3]

template<class T >
int goDWT< T >::haar ( goSignal3D< T > &  signal,
int  stage 
)

In place version of the Haar transform with stage stages. This is implemented for the types

  • goInt8
  • goUInt8
  • goInt16
  • goUInt16
  • goInt32
  • goUInt32
  • goFloat
  • goDouble The integer type transform is realised not as a "real" Haar transform, but as a modified S-Transform as described in B. Aiazzi et al., "Lossless compression of medical images based on an enhanced generalized multidimensional S-Transform", SPIE Vol. 2825, pp. 868–878.
    Parameters
    signalContains the signal to be transformed and after execution, contains the transform of the signal.
    stageStage up to which the transform shall be executed.

◆ haar() [3/3]

template<class T>
void goDWT< T >::haar ( goSubSignal3D< T > &  signal)

In place version of the Haar transform. There are special implementations for goFloat, goDouble, ...
Note that this can only be used for types allowing for the type of the transform to be the same as the signal itself. Currently, this is possible for goFloat and goDouble.

Parameters
signalContains the signal to be transformed and after execution, contains the transform of the signal.

◆ unHaar() [1/3]

template<class T >
void goDWT< T >::unHaar ( goSignal3D< godwt_t > &  haarSignal,
goSignal3D< T > &  targetSignal 
)

Non-specialised Haar reverse transform. Pretty slow due to a copy operation at the end.

Todo:
Remove the copy operation at the end by specialising a macro to the last filter operation. Using godwt_t types for all data is better anyway as long as it is scalar data. Use a different solution for multimodal data.
Parameters
haarSignalSignal containing the Haar transform as produced by haar()
targetSignalSignal where the reverse transform is to be stored in. Again, this has to be created before calling this member.
See also
goDWT::haar()

◆ unHaar() [2/3]

template<class T >
int goDWT< T >::unHaar ( goSignal3D< T > &  signal,
int  stage 
)
See also
haar(goSignal3D, int);

◆ unHaar() [3/3]

template<class T>
void goDWT< T >::unHaar ( goSubSignal3D< T > &  haarSignal)

In place version of the reverse Haar transform. There are special implementations for goFloat, ...


The documentation for this class was generated from the following files: