|  | OpenMS
    2.6.0
    | 
This class provides the two-dimensional optimization of the picked peak parameters. More...
#include <OpenMS/TRANSFORMATIONS/RAW2PEAK/TwoDOptimization.h>
| Classes | |
| struct | Data | 
| Helper struct (contains the size of an area and a raw data container)  More... | |
| class | TwoDOptFunctor | 
| Public Member Functions | |
| TwoDOptimization () | |
| Constructor.  More... | |
| TwoDOptimization (const TwoDOptimization &opt) | |
| Copy constructor.  More... | |
| ~TwoDOptimization () override | |
| Destructor.  More... | |
| TwoDOptimization & | operator= (const TwoDOptimization &opt) | 
| Assignment operator.  More... | |
| double | getMZTolerance () const | 
| Non-mutable access to the matching epsilon.  More... | |
| void | setMZTolerance (double tolerance_mz) | 
| Mutable access to the matching epsilon.  More... | |
| double | getMaxPeakDistance () const | 
| Non-mutable access to the maximal peak distance in a cluster.  More... | |
| void | setMaxPeakDistance (double max_peak_distance) | 
| Mutable access to the maximal peak distance in a cluster.  More... | |
| UInt | getMaxIterations () const | 
| Non-mutable access to the maximal number of iterations.  More... | |
| void | setMaxIterations (UInt max_iteration) | 
| Mutable access to the maximal number of iterations.  More... | |
| const OptimizationFunctions::PenaltyFactorsIntensity & | getPenalties () const | 
| Non-mutable access to the minimal number of adjacent scans.  More... | |
| void | setPenalties (OptimizationFunctions::PenaltyFactorsIntensity &penalties) | 
| Mutable access to the minimal number of adjacent scans.  More... | |
| template<typename InputSpectrumIterator > | |
| void | optimize (InputSpectrumIterator first, InputSpectrumIterator last, PeakMap &ms_exp, bool real2D=true) | 
| Find two dimensional peak clusters and optimize their peak parameters.  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 ¶m) | 
| 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... | |
| Protected Member Functions | |
| Auxiliary Functions for the search of matching regions | |
| std::vector< double >::iterator | searchInScan_ (std::vector< double >::iterator scan_begin, std::vector< double >::iterator scan_end, double current_mz) | 
| template<typename InputSpectrumIterator > | |
| void | optimizeRegions_ (InputSpectrumIterator &first, InputSpectrumIterator &last, PeakMap &ms_exp) | 
| template<typename InputSpectrumIterator > | |
| void | optimizeRegionsScanwise_ (InputSpectrumIterator &first, InputSpectrumIterator &last, PeakMap &ms_exp) | 
| template<typename InputSpectrumIterator > | |
| void | getRegionEndpoints_ (PeakMap &exp, InputSpectrumIterator &first, InputSpectrumIterator &last, Size iso_map_idx, double noise_level, TwoDOptimization::Data &d) | 
| Get the indices of the first and last raw data point of this region.  More... | |
| void | findMatchingPeaks_ (std::multimap< double, IsotopeCluster >::iterator &it, PeakMap &ms_exp) | 
| Identify matching peak in a peak cluster.  More... | |
| void | updateMembers_ () override | 
| update members method from DefaultParamHandler to update the members  More... | |
|  Protected Member Functions inherited from DefaultParamHandler | |
| void | defaultsToParam_ () | 
| Updates the parameters after the defaults have been set in the constructor.  More... | |
| Protected Attributes | |
| std::multimap< double, IsotopeCluster > | iso_map_ | 
| stores the retention time of each isotopic cluster  More... | |
| std::multimap< double, IsotopeCluster >::const_iterator | curr_region_ | 
| Pointer to the current region.  More... | |
| double | max_peak_distance_ | 
| upper bound for distance between two peaks belonging to the same region  More... | |
| double | tolerance_mz_ | 
| threshold for the difference in the peak position of two matching peaks  More... | |
| std::map< Int, std::vector< PeakIndex > > | matching_peaks_ | 
| Indices of peaks in the adjacent scans matching peaks in the scan with no. ref_scan.  More... | |
| UInt | max_iteration_ | 
| Convergence Parameter: Maximal number of iterations.  More... | |
| bool | real_2D_ | 
| Optimization considering all scans of a cluster or optimization of each scan separately.  More... | |
| OptimizationFunctions::PenaltyFactorsIntensity | penalties_ | 
| Penalty factors for some parameters in the optimization.  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... | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from DefaultParamHandler | |
| static void | writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &prefix="") | 
| Writes all parameters to meta values.  More... | |
This class provides the two-dimensional optimization of the picked peak parameters.
Given the picked peaks, this class optimizes the peak parameters of each isotope pattern using a non-linear optimization. The peaks of adjacent scans are adjusted to achieve that a peak occurring in several scans has always the same m/z position. For the optimization the Levenberg-Marquardt algorithm provided from the Eigen is used. The optimized parameters are the m/z values, the left and right width, which shall be equal for a peak in all scans, and the peaks' heights.
| Name | Type | Default | Restrictions | Description | 
|---|---|---|---|---|
| iterations | int | 10 | maximal number of iterations for the fitting step | |
| penalties:position | float | 0.0 | If the position changes more than 0.2Da during the fitting it can be penalized | |
| penalties:height | float | 1.0 | penalty term for the fitting of the intensity:If it gets negative during the fitting it can be penalized. | |
| penalties:left_width | float | 0.0 | penalty term for the fitting of the left width:If the left width gets too broad or negative during the fitting it can be penalized. | |
| penalties:right_width | float | 0.0 | penalty term for the fitting of the right width:If the right width gets too broad or negative during the fitting it can be penalized. | |
| 2d:tolerance_mz | float | 2.2 | mz tolerance for cluster construction | |
| 2d:max_peak_distance | float | 1.2 | maximal peak distance in mz in a cluster | 
| struct OpenMS::TwoDOptimization::Data | 
Helper struct (contains the size of an area and a raw data container)
| Class Members | ||
|---|---|---|
| multimap< double, IsotopeCluster >::iterator | iso_map_iter | |
| map< Int, vector< PeakIndex > > | matching_peaks | |
| PenaltyFactorsIntensity | penalties | |
| PeakMap | picked_peaks | |
| vector< double > | positions | |
| ConstIterator | raw_data_first | |
| vector< double > | signal | |
| vector< pair< SignedSize, SignedSize > > | signal2D | |
| Size | total_nr_peaks | |
| TwoDOptimization | ( | ) | 
Constructor.
| TwoDOptimization | ( | const TwoDOptimization & | opt | ) | 
Copy constructor.
| 
 | inlineoverride | 
