OpenMS
LayerDataIonMobility Class Reference

Class that stores the data for one layer of type IonMobility. More...

#include <OpenMS/VISUAL/LayerDataIonMobility.h>

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

Public Types

using PeakType = Mobilogram::PeakType
 
- Public Types inherited from LayerDataBase
using RangeAllType = RangeManager< RangeRT, RangeMZ, RangeIntensity, RangeMobility >
 
- Public Types inherited from LayerDataDefs
enum  DataType {
  DT_PEAK , DT_CHROMATOGRAM , DT_FEATURE , DT_CONSENSUS ,
  DT_IDENT , DT_UNKNOWN
}
 
enum  Flags {
  F_HULL , F_HULLS , F_UNASSIGNED , P_PRECURSORS ,
  P_PROJECTIONS , C_ELEMENTS , I_PEPTIDEMZ , I_LABELS ,
  SIZE_OF_FLAGS
}
 Flags that determine which information is shown. More...
 
enum  LabelType {
  L_NONE , L_INDEX , L_META_LABEL , L_ID ,
  L_ID_ALL , SIZE_OF_LABEL_TYPE
}
 Label used in visualization. More...
 
typedef FeatureMap FeatureMapType
 Features. More...
 
typedef boost::shared_ptr< FeatureMapFeatureMapSharedPtrType
 SharedPtr on feature map. More...
 
typedef ConsensusMap ConsensusMapType
 consensus features More...
 
typedef boost::shared_ptr< ConsensusMapConsensusMapSharedPtrType
 SharedPtr on consensus features. More...
 
typedef PeakMap ExperimentType
 Main data type (experiment) More...
 
typedef boost::shared_ptr< ExperimentTypeExperimentSharedPtrType
 SharedPtr on MSExperiment. More...
 
typedef boost::shared_ptr< const ExperimentTypeConstExperimentSharedPtrType
 
typedef boost::shared_ptr< OnDiscMSExperimentODExperimentSharedPtrType
 SharedPtr on On-Disc MSExperiment. More...
 
typedef boost::shared_ptr< OSWDataOSWDataSharedPtrType
 SharedPtr on OSWData. More...
 

Public Member Functions

 LayerDataIonMobility ()
 Default constructor. More...
 
 LayerDataIonMobility (const LayerDataIonMobility &ld)
 Copy-ctor. More...
 
LayerDataIonMobilityoperator= (const LayerDataIonMobility &ld)=delete
 no assignment operator (should not be needed) More...
 
std::unique_ptr< Painter2DBasegetPainter2D () const override
 Obtain a painter which can draw the layer on a 2D canvas. More...
 
std::unique_ptr< LayerData1DBaseto1DLayer () const override
 Create a shallow copy (i.e. shared experimental data using shared_ptr) of the current layer, and make it 1D (i.e. support showing a single spec/chrom etc) More...
 
std::unique_ptr< LayerStoreDatastoreVisibleData (const RangeAllType &visible_range, const DataFilters &layer_filters) const override
 Returns a visitor which contains the current visible data and can write the data to disk. More...
 
std::unique_ptr< LayerStoreDatastoreFullData () const override
 Returns a visitor which contains the the full data of the layer and can write the data to disk in the appropriate format (e.g. mzML) More...
 
ProjectionData getProjection (const DIM_UNIT unit_x, const DIM_UNIT unit_y, const RangeAllType &area) const override
 
PeakIndex findHighestDataPoint (const RangeAllType &) const override
 Find the datapoint with the highest intensity within the given range and return a proxy to that datapoint. More...
 
void updateRanges () override
 Update ranges of the underlying data. More...
 
RangeAllType getRange () const override
 
void setMobilityData (const Mobilogram &mobilogram)
 
const MobilogramgetMobilogram (Size index) const
 
PointXYType peakIndexToXY (const PeakIndex &peak, const DimMapper< 2 > &mapper) const override
 Convert a PeakIndex to a XY coordinate (via mapper). More...
 
