OpenMS
|
Class that stores the data for one layer. More...
#include <OpenMS/VISUAL/LayerDataBase.h>
Public Member Functions | |
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... | |
LayerDataBase & | operator= (const LayerDataBase &ld)=delete |
Assignment operator. More... | |
LayerDataBase (LayerDataBase &&ld)=delete | |
LayerDataBase & | operator= (LayerDataBase &&ld)=delete |
Move assignment – deleted, by same argument as for move c'tor. More... | |
virtual | ~LayerDataBase ()=default |
D'tor. More... | |
virtual std::unique_ptr< Painter2DBase > | getPainter2D () const =0 |
Obtain a painter which can draw the layer on a 2D canvas. More... | |
virtual std::unique_ptr< LayerData1DBase > | to1DLayer () const =0 |
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... | |
virtual std::unique_ptr< LayerStoreData > | storeVisibleData (const RangeAllType &, const DataFilters &) const |
Returns a visitor which contains the current visible data and can write the data to disk. More... | |
virtual std::unique_ptr< LayerStoreData > | storeFullData () const |
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... | |
virtual ProjectionData | getProjection (const DIM_UNIT unit_x, const DIM_UNIT unit_y, const RangeAllType &area) const =0 |
virtual PeakIndex | findClosestDataPoint (const RangeAllType &) const |
Find the closest datapoint within the given range and return a proxy to that datapoint. More... | |
virtual PeakIndex | findHighestDataPoint (const RangeAllType &) const |
Find the datapoint with the highest intensity within the given range and return a proxy to that datapoint. More... | |
virtual PointXYType | peakIndexToXY (const PeakIndex &peak, const DimMapper< 2 > &mapper) const =0 |
Convert a PeakIndex to a XY coordinate (via mapper ). More... | |
virtual String | getDataArrayDescription (const PeakIndex &) |
Get name and value of all data-arrays corresponding to the given datapoint. More... | |
virtual bool | annotate (const std::vector< PeptideIdentification > &identifications, const std::vector< ProteinIdentification > &protein_identifications) |
virtual void | updateRanges ()=0 |
Update ranges of the underlying data. 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... | |
virtual RangeAllType | getRange () const =0 |
virtual std::unique_ptr< LayerStatistics > | getStats () const =0 |
Compute layer statistics (via visitor) More... | |
const String & | getName () 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 String & | getNameSuffix () 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... | |
Public Attributes | |
std::bitset< SIZE_OF_FLAGS > | flags |
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 |
Private Attributes | |
String | name_ |
layer name More... | |
String | name_suffix_ |
an extra annotation as suffix to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D More... | |
Additional Inherited Members | |
Static Public Attributes inherited from LayerDataDefs | |
static const std::string | NamesOfLabelType [SIZE_OF_LABEL_TYPE] |
Label names. More... | |
Class that stores the data for one layer.
The data for a layer can be peak data, feature data (feature, consensus), chromatogram or peptide identification data.
For 2D and 3D data, the data is generally accessible through getPeakData() while features are accessible through getFeatureMap() and getConsensusMap(). For 1D data, the current spectrum must be accessed through getCurrentSpectrum().
Peak data is stored using a shared pointer to an MSExperiment data structure as well as a shared pointer to a OnDiscMSExperiment data structure. Note that the actual data may not be in memory as this is not efficient for large files and therefore may have to be retrieved from disk on-demand.
using RangeAllType = RangeManager<RangeRT, RangeMZ, RangeIntensity, RangeMobility> |
|
delete |
Default constructor (for virtual inheritance)
|
inlineexplicit |
C'tor for child classes.
|
default |
Copy-C'tor.
|
delete |
Move-C'tor - do not move from this class since its a virtual base class (diamond problem) and the move c'tor may be called twice (which would loose data!) Instead of painstakingly writing user-defined move c'tors which check for moving for all the direct child classes, we'd rather use copy (which is the automatic fallback, and safe) and incur a small performance hit
|
virtualdefault |
D'tor.
|
virtual |
add peptide identifications to the layer Only supported for DT_PEAK, DT_FEATURE and DT_CONSENSUS. Will return false otherwise.
Reimplemented in LayerDataPeak, LayerDataFeature, and LayerDataConsensus.
|
inlinevirtual |
Find the closest datapoint within the given range and return a proxy to that datapoint.
area | Range to search in. Only dimensions used in the canvas are populated. |
Reimplemented in LayerData1DPeak, LayerData1DIonMobility, and LayerData1DChrom.
|
inlinevirtual |
Find the datapoint with the highest intensity within the given range and return a proxy to that datapoint.
area | Range to search in. Only dimensions used in the canvas are populated. |
Reimplemented in LayerDataPeak, LayerDataFeature, LayerDataConsensus, LayerDataChrom, LayerDataIonMobility, and LayerDataIdent.
Get name and value of all data-arrays corresponding to the given datapoint.
Empty (or shorter) data-arrays are skipped.
peak_index | The datapoint |
Reimplemented in LayerDataPeak, LayerDataIonMobility, and LayerDataChrom.
|
virtual |
get name augmented with attributes, e.g. '*' if modified
Reimplemented in LayerData1DBase.
Referenced by TOPPViewBase::showPlotWidgetInWindow().
float getMaxIntensity | ( | ) | const |
Returns the maximum intensity of the internal data, depending on type.
float getMinIntensity | ( | ) | const |
Returns the minimum intensity of the internal data, depending on type.
|
inline |
The name of the layer, usually the basename of the file.
Referenced by TOPPViewBase::addData(), TOPPViewBase::copyLayer(), TOPPViewBase::runTOPPTool_(), TOPPViewBase::showCurrentPeaksAsDIA(), and TOPPViewBase::showTOPPDialog_().
|
inline |
get the extra annotation to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D
|
pure virtual |
Obtain a painter which can draw the layer on a 2D canvas.
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, and LayerDataChrom.
|
pure virtual |
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.
Implemented in LayerDataFeature, LayerDataConsensus, LayerDataPeak, LayerDataIonMobility, LayerDataIdent, and LayerDataChrom.
|
pure virtual |
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()'
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, LayerDataChrom, LayerData1DIonMobility, and LayerData1DChrom.
|
pure virtual |
Compute layer statistics (via visitor)
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, and LayerDataChrom.
|
delete |
Assignment operator.
|
delete |
Move assignment – deleted, by same argument as for move c'tor.
|
pure virtual |
Convert a PeakIndex to a XY coordinate (via mapper
).
peak | The Peak to convert |
mapper | Converts the internal representation (e.g. Peak1D) to an XY coordinate |
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, and LayerDataChrom.
|
inline |
Set the name of the layer, usually the basename of the file.
|
inline |
set an extra annotation as suffix to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D
|
inlinevirtual |
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 in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, LayerDataChrom, LayerData1DPeak, LayerData1DIonMobility, and LayerData1DChrom.
Referenced by TOPPViewBase::runTOPPTool_().
|
inlinevirtual |
Returns a visitor which contains the current visible data and can write the data to disk.
Reimplemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, LayerDataChrom, LayerData1DPeak, LayerData1DIonMobility, and LayerData1DChrom.
Referenced by TOPPViewBase::runTOPPTool_().
|
pure virtual |
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)
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, and LayerDataChrom.
|
pure virtual |
Update ranges of the underlying data.
Implemented in LayerDataPeak, LayerDataIonMobility, LayerDataIdent, LayerDataFeature, LayerDataConsensus, LayerDataChrom, LayerData1DPeak, LayerData1DIonMobility, and LayerData1DChrom.
String filename |
file name of the file the data comes from (if available)
Referenced by TOPPViewBase::copyLayer(), TOPPViewBase::fileChanged_(), TOPPViewBase::showCurrentPeaksAs2D(), TOPPViewBase::showCurrentPeaksAs3D(), TOPPViewBase::showCurrentPeaksAsDIA(), and TOPPViewBase::showCurrentPeaksAsIonMobility().
DataFilters filters |
Filters to apply before painting.
Referenced by TOPPViewBase::runTOPPTool_().
std::bitset<SIZE_OF_FLAGS> flags |
Actual state of each flag.
MultiGradient gradient |
Gradient for 2D and 3D views.
Label type.
Referenced by TOPPViewBase::updateToolBar().
bool modifiable = false |
Flag that indicates if the layer data can be modified (so far used for features only)
bool modified = false |
Flag that indicates that the layer data was modified since loading it.
|
private |
layer name
|
private |
an extra annotation as suffix to the layers name, e.g. '[39]' for which chromatogram index is currently shown in 1D
Param param |
Layer parameters.
Referenced by TOPPViewBase::loadFiles().
int peptide_hit_index = -1 |
int peptide_id_index = -1 |
Selected peptide id and hit index (-1 if none is selected)
DataType type = DT_UNKNOWN |
data type (peak or feature data, etc)
Referenced by TOPPViewBase::addData(), TOPPViewBase::copyLayer(), TOPPViewBase::showCurrentPeaksAs3D(), TOPPViewBase::showTOPPDialog_(), TOPPViewBase::updateMenu(), TOPPViewBase::updateToolBar(), and TOPPViewBase::zoomOtherWindows().
bool visible = true |
if this layer is visible
Referenced by TOPPViewBase::editMetadata(), TOPPViewBase::rerunTOPPTool(), and TOPPViewBase::showTOPPDialog_().