| OpenMS 2.5.0

Public Member Functions | Static Public Member Functions | List of all members
PoseClusteringAffineSuperimposer Class Reference
Analysis » MapAlignment

A superimposer that uses a voting scheme, also known as pose clustering, to find a good affine transformation. More...

`#include <OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.h>`

Inheritance diagram for PoseClusteringAffineSuperimposer:

## Public Member Functions

| PoseClusteringAffineSuperimposer ()
| Default ctor. More...
| ~PoseClusteringAffineSuperimposer () override
| Destructor. More...
void | run (const ConsensusMap &map_model, const ConsensusMap &map_scene, TransformationDescription &transformation) override
| Estimates the transformation and fills the given mapping function. (Has a precondition!) More...
virtual void | run (const std::vector< Peak2D > &map_model, const std::vector< Peak2D > &map_scene, TransformationDescription &transformation)
| Perform alignment on vector of 1D peaks. More...
Public Member Functions inherited from BaseSuperimposer
| BaseSuperimposer ()
| Constructor. More...
| ~BaseSuperimposer () override
| Destructor. More...
Public Member Functions inherited from DefaultParamHandler
| DefaultParamHandler (const String &name)
| Constructor with name that is displayed in error messages. More...
| DefaultParamHandler (const DefaultParamHandler &rhs)
| Copy constructor. More...
virtual | ~DefaultParamHandler ()
| Destructor. More...
virtual DefaultParamHandler & | operator= (const DefaultParamHandler &rhs)
| Assignment operator. More...
virtual bool | operator== (const DefaultParamHandler &rhs) const
| Equality operator. More...
void | setParameters (const Param &param)
| Sets the parameters. More...
const Param & | getParameters () const
| Non-mutable access to the parameters. More...
const Param & | getDefaults () const
| Non-mutable access to the default parameters. More...
const String & | getName () const
| Non-mutable access to the name. More...
void | setName (const String &name)
| Mutable access to the name. More...
const std::vector< String > & | getSubsections () const
| Non-mutable access to the registered subsections. More...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (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 () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) More...

## Static Public Member Functions

static BaseSuperimposer * | create ()
| Returns an instance of this class. More...
static const String | getProductName ()
| Returns the name of this module. More...
Static Public Member Functions inherited from BaseSuperimposer
static void | registerChildren ()
| Register all derived classes here. More...

## Additional Inherited Members

Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Protected Member Functions inherited from DefaultParamHandler
virtual void | updateMembers_ ()
| This method is used to update extra member variables at the end of the setParameters() method. More...
void | defaultsToParam_ ()
| Updates the parameters after the defaults have been set in the constructor. 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...
Protected Attributes inherited from DefaultParamHandler
Param | param_
| Container for current parameters. More...
Param | defaults_
| Container for default parameters. This member should be filled in the constructor of derived classes! More...
std::vector< String > | subsections_
| Container for registered subsections. This member should be filled in the constructor of derived classes! More...
String | error_name_
| Name that is displayed in error messages during the parameter checking. More...
bool | check_defaults_
| If this member is set to false no checking if parameters in done;. More...
bool | warn_empty_defaults_
| If this member is set to false no warning is emitted when defaults are empty;. More...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

A superimposer that uses a voting scheme, also known as pose clustering, to find a good affine transformation.

This algorithm works on two consensus maps. It computes an affine transformation that maps the elements of second map as near as possible to the elements in the first map.

The voting scheme hashes affine transformations between pairs of features in map one and pairs of features in map two. Each such pair of pairs defines a (potential) "pose" of the second map relative to the first. Then it finds a cluster in the parameter space of these poses. The affine transformation is then computed from this cluster of potential poses, hence the name pose clustering.

See also
  PoseClusteringShiftSuperimposer

Parameters of this class are:

Name | Type | Default | Restrictions | Description
--- | --- | --- | --- | ---
mz_pair_max_distance | float | 0.5 | min: 0.0 | Maximum of m/z deviation of corresponding elements in different maps. This condition applies to the pairs considered in hashing.
rt_pair_distance_fraction | float | 0.1 | min: 0.0 max: 1.0 | Within each of the two maps, the pairs considered for pose clustering must be separated by at least this fraction of the total elution time interval (i.e., max - min).
num_used_points | int | 2000 | min: -1 | Maximum number of elements considered in each map (selected by intensity). Use this to reduce the running time and to disregard weak signals during alignment. For using all points, set this to -1.
scaling_bucket_size | float | 0.005 | min: 0.0 | The scaling of the retention time interval is being hashed into buckets of this size during pose clustering. A good choice for this would be a bit smaller than the error you would expect from repeated runs.
shift_bucket_size | float | 3.0 | min: 0.0 | The shift at the lower (respectively, higher) end of the retention time interval is being hashed into buckets of this size during pose clustering. A good choice for this would be about the time between consecutive MS scans.
max_shift | float | 1000.0 | min: 0.0 | Maximal shift which is considered during histogramming (in seconds). This applies for both directions.
max_scaling | float | 2.0 | min: 1.0 | Maximal scaling which is considered during histogramming. The minimal scaling is the reciprocal of this.
dump_buckets | string |  |  | [DEBUG] If non-empty, base filename where hash table buckets will be dumped to. A serial number for each invocation will be appended automatically.
dump_pairs | string |  |  | [DEBUG] If non-empty, base filename where the individual hashed pairs will be dumped to (large!). A serial number for each invocation will be appended automatically.

Note:

- If a section name is documented, the documentation is displayed as tooltip.
- Advanced parameter names are italic.

## Constructor & Destructor Documentation

## ◆ PoseClusteringAffineSuperimposer()

PoseClusteringAffineSuperimposer | ( |  | ) |

Default ctor.

## ◆ ~PoseClusteringAffineSuperimposer()

~PoseClusteringAffineSuperimposer | ( |  | ) |

inline override

Destructor.

## Member Function Documentation

## ◆ create()

static BaseSuperimposer* create | ( |  | ) |

inline static

Returns an instance of this class.

## ◆ getProductName()

static const String getProductName | ( |  | ) |

inline static

Returns the name of this module.

## ◆ run() [1/2]

void run | ( | const ConsensusMap & | map_model,
|  | const ConsensusMap & | map_scene,
|  | TransformationDescription & | transformation
| ) |  |

override virtual

Estimates the transformation and fills the given mapping function. (Has a precondition!)

Note
  Exactly two input maps must be given.

Precondition
  For performance reasons, we trust that (the equivalent of:)

`maps[0].updateRanges(); maps[1].updateRanges();`

has been done before calling this. You have been warned!

Parameters

  map_model | The model map (first input map)
  map_scene | The scene map (second input map)
  transformation | The output affine transformation (linear model transforming the scene map onto the model map)

Exceptions

  IllegalArgument | is thrown if the input maps are invalid.

Implements BaseSuperimposer.

## ◆ run() [2/2]

virtual void run | ( | const std::vector< Peak2D > & | map_model,
|  | const std::vector< Peak2D > & | map_scene,
|  | TransformationDescription & | transformation
| ) |  |

virtual

Perform alignment on vector of 1D peaks.