Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

SimpleExtender Class Template Reference

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/SimpleExtender.h>

Inheritance diagram for SimpleExtender:

FeaFiModule FeatureFinderDefs DefaultParamHandler

List of all members.


Detailed Description

template<class PeakType, class FeatureType>
class OpenMS::SimpleExtender< PeakType, FeatureType >

Implements the extension phase of the FeatureFinder as described by Groepl et al. (2005).

We want to determine a region around a seed that is provided by the seeder. Initially, this region is empty. The boundary of this region is implemented using a MutablePriorityQueue which contains only the seed at the beginning.

At each step, we choose a data point from the boundary, move it into the region and explore the neigbourhood of this point in a cross-wise manner (m/z up, m/z down, rt up and rt down). During this exploration we compute the priority of all encountered points as a function of the distance from the extracted point. If this priority exceeds a threshold, we insert the corresponding point into the boundary and proceed.

We stop the extension phase if all peaks contained in the boundary have an intensity lower than a threshold or are too distant from the centroid of the feature.

SimpleExtender.png

SimpleExtender Parameters are explained on a separate page.

Public Types

typedef FeaFiModule< PeakType,
FeatureType > 
Base
typedef Base::IntensityType IntensityType
 Intensity of a data point.
typedef Base::CoordinateType CoordinateType
 Coordinates of a point (m/z and rt).
typedef DoubleReal ProbabilityType
 Priority of a point (see below).

Public Member Functions

 SimpleExtender (const MSExperiment< PeakType > *map, FeatureMap< FeatureType > *features, FeatureFinder *ff)
 Constructor.
virtual ~SimpleExtender ()
 destructor
void extend (const ChargedIndexSet &seed_region, ChargedIndexSet &result_region)
 return next seed

Protected Member Functions

virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParam() method.
void writeDebugFile_ (const std::vector< IndexPair > &peaks, UInt nr_feat)
 write DTA2D debug file for the feature with index nr_feat
bool isTooFarFromCentroid_ (const IndexPair &index)
 Checks if the current peak is too far from the centroid.
void moveMzUp_ (const IndexPair &index)
 Extends the seed into positive m/z direction.
void moveMzDown_ (const IndexPair &index)
 Extends the seed into negative m/z direction.
void moveRtUp_ (const IndexPair &index)
 Extension into positive rt dimension.
void moveRtDown_ (const IndexPair &index)
 Extends the seed into negative retention time direction.
ProbabilityType computePeakPriority_ (const IndexPair &index)
 Computes the priority of a peak as function of intensity and distance from seed.
void checkNeighbour_ (const IndexPair &index)
 Checks the neighbours of the current for insertion into the boundary.

Protected Attributes

Math::AveragePosition< 2 > running_avg_
 keeps an running average of the peak coordinates weighted by the intensities
std::map< IndexPair,
ProbabilityType
priorities_
 Keeps track of peaks already included in the boundary (value is priority of peak).
DPosition< 2 > last_pos_extracted_
 Position of last peak extracted from the boundary (used to compute the priority of neighbouring peaks).
std::priority_queue
< IndexWithPriority,
std::vector
< IndexWithPriority >,
typename
IndexWithPriority::PriorityLess
boundary_
 Represents the boundary of a feature.
IntensityType intensity_threshold_
 Mininum intensity of a boundary point. Calculated from 'intensity_factor' and the seed intensity.
CoordinateType dist_mz_up_
 Maximum distance to seed in positive m/z.
CoordinateType dist_mz_down_
 Maximum distance to seed in negative m/z.
CoordinateType dist_rt_up_
 Maximum distance to seed in positive retention time.
CoordinateType dist_rt_down_
 Maximum distance to seed in negative retention time.
ProbabilityType priority_threshold_
 Minium priority for points in the feature region (priority is function of intensity and distance to seed).
ChargedIndexSet region_
 charged index set

Private Member Functions

 SimpleExtender ()
 Not implemented.
