BALL::Spectrum< DataT, PeakT, PositionT > Class Template Reference
[NMR spectra and related classes]

#include <BALL/NMR/spectrum.h>

List of all members.

Public Types

typedef DataT DataType
 The datatype used to store the spectrum.
typedef PositionT PositionType
 the data type used to store a position (for peaks and data)
typedef PeakT PeakType
 The peak type.
typedef DataT::Iterator Iterator
 An iterator.
typedef DataT::ConstIterator ConstIterator
 A constant iterator.

Public Member Functions

virtual void clear ()
virtual void clearSticks ()
virtual double difference (const Spectrum< DataT, PeakT, PositionT > &spectrum) const
virtual Spectrum< DataT, PeakT,
PositionT > 
differenceSpectrum (const Spectrum< DataT, PeakT, PositionT > &spectrum)
virtual double earthMoversDistance (const Spectrum< DataT, PeakT, PositionT > &spectrum) const
virtual void convertToGaussian ()
virtual void convertToLorentzian ()
virtual void computeAllMoments (int moment_number)
virtual void setSpacing (const PositionType &spacing)
virtual PositionType getSpacing () const
virtual void setSticks (std::vector< PeakType > sticks)
virtual std::vector< PeakTypegetSticks () const
virtual double getAbsIntegral () const
virtual void computeHuInvariants ()
virtual vector< floatcomputeHuInvariantsDifferences (vector< Spectrum< DataT, PeakT, PositionT > > &spectra)
virtual double getFourierDifference (const Spectrum< DataT, PeakT, PositionT > &spectrum, float min_freq=1e6, float max_freq=-1e6)
virtual double getNormalMomentsDifference (Spectrum< DataT, PeakT, PositionT > &spectrum, int moment_number)
virtual double getCentralMomentsDifference (Spectrum< DataT, PeakT, PositionT > &spectrum, int moment_number)
virtual double getStandardizedMomentsDifference (Spectrum< DataT, PeakT, PositionT > &spectrum, int moment_number)
void binaryWrite (const String &filename)
 This function requires that DataT has a binaryWrite method.
void binaryRead (const String &filename)
 This function requires that DataT has a binaryRead method.

 Spectrum ()
 Spectrum (const DataType &data)
 Spectrum (const std::vector< PeakType > &peaks, const PositionType &origin, const PositionType &dimension, const PositionType &spacing)
virtual ~Spectrum ()
Accessors

const DataTypegetData () const
DataTypegetData ()
const vector< float > & getHuInvariants () const
vector< float > & getHuInvariants ()

Public Attributes

std::vector< floatnormal_moments
 precomputed normal moments
std::vector< floatcentral_moments
 precomputed central moments
std::vector< floatstandardized_moments
 precomputed standardized moments

Protected Attributes

DataType data_
std::vector< PeakTypesticks_
PositionType spacing_
PositionType min_
PositionType max_
std::vector< floatHu_invariants_

Detailed Description

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
class BALL::Spectrum< DataT, PeakT, PositionT >

A generic NMR spectrum class.

Definition at line 48 of file spectrum.h.


Member Typedef Documentation

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
typedef DataT::ConstIterator BALL::Spectrum< DataT, PeakT, PositionT >::ConstIterator

A constant iterator.

Definition at line 64 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
typedef DataT BALL::Spectrum< DataT, PeakT, PositionT >::DataType

The datatype used to store the spectrum.

Typedefs

Definition at line 56 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
typedef DataT::Iterator BALL::Spectrum< DataT, PeakT, PositionT >::Iterator

An iterator.

Definition at line 62 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
typedef PeakT BALL::Spectrum< DataT, PeakT, PositionT >::PeakType

The peak type.

Definition at line 60 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
typedef PositionT BALL::Spectrum< DataT, PeakT, PositionT >::PositionType

the data type used to store a position (for peaks and data)

Definition at line 58 of file spectrum.h.


Constructor & Destructor Documentation

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
BALL::Spectrum< DataT, PeakT, PositionT >::Spectrum (  )  [inline]

Constructors and Destructor

Definition at line 71 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
BALL::Spectrum< DataT, PeakT, PositionT >::Spectrum ( const DataType data  )  [inline]

Definition at line 79 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
BALL::Spectrum< DataT, PeakT, PositionT >::Spectrum ( const std::vector< PeakType > &  peaks,
const PositionType origin,
const PositionType dimension,
const PositionType spacing 
) [inline]

Definition at line 87 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual BALL::Spectrum< DataT, PeakT, PositionT >::~Spectrum (  )  [inline, virtual]

Destructor

Definition at line 92 of file spectrum.h.


Member Function Documentation

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
void BALL::Spectrum< DataT, PeakT, PositionT >::binaryRead ( const String filename  ) 

This function requires that DataT has a binaryRead method.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
void BALL::Spectrum< DataT, PeakT, PositionT >::binaryWrite ( const String filename  ) 

This function requires that DataT has a binaryWrite method.

template<typename DataT , typename PeakT , typename PositionT >
void BALL::Spectrum< DataT, PeakT, PositionT >::clear (  )  [inline, virtual]

Clear the spectrum. Sets all data to zero. // TODO: what about the spacing?

