#include <BALL/NMR/spectrum.h>
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< PeakType > | getSticks () const |
virtual double | getAbsIntegral () const |
virtual void | computeHuInvariants () |
virtual vector< float > | computeHuInvariantsDifferences (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 DataType & | getData () const |
DataType & | getData () |
const vector< float > & | getHuInvariants () const |
vector< float > & | getHuInvariants () |
Public Attributes | |
std::vector< float > | normal_moments |
precomputed normal moments | |
std::vector< float > | central_moments |
precomputed central moments | |
std::vector< float > | standardized_moments |
precomputed standardized moments | |
Protected Attributes | |
DataType | data_ |
std::vector< PeakType > | sticks_ |
PositionType | spacing_ |
PositionType | min_ |
PositionType | max_ |
std::vector< float > | Hu_invariants_ |
A generic NMR spectrum class.
Definition at line 48 of file spectrum.h.
typedef DataT::ConstIterator BALL::Spectrum< DataT, PeakT, PositionT >::ConstIterator |
A constant iterator.
Definition at line 64 of file spectrum.h.
typedef DataT BALL::Spectrum< DataT, PeakT, PositionT >::DataType |
typedef DataT::Iterator BALL::Spectrum< DataT, PeakT, PositionT >::Iterator |
An iterator.
Definition at line 62 of file spectrum.h.
typedef PeakT BALL::Spectrum< DataT, PeakT, PositionT >::PeakType |
The peak type.
Definition at line 60 of file spectrum.h.
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.
BALL::Spectrum< DataT, PeakT, PositionT >::Spectrum | ( | ) | [inline] |
Constructors and Destructor
Definition at line 71 of file spectrum.h.
BALL::Spectrum< DataT, PeakT, PositionT >::Spectrum | ( | const DataType & | data | ) | [inline] |
Definition at line 79 of file spectrum.h.
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.
virtual BALL::Spectrum< DataT, PeakT, PositionT >::~Spectrum | ( | ) | [inline, virtual] |
Destructor
Definition at line 92 of file spectrum.h.
void BALL::Spectrum< DataT, PeakT, PositionT >::binaryRead | ( | const String & | filename | ) |
This function requires that DataT has a binaryRead method.
void BALL::Spectrum< DataT, PeakT, PositionT >::binaryWrite | ( | const String & | filename | ) |
This function requires that DataT has a binaryWrite method.
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.
void BALL::Spectrum< DataT, PeakT, PositionT >::clearSticks | ( | ) | [inline, virtual] |
Definition at line 179 of file spectrum.h.
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::computeAllMoments | ( | int | moment_number | ) | [virtual] |
void BALL::Spectrum< DataT, PeakT, PositionT >::computeHuInvariants | ( | ) | [inline, virtual] |
Definition at line 295 of file spectrum.h.
vector< float > BALL::Spectrum< DataT, PeakT, PositionT >::computeHuInvariantsDifferences | ( | vector< Spectrum< DataT, PeakT, PositionT > > & | spectra | ) | [inline, virtual] |
Definition at line 302 of file spectrum.h.
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::convertToGaussian | ( | ) | [virtual] |
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::convertToLorentzian | ( | ) | [virtual] |
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.
virtual Spectrum<DataT, PeakT, PositionT> BALL::Spectrum< DataT, PeakT, PositionT >::differenceSpectrum | ( | const Spectrum< DataT, PeakT, PositionT > & | spectrum | ) | [virtual] |
virtual double BALL::Spectrum< DataT, PeakT, PositionT >::earthMoversDistance | ( | const Spectrum< DataT, PeakT, PositionT > & | spectrum | ) | const [virtual] |
virtual double BALL::Spectrum< DataT, PeakT, PositionT >::getAbsIntegral | ( | ) | const [virtual] |
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.
DataT & BALL::Spectrum< DataT, PeakT, PositionT >::getData | ( | ) | [inline] |
Definition at line 272 of file spectrum.h.
const DataT & BALL::Spectrum< DataT, PeakT, PositionT >::getData | ( | ) | const [inline] |
Definition at line 266 of file spectrum.h.
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.
vector< float > & BALL::Spectrum< DataT, PeakT, PositionT >::getHuInvariants | ( | ) | [inline] |
Definition at line 287 of file spectrum.h.
const vector< float > & BALL::Spectrum< DataT, PeakT, PositionT >::getHuInvariants | ( | ) | const [inline] |
Definition at line 281 of file spectrum.h.
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.
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.
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.
virtual std::vector<PeakType> BALL::Spectrum< DataT, PeakT, PositionT >::getSticks | ( | ) | const [inline, virtual] |
Definition at line 123 of file spectrum.h.
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::setSpacing | ( | const PositionType & | spacing | ) | [virtual] |
virtual void BALL::Spectrum< DataT, PeakT, PositionT >::setSticks | ( | std::vector< PeakType > | sticks | ) | [inline, virtual] |
Definition at line 122 of file spectrum.h.
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::central_moments |
precomputed central moments
Definition at line 149 of file spectrum.h.
DataType BALL::Spectrum< DataT, PeakT, PositionT >::data_ [protected] |
Definition at line 160 of file spectrum.h.
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::Hu_invariants_ [protected] |
Definition at line 165 of file spectrum.h.
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::max_ [protected] |
Definition at line 164 of file spectrum.h.
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::min_ [protected] |
Definition at line 163 of file spectrum.h.
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::normal_moments |
precomputed normal moments
Definition at line 147 of file spectrum.h.
PositionType BALL::Spectrum< DataT, PeakT, PositionT >::spacing_ [protected] |
Definition at line 162 of file spectrum.h.
std::vector<float> BALL::Spectrum< DataT, PeakT, PositionT >::standardized_moments |
precomputed standardized moments
Definition at line 151 of file spectrum.h.
std::vector<PeakType> BALL::Spectrum< DataT, PeakT, PositionT >::sticks_ [protected] |
Definition at line 161 of file spectrum.h.