Destructor.
| 
 | protected | 
Identify matching peak in a peak cluster.
Referenced by TwoDOptimization::optimizeRegions_().
| 
 | inline | 
Non-mutable access to the maximal number of iterations.
| 
 | inline | 
Non-mutable access to the maximal peak distance in a cluster.
| 
 | inline | 
Non-mutable access to the matching epsilon.
| 
 | inline | 
Non-mutable access to the minimal number of adjacent scans.
| 
 | protected | 
Get the indices of the first and last raw data point of this region.
References TwoDOptimization::iso_map_, MSExperiment::RTBegin(), MSSpectrum::setRT(), TwoDOptimization::Data::signal2D, and MSExperiment::size().
Referenced by TwoDOptimization::optimizeRegions_(), and TwoDOptimization::optimizeRegionsScanwise_().
| TwoDOptimization& operator= | ( | const TwoDOptimization & | opt | ) | 
Assignment operator.
| void optimize | ( | InputSpectrumIterator | first, | 
| InputSpectrumIterator | last, | ||
| PeakMap & | ms_exp, | ||
| bool | real2D = true | ||
| ) | 
Find two dimensional peak clusters and optimize their peak parameters.
| first | begin of the raw data spectra iterator range | 
| last | end of the raw data spectra iterator range | 
| ms_exp | peak map corresponding to the raw data in the range from firsttolast | 
| real2D | flag if the optimization should be two dimensional or on each scan separately | 
| Exception::IllegalArgument | is thrown if required meta information from peak picking is missing (area, shape, left width, right width) or if the input data is invalid in some other way | 
References MSExperiment::begin(), IsotopeCluster::ChargedIndexSet::charge, TwoDOptimization::curr_region_, MSExperiment::empty(), MSExperiment::end(), seqan::find(), Param::getValue(), TwoDOptimization::iso_map_, TwoDOptimization::max_peak_distance_, TwoDOptimization::optimizeRegions_(), TwoDOptimization::optimizeRegionsScanwise_(), DefaultParamHandler::param_, IsotopeCluster::peaks, TwoDOptimization::real_2D_, IsotopeCluster::scans, TwoDOptimization::searchInScan_(), MSSpectrum::setRT(), and MSExperiment::size().
| 
 | protected | 
