OpenMS
LayerDataFeature Class Reference

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

#include <OpenMS/VISUAL/LayerDataFeature.h>

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

Public Member Functions

 LayerDataFeature ()
 Default constructor. More...
 
 LayerDataFeature (const LayerDataFeature &ld)=delete
 no Copy-ctor (should not be needed) More...
 
LayerDataFeatureoperator= (const LayerDataFeature &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, const DIM_UNIT, const RangeAllType &) const override
 
PeakIndex findHighestDataPoint (const RangeAllType &area) const override
 Find the datapoint with the highest intensity within the given range and return a proxy to that datapoint. More...
 
PointXYType peakIndexToXY (const PeakIndex &peak, const DimMapper< 2 > &mapper) const override
 Convert a PeakIndex to a XY coordinate (via mapper). More...
 
void updateRanges () override
 Update ranges of the underlying data. More...
 
RangeAllType getRange () const override
 
std::unique_ptr< LayerStatisticsgetStats () const override
 Compute layer statistics (via visitor) More...
 
bool annotate (const std::vector< PeptideIdentification > &identifications, const std::vector< ProteinIdentification > &protein_identifications) override
 
const PepIdsgetPeptideIds () const override
 get the peptide IDs for this layer More...
 
PepIdsgetPeptideIds () override
 
void setPeptideIds (const PepIds &ids) override
 overwrite the peptide IDs for this layer More...
 
void setPeptideIds (PepIds &&ids) override
 
const FeatureMapSharedPtrTypegetFeatureMap () const
 Returns a const reference to the current feature data. More...
 
FeatureMapSharedPtrTypegetFeatureMap ()
 Returns a const reference to the current feature data. 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 &) const
 Find the closest datapoint within the given range and return a proxy to that datapoint. More...
 
virtual String getDataArrayDescription (const PeakIndex &)
 Get name and value of all data-arrays corresponding to the given datapoint. More...
 
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

FeatureMapSharedPtrType features_ = FeatureMapSharedPtrType(new FeatureMapType())
 feature data More...
 

Additional Inherited Members

- 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 Types inherited from IPeptideIds
using PepIds = std::vector< PeptideIdentification >
 
- 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 FeatureMap.

Constructor & Destructor Documentation

◆ LayerDataFeature() [1/2]

Default constructor.

◆ LayerDataFeature() [2/2]

LayerDataFeature ( const LayerDataFeature ld)
delete

no Copy-ctor (should not be needed)

Member Function Documentation

◆ annotate()

bool annotate ( const std::vector< PeptideIdentification > &  identifications,
const std::vector< ProteinIdentification > &  protein_identifications 
)
overridevirtual

add peptide identifications to the layer Only supported for DT_PEAK, DT_FEATURE and DT_CONSENSUS. Will return false otherwise.

Reimplemented from LayerDataBase.

◆ findHighestDataPoint()

PeakIndex findHighestDataPoint ( const RangeAllType ) const
overridevirtual

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.

◆ getFeatureMap() [1/2]

FeatureMapSharedPtrType& getFeatureMap ( )
inline

Returns a const reference to the current feature data.

◆ getFeatureMap() [2/2]

const FeatureMapSharedPtrType& getFeatureMap ( ) const
inline

Returns a const reference to the current feature data.

◆ 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.

◆ getPeptideIds() [1/2]

const PepIds& getPeptideIds ( ) const
inlineoverridevirtual

get the peptide IDs for this layer

Implements IPeptideIds.

◆ getPeptideIds() [2/2]

PepIds& getPeptideIds ( )
inlineoverridevirtual

Implements IPeptideIds.

◆ getProjection()

ProjectionData getProjection ( const  unit_x,
const  unit_y,
const RangeAllType area 
) const
inlineoverridevirtual

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().

◆ getStats()

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

Compute layer statistics (via visitor)

Implements LayerDataBase.

◆ operator=()

LayerDataFeature& operator= ( const LayerDataFeature 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.

◆ setPeptideIds() [1/2]

void setPeptideIds ( const PepIds ids)
inlineoverridevirtual

overwrite the peptide IDs for this layer

Implements IPeptideIds.

◆ setPeptideIds() [2/2]

void setPeptideIds ( PepIds &&  ids)
inlineoverridevirtual

Implements IPeptideIds.

◆ 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
inlineoverridevirtual

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.

Member Data Documentation

◆ features_

feature data