String getDataArrayDescription (const PeakIndex &peak_index) override
 Get name and value of all data-arrays corresponding to the given datapoint. More...
 
std::unique_ptr< LayerStatisticsgetStats () const override
 Compute layer statistics (via visitor) More...
 
- Public Member Functions inherited from LayerDataBase
 LayerDataBase ()=delete
 Default constructor (for virtual inheritance) More...
 
 LayerDataBase (const DataType type)
 C'tor for child classes. More...
 
 LayerDataBase (const LayerDataBase &ld)=default
 Copy-C'tor. More...
 
LayerDataBaseoperator= (const LayerDataBase &ld)=delete
 Assignment operator. More...
 
 LayerDataBase (LayerDataBase &&ld)=delete
 
LayerDataBaseoperator= (LayerDataBase &&ld)=delete
 Move assignment – deleted, by same argument as for move c'tor. More...
 
virtual ~LayerDataBase ()=default
 D'tor. More...
 
virtual PeakIndex findClosestDataPoint (const RangeAllType &area) const
 Find the closest datapoint within the given range and return a proxy to that datapoint. More...
 
virtual bool annotate (const std::vector< PeptideIdentification > &identifications, const std::vector< ProteinIdentification > &protein_identifications)
 
float getMinIntensity () const
 Returns the minimum intensity of the internal data, depending on type. More...
 
float getMaxIntensity () const
 Returns the maximum intensity of the internal data, depending on type. More...
 
const StringgetName () const
 The name of the layer, usually the basename of the file. More...
 
void setName (const String &new_name)
 Set the name of the layer, usually the basename of the file. More...
 
const StringgetNameSuffix () const
 get the extra annotation to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D More...
 
void setNameSuffix (const String &decorator)
 set an extra annotation as suffix to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D More...
 
virtual String getDecoratedName () const
 get name augmented with attributes, e.g. '*' if modified More...
 

Protected Attributes

Mobilogram single_mobilogram_
 a single mobilogram (for now) – see class description More...
 

Additional Inherited Members

- Public Attributes inherited from LayerDataBase
std::bitset< SIZE_OF_FLAGSflags
 Actual state of each flag. More...
 
bool visible = true
 if this layer is visible More...
 
DataType type = DT_UNKNOWN
 data type (peak or feature data, etc) More...
 
String filename
 file name of the file the data comes from (if available) More...
 
Param param
 Layer parameters. More...
 
MultiGradient gradient
 Gradient for 2D and 3D views. More...
 
DataFilters filters
 Filters to apply before painting. More...
 
bool modifiable = false
 Flag that indicates if the layer data can be modified (so far used for features only) More...
 
bool modified = false
 Flag that indicates that the layer data was modified since loading it. More...
 
LabelType label = L_NONE
 Label type. More...
 
int peptide_id_index = -1
 Selected peptide id and hit index (-1 if none is selected) More...
 
int peptide_hit_index = -1
 
- Static Public Attributes inherited from LayerDataDefs
static const std::string NamesOfLabelType [SIZE_OF_LABEL_TYPE]
 Label names. More...
 

Detailed Description

Class that stores the data for one layer of type IonMobility.