Definition at line 172 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
void BALL::Spectrum< DataT, PeakT, PositionT >::clearSticks (  )  [inline, virtual]

Definition at line 179 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::computeAllMoments ( int  moment_number  )  [virtual]
template<typename DataT , typename PeakT , typename PositionT >
void BALL::Spectrum< DataT, PeakT, PositionT >::computeHuInvariants (  )  [inline, virtual]

Definition at line 295 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
vector< float > BALL::Spectrum< DataT, PeakT, PositionT >::computeHuInvariantsDifferences ( vector< Spectrum< DataT, PeakT, PositionT > > &  spectra  )  [inline, virtual]

Definition at line 302 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::convertToGaussian (  )  [virtual]
template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::convertToLorentzian (  )  [virtual]
template<typename DataT , typename PeakT , typename PositionT >
double BALL::Spectrum< DataT, PeakT, PositionT >::difference ( const Spectrum< DataT, PeakT, PositionT > &  spectrum  )  const [inline, virtual]

Calculate the difference between two spectra.

Definition at line 189 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual Spectrum<DataT, PeakT, PositionT> BALL::Spectrum< DataT, PeakT, PositionT >::differenceSpectrum ( const Spectrum< DataT, PeakT, PositionT > &  spectrum  )  [virtual]
template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual double BALL::Spectrum< DataT, PeakT, PositionT >::earthMoversDistance ( const Spectrum< DataT, PeakT, PositionT > &  spectrum  )  const [virtual]
template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual double BALL::Spectrum< DataT, PeakT, PositionT >::getAbsIntegral (  )  const [virtual]
template<typename DataT , typename PeakT , typename PositionT >
double BALL::Spectrum< DataT, PeakT, PositionT >::getCentralMomentsDifference ( Spectrum< DataT, PeakT, PositionT > &  spectrum,
int  moment_number 
) [inline, virtual]

Definition at line 236 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
DataT & BALL::Spectrum< DataT, PeakT, PositionT >::getData (  )  [inline]

Definition at line 272 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
const DataT & BALL::Spectrum< DataT, PeakT, PositionT >::getData (  )  const [inline]

Definition at line 266 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
double BALL::Spectrum< DataT, PeakT, PositionT >::getFourierDifference ( const Spectrum< DataT, PeakT, PositionT > &  spectrum,
float  min_freq = 1e6,
float  max_freq = -1e6 
) [inline, virtual]

Computes the difference between the spectra in Fourier space. max_freq and min_freq can be used to include only a certain range into the comparison. In this case, we only use the positive frequencies (the negative ones are redundant anyhow) and assume that 0<=min_freq<max_freq<=1, where min_freq and max_freq are interpreted as percentages, e.g. calling this function with min_freq=0 and max_freq=0.5 would include the lower half of the positive frequencies.

Definition at line 310 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
vector< float > & BALL::Spectrum< DataT, PeakT, PositionT >::getHuInvariants (  )  [inline]

Definition at line 287 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
const vector< float > & BALL::Spectrum< DataT, PeakT, PositionT >::getHuInvariants (  )  const [inline]

Definition at line 281 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
double BALL::Spectrum< DataT, PeakT, PositionT >::getNormalMomentsDifference ( Spectrum< DataT, PeakT, PositionT > &  spectrum,
int  moment_number 
) [inline, virtual]

Computes the difference according to the precomputed normal moments up to moment_number. If the values have not been precomputed so far, we regenerate them.

Definition at line 221 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
Spectrum< DataT, PeakT, PositionT >::PositionType BALL::Spectrum< DataT, PeakT, PositionT >::getSpacing (  )  const [inline, virtual]

Return the spacing.

Definition at line 198 of file spectrum.h.

template<typename DataT , typename PeakT , typename PositionT >
double BALL::Spectrum< DataT, PeakT, PositionT >::getStandardizedMomentsDifference ( Spectrum< DataT, PeakT, PositionT > &  spectrum,
int  moment_number 
) [inline, virtual]

Definition at line 251 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual std::vector<PeakType> BALL::Spectrum< DataT, PeakT, PositionT >::getSticks (  )  const [inline, virtual]

Definition at line 123 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::setSpacing ( const PositionType spacing  )  [virtual]
template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::setSticks ( std::vector< PeakType sticks  )  [inline, virtual]

Definition at line 122 of file spectrum.h.


Member Data Documentation

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::central_moments

precomputed central moments

Definition at line 149 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
DataType BALL::Spectrum< DataT, PeakT, PositionT >::data_ [protected]

Definition at line 160 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::Hu_invariants_ [protected]

Definition at line 165 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::max_ [protected]

Definition at line 164 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::min_ [protected]

Definition at line 163 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::normal_moments

precomputed normal moments

Definition at line 147 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::spacing_ [protected]

Definition at line 162 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::standardized_moments

precomputed standardized moments

Definition at line 151 of file spectrum.h.

template<typename DataT, typename PeakT, typename PositionT = typename PeakT::Position>
std::vector<PeakType> BALL::Spectrum< DataT, PeakT, PositionT >::sticks_ [protected]

Definition at line 161 of file spectrum.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3