Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Static Public Member Functions

PoseClusteringAffineSuperimposer Class Reference
[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:
BaseSuperimposer DefaultParamHandler ProgressLogger

List of all members.

Public Member Functions

 PoseClusteringAffineSuperimposer ()
 Default ctor.
virtual ~PoseClusteringAffineSuperimposer ()
 Destructor.
virtual void run (const ConsensusMap &map_model, const ConsensusMap &map_scene, TransformationDescription &transformation)
 Estimates the transformation and fills the given mapping function. (Has a precondition!).

Static Public Member Functions

static BaseSuperimposercreate ()
 Returns an instance of this class.
static const String getProductName ()
 Returns the name of this module.

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:

NameTypeDefaultRestrictionsDescription
mz_pair_max_distance float0.5 min: 0Maximum of m/z deviation of corresponding elements in different maps. This condition applies to the pairs considered in hashing.
rt_pair_distance_fraction float0.1 min: 0 max: 1Within 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 int2000 min: -1Maximum 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 float0.005 min: 0The 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 float3 min: 0The 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 float1000 min: 0Maximal shift which is considered during histogramming. This applies for both directions.
max_scaling float2 min: 1Maximal 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:

Constructor & Destructor Documentation

Default ctor.

virtual ~PoseClusteringAffineSuperimposer (  )  [inline, virtual]

Destructor.


Member Function Documentation

static BaseSuperimposer* create (  )  [inline, static]

Returns an instance of this class.

static const String getProductName (  )  [inline, static]

Returns the name of this module.

virtual void run ( const ConsensusMap map_model,
const ConsensusMap map_scene,
TransformationDescription transformation 
) [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!

Exceptions:
IllegalArgument is thrown if the input maps are invalid.

Implements BaseSuperimposer.


OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:49 using doxygen 1.7.1