FIXME: currently we only store a single mobilogram, since this is what is required to show a projection in 2D View. If there is another application, feel free to implement a surrounding container (don't use vector<Mobilogram>, do it properly! :)).

Member Typedef Documentation

◆ PeakType

Constructor & Destructor Documentation

◆ LayerDataIonMobility() [1/2]

Default constructor.

◆ LayerDataIonMobility() [2/2]

Copy-ctor.

Member Function Documentation

◆ findHighestDataPoint()

PeakIndex findHighestDataPoint ( const RangeAllType area) const
inlineoverridevirtual

Find the datapoint with the highest intensity within the given range and return a proxy to that datapoint.

Parameters
areaRange to search in. Only dimensions used in the canvas are populated.
Returns
A proxy (e.g. scan + peak index in an MSExperiment) which points to the data

Reimplemented from LayerDataBase.

◆ getDataArrayDescription()

String getDataArrayDescription ( const PeakIndex peak_index)
overridevirtual

Get name and value of all data-arrays corresponding to the given datapoint.

Empty (or shorter) data-arrays are skipped.

Parameters
peak_indexThe datapoint
Returns
A string, e.g. "fwhm: 20, im: 3.3", depending on which float/string dataarrays are populated for the given datapoint

Reimplemented from LayerDataBase.

◆ getMobilogram()

const Mobilogram& getMobilogram ( Size  index) const
inline

◆ getPainter2D()

std::unique_ptr<Painter2DBase> getPainter2D ( ) const
overridevirtual

Obtain a painter which can draw the layer on a 2D canvas.

Returns
A painter

Implements LayerDataBase.

◆ getProjection()

ProjectionData getProjection ( const DIM_UNIT  unit_x,
const DIM_UNIT  unit_y,
const RangeAllType area 
) const
overridevirtual

Calculate a projection of the current layer for the given unit and the given area. E.g. the area might be restricted in RT and m/z, and then requested projection should return the XIC (unit == RT) It is up to the implementation to decide on binning.

Implements LayerDataBase.

◆ getRange()

RangeAllType getRange ( ) const
inlineoverridevirtual

Returns the data range of the whole layer (i.e. all scans/chroms/etc) in all known dimensions. If a layer does not support the dimension (or the layer is empty) the dimension will be empty If you need the data range for a 1D view (i.e. only a single spec/chrom/etc), call 'LayerDataBase1D::getRange1D()'

Implements LayerDataBase.

References RangeManager< RangeBases >::assign().

Referenced by LayerData1DIonMobility::getRange().

◆ getStats()

std::unique_ptr<LayerStatistics> getStats ( ) const
overridevirtual

Compute layer statistics (via visitor)

Implements LayerDataBase.

◆ operator=()

LayerDataIonMobility& operator= ( const LayerDataIonMobility ld)
delete

no assignment operator (should not be needed)

◆ peakIndexToXY()

PointXYType peakIndexToXY ( const PeakIndex peak,
const DimMapper< 2 > &  mapper 
) const
overridevirtual

Convert a PeakIndex to a XY coordinate (via mapper).

Parameters
peakThe Peak to convert
mapperConverts the internal representation (e.g. Peak1D) to an XY coordinate
Returns
XY coordinate in data units (e.g. X=m/z, Y=intensity)

Implements LayerDataBase.

◆ setMobilityData()

void setMobilityData ( const Mobilogram mobilogram)
inline

◆ storeFullData()

std::unique_ptr<LayerStoreData> storeFullData ( ) const
overridevirtual

Returns a visitor which contains the the full data of the layer and can write the data to disk in the appropriate format (e.g. mzML)

Reimplemented from LayerDataBase.

◆ storeVisibleData()

std::unique_ptr<LayerStoreData> storeVisibleData ( const RangeAllType ,
const DataFilters  
) const
overridevirtual

Returns a visitor which contains the current visible data and can write the data to disk.

Reimplemented from LayerDataBase.

◆ to1DLayer()

std::unique_ptr<LayerData1DBase> to1DLayer ( ) const
overridevirtual

Create a shallow copy (i.e. shared experimental data using shared_ptr) of the current layer, and make it 1D (i.e. support showing a single spec/chrom etc)

Returns
A new layer for 1D

Implements LayerDataBase.

◆ updateRanges()

void updateRanges ( )
inlineoverridevirtual

Update ranges of the underlying data.

Implements LayerDataBase.

Referenced by LayerData1DIonMobility::updateRanges().

Member Data Documentation

◆ single_mobilogram_

Mobilogram single_mobilogram_
protected

a single mobilogram (for now) – see class description