OpenMS
FeatureFinder Class Reference

The main feature finder class. More...

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

Inheritance diagram for FeatureFinder:
[legend]
Collaboration diagram for FeatureFinder:
[legend]

Public Member Functions

 FeatureFinder ()
 Default constructor. More...
 
 ~FeatureFinder () override
 Destructor. More...
 
void run (const String &algorithm_name, PeakMap &input_map, FeatureMap &features, const Param &param, const FeatureMap &seeds)
 Executes the FeatureFinder using the given algorithm. More...
 
const FlaggetPeakFlag (const IndexPair &index) const
 Returns a non-mutable reference to a peak flag. More...
 
FlaggetPeakFlag (const IndexPair &index)
 Returns mutable reference to a peak flag. More...
 
Param getParameters (const String &algorithm_name) const
 Returns the default parameters for the algorithm with name algorithm_name. More...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (const ProgressLogger &other)
 Assignment Operator. More...
 
void setLogType (LogType type) const
 Sets the progress log that should be used. The default type is NONE! More...
 
LogType getLogType () const
 Returns the type of progress log being used. More...
 
void startProgress (SignedSize begin, SignedSize end, const String &label) const
 Initializes the progress display. More...
 
void setProgress (SignedSize value) const
 Sets the current progress. More...
 
void endProgress (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Protected Attributes

std::vector< std::vector< Flag > > flags_
 Container for flags attached to input data. More...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. More...
 
- Public Types inherited from FeatureFinderDefs
enum  Flag { UNUSED , USED }
 Flags that indicate if a peak is already used in a feature. More...
 
typedef IsotopeCluster::IndexPair IndexPair
 Index to peak consisting of two UInts (scan index / peak index) More...
 
typedef IsotopeCluster::ChargedIndexSet ChargedIndexSet
 Index to peak consisting of two UInts (scan index / peak index) with charge information. More...
 
typedef IsotopeCluster::IndexSet IndexSet
 A set of peak indices. More...
 
- Static Protected Member Functions inherited from ProgressLogger
static String logTypeToFactoryName_ (LogType type)
 Return the name of the factory product used for this log type. More...
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

The main feature finder class.

  • Stores the flags for (indices of) data points ("used", "unused")
  • The algorithm itself is a factory product (derived from FeatureFinderAlgorithm)
  • The main method is run(), which is a template so that we can deal with different types of input and output
  • The run() method takes five arguments: algorithm_name, input_map, output, parameters, seeds

Constructor & Destructor Documentation

◆ FeatureFinder()

Default constructor.

◆ ~FeatureFinder()

~FeatureFinder ( )
override

Destructor.

Member Function Documentation

◆ getParameters()

Param getParameters ( const String algorithm_name) const

Returns the default parameters for the algorithm with name algorithm_name.

◆ getPeakFlag() [1/2]

Flag& getPeakFlag ( const IndexPair index)
inline

Returns mutable reference to a peak flag.

◆ getPeakFlag() [2/2]

const Flag& getPeakFlag ( const IndexPair index) const
inline

Returns a non-mutable reference to a peak flag.

◆ run()

void run ( const String algorithm_name,
PeakMap input_map,
FeatureMap features,
const Param param,
const FeatureMap seeds 
)

Executes the FeatureFinder using the given algorithm.

There are several constraints for the input_map. They are tested before the algorithm starts. It must only contain MS 1 level scans and you have to call updateRanges() before passing it to this method. The input map is sorted by RT & m/z if that's not the case. Furthermore we throw an Exception if the data contains negative m/z values, as this will disturb most algorithms.

Parameters
algorithm_nameName of the feature finding algorithm to use
input_mapInput peak map
featuresOutput feature map
paramAlgorithm parameters
seedsList of seeds to use

Implemented in FeatureFinder_impl.h

Member Data Documentation

◆ flags_

std::vector<std::vector<Flag> > flags_
protected

Container for flags attached to input data.