Performs 2D optimization of all regions
References TwoDOptimization::findMatchingPeaks_(), TwoDOptimization::getRegionEndpoints_(), TwoDOptimization::iso_map_, TwoDOptimization::Data::iso_map_iter, OpenMS::Constants::k, PeakShape::LORENTZ_PEAK, TwoDOptimization::Data::matching_peaks, TwoDOptimization::matching_peaks_, TwoDOptimization::Data::penalties, TwoDOptimization::penalties_, TwoDOptimization::Data::picked_peaks, TwoDOptimization::Data::raw_data_first, TwoDOptimization::Data::signal2D, and TwoDOptimization::Data::total_nr_peaks.
Referenced by TwoDOptimization::optimize().
| 
 | protected | 
Performs an optimization of all regions by calling OptimizePick
References MSSpectrum::getFloatDataArrays(), TwoDOptimization::getRegionEndpoints_(), Param::getValue(), PeakShape::height, TwoDOptimization::iso_map_, TwoDOptimization::Data::iso_map_iter, PeakShape::left_width, PeakShape::LORENTZ_PEAK, PenaltyFactors::lWidth, PeakShape::mz_position, OptimizePick::optimize(), DefaultParamHandler::param_, TwoDOptimization::Data::picked_peaks, PenaltyFactors::pos, OptimizePick::Data::positions, TwoDOptimization::Data::raw_data_first, PeakShape::right_width, PenaltyFactors::rWidth, OptimizePick::Data::signal, and TwoDOptimization::Data::signal2D.
Referenced by TwoDOptimization::optimize().
| 
 | protected | 
Referenced by TwoDOptimization::optimize().
| 
 | inline | 
Mutable access to the maximal number of iterations.
| 
 | inline | 
Mutable access to the maximal peak distance in a cluster.
| 
 | inline | 
Mutable access to the matching epsilon.
| 
 | inline | 
Mutable access to the minimal number of adjacent scans.
References PenaltyFactorsIntensity::height, PenaltyFactors::lWidth, PenaltyFactors::pos, and PenaltyFactors::rWidth.
| 
 | overrideprotectedvirtual | 
update members method from DefaultParamHandler to update the members
Reimplemented from DefaultParamHandler.
| 
 | protected | 
Pointer to the current region.
Referenced by TwoDOptimization::optimize().
| 
 | protected | 
stores the retention time of each isotopic cluster
Referenced by TwoDOptimization::getRegionEndpoints_(), TwoDOptimization::optimize(), TwoDOptimization::optimizeRegions_(), and TwoDOptimization::optimizeRegionsScanwise_().
Indices of peaks in the adjacent scans matching peaks in the scan with no. ref_scan.
Referenced by TwoDOptimization::optimizeRegions_().
| 
 | protected | 
Convergence Parameter: Maximal number of iterations.
| 
 | protected | 
upper bound for distance between two peaks belonging to the same region
Referenced by TwoDOptimization::optimize().
| 
 | protected | 
Penalty factors for some parameters in the optimization.
Referenced by TwoDOptimization::optimizeRegions_().
| 
 | protected | 
Optimization considering all scans of a cluster or optimization of each scan separately.
Referenced by TwoDOptimization::optimize().
| 
 | protected | 
threshold for the difference in the peak position of two matching peaks
 1.8.16
 1.8.16