SimpleExtenderoperator= (const SimpleExtender &)
 Not implemented.
 SimpleExtender (const SimpleExtender &)
 Not implemented.

Classes

struct  IndexWithPriority
 A helper structure to sort indizes by their priority. More...


Member Typedef Documentation

typedef FeaFiModule<PeakType,FeatureType> Base

typedef Base::IntensityType IntensityType

Intensity of a data point.

Reimplemented from FeaFiModule.

typedef Base::CoordinateType CoordinateType

Coordinates of a point (m/z and rt).

Reimplemented from FeaFiModule.

typedef DoubleReal ProbabilityType

Priority of a point (see below).


Constructor & Destructor Documentation

SimpleExtender ( const MSExperiment< PeakType > *  map,
FeatureMap< FeatureType > *  features,
FeatureFinder ff 
) [inline]

Constructor.

virtual ~SimpleExtender (  )  [inline, virtual]

destructor

SimpleExtender (  )  [private]

Not implemented.

SimpleExtender ( const SimpleExtender< PeakType, FeatureType > &   )  [private]

Not implemented.


Member Function Documentation

void extend ( const ChargedIndexSet seed_region,
ChargedIndexSet result_region 
) [inline]

return next seed

virtual void updateMembers_ (  )  [inline, protected, virtual]

This method is used to update extra member variables at the end of the setParam() method.

Also call it at the end of the derived classes' copy constructor and assignment operator.

The default implementation is empty.

Reimplemented from DefaultParamHandler.

void writeDebugFile_ ( const std::vector< IndexPair > &  peaks,
UInt  nr_feat 
) [inline, protected]

write DTA2D debug file for the feature with index nr_feat

bool isTooFarFromCentroid_ ( const IndexPair index  )  [inline, protected]

Checks if the current peak is too far from the centroid.

void moveMzUp_ ( const IndexPair index  )  [inline, protected]

Extends the seed into positive m/z direction.

void moveMzDown_ ( const IndexPair index  )  [inline, protected]

Extends the seed into negative m/z direction.

void moveRtUp_ ( const IndexPair index  )  [inline, protected]

Extension into positive rt dimension.

void moveRtDown_ ( const IndexPair index  )  [inline, protected]

Extends the seed into negative retention time direction.

ProbabilityType computePeakPriority_ ( const IndexPair index  )  [inline, protected]

Computes the priority of a peak as function of intensity and distance from seed.

void checkNeighbour_ ( const IndexPair index  )  [inline, protected]

Checks the neighbours of the current for insertion into the boundary.

SimpleExtender& operator= ( const SimpleExtender< PeakType, FeatureType > &   )  [private]

Not implemented.


Member Data Documentation

Math::AveragePosition<2> running_avg_ [protected]

keeps an running average of the peak coordinates weighted by the intensities

std::map<IndexPair, ProbabilityType> priorities_ [protected]

Keeps track of peaks already included in the boundary (value is priority of peak).

DPosition<2> last_pos_extracted_ [protected]

Position of last peak extracted from the boundary (used to compute the priority of neighbouring peaks).

std::priority_queue< IndexWithPriority, std::vector < IndexWithPriority > , typename IndexWithPriority::PriorityLess > boundary_ [protected]

Represents the boundary of a feature.

IntensityType intensity_threshold_ [protected]

Mininum intensity of a boundary point. Calculated from 'intensity_factor' and the seed intensity.

CoordinateType dist_mz_up_ [protected]

Maximum distance to seed in positive m/z.

CoordinateType dist_mz_down_ [protected]

Maximum distance to seed in negative m/z.

CoordinateType dist_rt_up_ [protected]

Maximum distance to seed in positive retention time.

CoordinateType dist_rt_down_ [protected]

Maximum distance to seed in negative retention time.

ProbabilityType priority_threshold_ [protected]

Minium priority for points in the feature region (priority is function of intensity and distance to seed).

ChargedIndexSet region_ [protected]

charged index set


The documentation for this class was generated from the following file:
Generated Tue Apr 1 15:36:47 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1