OpenMS  2.4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
TransformationDescription Class Reference

Generic description of a coordinate transformation. More...

#include <OpenMS/ANALYSIS/MAPMATCHING/TransformationDescription.h>

Public Types

typedef TransformationModel::DataPoint DataPoint
 Coordinate pair. More...
 
typedef TransformationModel::DataPoints DataPoints
 Vector of coordinate pairs. More...
 

Public Member Functions

 TransformationDescription ()
 Default constructor. More...
 
 TransformationDescription (const DataPoints &data)
 Constructor from data. More...
 
 ~TransformationDescription ()
 Destructor. More...
 
 TransformationDescription (const TransformationDescription &rhs)
 Copy constructor. More...
 
TransformationDescription & operator= (const TransformationDescription &rhs)
 Assignment operator. More...
 
void fitModel (const String &model_type, const Param &params=Param())
 Fits a model to the data. More...
 
double apply (double value) const
 Applies the transformation to value. More...
 
const String & getModelType () const
 Gets the type of the fitted model. More...
 
void setDataPoints (const DataPoints &data)
 Sets the data points. More...
 
void setDataPoints (const std::vector< std::pair< double, double > > &data)
 Sets the data points (backwards-compatible overload) More...
 
const DataPoints & getDataPoints () const
 Returns the data points. More...
 
const Param & getModelParameters () const
 Non-mutable access to the model parameters. More...
 
void invert ()
 Computes an (approximate) inverse of the transformation. More...
 
void getDeviations (std::vector< double > &diffs, bool do_apply=false, bool do_sort=true) const
 Get the deviations between the data pairs. More...
 
void printSummary (std::ostream &os=std::cout) const
 Print summary statistics for the transformation. More...
 

Static Public Member Functions

static void getModelTypes (StringList &result)
 Gets the possible types of models. More...
 

Protected Attributes

DataPoints data_
 Data points. More...
 
String model_type_
 Type of model. More...
 
TransformationModel * model_
 Pointer to model. More...
 

Detailed Description

Generic description of a coordinate transformation.

This description primarily stores data points (coordinate pairs) from which a transformation model can be estimated. Applying the transformation to a coordinate (via apply) then means evaluating the model at that coordinate.

The following models are available:

Remarks
TransformationDescription stores data points, TransformationModel stores parameters. That way, data can be modeled using different models/parameters, and models can still keep a representation of the data in the format they need (if at all).

Member Typedef Documentation

◆ DataPoint

Coordinate pair.

◆ DataPoints

Vector of coordinate pairs.

Constructor & Destructor Documentation

◆ TransformationDescription() [1/3]

Default constructor.

◆ TransformationDescription() [2/3]

TransformationDescription ( const DataPoints &  data)
explicit

Constructor from data.

◆ ~TransformationDescription()

Destructor.

◆ TransformationDescription() [3/3]

Copy constructor.

Member Function Documentation

◆ apply()

double apply ( double  value) const

Applies the transformation to value.

Returns the result of evaluating the fitted model at value. Returns value unchanged if no model was fitted.

◆ fitModel()

void fitModel ( const String &  model_type,
const Param &  params = Param() 
)

Fits a model to the data.

Referenced by SortPairDoubleByFirst().

◆ getDataPoints()

const DataPoints& getDataPoints ( ) const

Returns the data points.

◆ getDeviations()

void getDeviations ( std::vector< double > &  diffs,
bool  do_apply = false,
bool  do_sort = true 
) const

Get the deviations between the data pairs.

Parameters
diffsOutput
do_applyGet deviations after applying the model?
do_sortSort diffs before returning?

◆ getModelParameters()

const Param& getModelParameters ( ) const

Non-mutable access to the model parameters.

◆ getModelType()

const String& getModelType ( ) const

Gets the type of the fitted model.

◆ getModelTypes()

static void getModelTypes ( StringList &  result)
static

Gets the possible types of models.

◆ invert()

void invert ( )

Computes an (approximate) inverse of the transformation.

Referenced by ChromatogramExtractor::extractChromatograms().

◆ operator=()

Assignment operator.

◆ printSummary()

void printSummary ( std::ostream &  os = std::cout) const

Print summary statistics for the transformation.

◆ setDataPoints() [1/2]

void setDataPoints ( const DataPoints &  data)

Sets the data points.

Removes the model that was previously fitted to the data (if any).

◆ setDataPoints() [2/2]

void setDataPoints ( const std::vector< std::pair< double, double > > &  data)

Sets the data points (backwards-compatible overload)

Removes the model that was previously fitted to the data (if any).

Member Data Documentation

◆ data_

DataPoints data_
protected

Data points.

◆ model_

TransformationModel* model_
protected

Pointer to model.

◆ model_type_

String model_type_
protected

Type of model.