Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
ContinuousWaveletTransformNumIntegration Class Reference

This class computes the continuous wavelet transformation using a marr wavelet. More...

#include <OpenMS/TRANSFORMATIONS/RAW2PEAK/ContinuousWaveletTransformNumIntegration.h>

Inheritance diagram for ContinuousWaveletTransformNumIntegration:
ContinuousWaveletTransform

Public Types

typedef ContinuousWaveletTransform::PeakConstIterator PeakConstIterator
 Raw data const iterator type. More...
 
- Public Types inherited from ContinuousWaveletTransform
typedef std::vector< Peak1D >::const_iterator PeakConstIterator
 Raw data const iterator type. More...
 

Public Member Functions

 ContinuousWaveletTransformNumIntegration ()
 Constructor. More...
 
virtual ~ContinuousWaveletTransformNumIntegration ()
 Destructor. More...
 
template<typename InputPeakIterator >
void transform (InputPeakIterator begin_input, InputPeakIterator end_input, float resolution)
 Computes the wavelet transform of a given raw data interval [begin_input,end_input) More...
 
virtual void init (double scale, double spacing)
 Perform necessary preprocessing steps like tabulating the Wavelet. More...
 
- Public Member Functions inherited from ContinuousWaveletTransform
 ContinuousWaveletTransform ()
 Constructor. More...
 
virtual ~ContinuousWaveletTransform ()
 Destructor. More...
 
const std::vector< Peak1D > & getSignal () const
 Non-mutable access to the wavelet transform of the signal. More...
 
std::vector< Peak1D > & getSignal ()
 Mutable access to the wavelet transform of the signal. More...
 
void setSignal (const std::vector< Peak1D > &signal)
 Mutable access to the wavelet transform of the signal. More...
 
const std::vector< double > & getWavelet () const
 Non-mutable access to the wavelet. More...
 
std::vector< double > & getWavelet ()
 Mutable access to the wavelet. More...
 
void setWavelet (const std::vector< double > &wavelet)
 Mutable access to the signal. More...
 
double getScale () const
 
doublegetScale ()
 Mutable access to the spacing of raw data. More...
 
void setScale (double scale)
 Mutable access to the spacing of raw data. More...
 
double getSpacing () const
 
doublegetSpacing ()
 Mutable access to the spacing of raw data. More...
 
void setSpacing (double spacing)
 Mutable access to the spacing of raw data. More...
 
SignedSize getLeftPaddingIndex () const
 Non-mutable access to the position where the signal starts (in the interval [0,end_left_padding_) are the padded zeros) More...
 
SignedSizegetLeftPaddingIndex ()
 Mutable access to the position where the signal starts. More...
 
void setLeftPaddingIndex (const SignedSize end_left_padding)
 Mutable access to position where the signal starts. More...
 
SignedSize getRightPaddingIndex () const
 Non-mutable access to the position where the signal ends (in the interval (begin_right_padding_,end] are the padded zeros) More...
 
SignedSizegetRightPaddingIndex ()
 Mutable access to the position where the signal starts. More...
 
void setRightPaddingIndex (const SignedSize begin_right_padding)
 Mutable access to position where the signal starts. More...
 
SignedSize getSignalLength () const
 Non-mutable access to signal length [end_left_padding,begin_right_padding]. More...
 
SignedSizegetSignalLength ()
 Mutable access to signal length [end_left_padding,begin_right_padding]. More...
 
void setSignalLength (const SignedSize signal_length)
 Mutable access to signal length [end_left_padding,begin_right_padding]. More...
 
int getSize () const
 Non-mutable access to signal length including padded zeros [0,end]. More...
 
double operator[] (unsigned int i)
 Yields the signal (intensity) at position i. More...
 
double operator[] (unsigned int i) const
 

Protected Member Functions

template<typename InputPeakIterator >
double integrate_ (InputPeakIterator x, InputPeakIterator first, InputPeakIterator last)
 Computes the convolution of the wavelet and the raw data at position x with resolution = 1. More...
 
double integrate_ (const std::vector< double > &processed_input, double spacing_data, int index)
 Computes the convolution of the wavelet and the raw data at position x with resolution > 1. More...
 
double marr_ (const double x) const
 Computes the Marr wavelet at position x. More...
 
- Protected Member Functions inherited from ContinuousWaveletTransform
template<typename InputPeakIterator >
double getInterpolatedValue_ (double x, InputPeakIterator it_left)
 

Additional Inherited Members

- Protected Attributes inherited from ContinuousWaveletTransform
std::vector< Peak1Dsignal_
 The transformed signal. More...
 
std::vector< doublewavelet_
 The pre-tabulated wavelet used for the transform. More...
 
double scale_
 Spacing and scale of the wavelet and length of the signal. More...
 
double spacing_
 
SignedSize signal_length_
 
SignedSize end_left_padding_
 
SignedSize begin_right_padding_
 

Detailed Description

This class computes the continuous wavelet transformation using a marr wavelet.

The convolution of the signal and the wavelet is computed by numerical integration.

Member Typedef Documentation

◆ PeakConstIterator

Raw data const iterator type.

Constructor & Destructor Documentation

◆ ContinuousWaveletTransformNumIntegration()

Constructor.

◆ ~ContinuousWaveletTransformNumIntegration()

virtual ~ContinuousWaveletTransformNumIntegration ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ init()

virtual void init ( double  scale,
double  spacing 
)
virtual

Perform necessary preprocessing steps like tabulating the Wavelet.

Build a Marr-Wavelet for the current spacing and scale. We store the wavelet in the vector<double> wavelet_;

We only need a finite amount of points since the Marr function decays fast. We take 5*scale, since at that point the wavelet has dropped to ~ -10^-4

Reimplemented from ContinuousWaveletTransform.

◆ integrate_() [1/2]

double integrate_ ( InputPeakIterator  x,
InputPeakIterator  first,
InputPeakIterator  last 
)
inlineprotected

Computes the convolution of the wavelet and the raw data at position x with resolution = 1.

References OpenMS::Math::round().

◆ integrate_() [2/2]

double integrate_ ( const std::vector< double > &  processed_input,
double  spacing_data,
int  index 
)
protected

Computes the convolution of the wavelet and the raw data at position x with resolution > 1.

◆ marr_()

double marr_ ( const double  x) const
inlineprotected

Computes the Marr wavelet at position x.

◆ transform()

void transform ( InputPeakIterator  begin_input,
InputPeakIterator  end_input,
float  resolution 
)
inline

Computes the wavelet transform of a given raw data interval [begin_input,end_input)

  • Resolution = 1: the wavelet transform will be computed at every position of the raw data,
  • Resolution = 2: the wavelet transform will be computed at 2x(number of raw data positions) positions (the raw data are interpolated to get the intensity for missing positions)
Note
The InputPeakIterator should point to a Peak1D or a class derived from Peak1D.
Before starting the transformation you have to call the init function

References OpenMS::Constants::k.


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:07 using doxygen 1.8.13