 |
OpenMS
2.6.0
|
Go to the documentation of this file.
38 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
49 #include <QRubberBand>
207 spectrum_widget_ = widget;
218 return spectrum_widget_;
241 return intensity_mode_;
255 intensity_mode_ = mod;
256 intensityModeChange_();
272 return layers_.getLayer(index);
277 return layers_.getLayer(index);
283 return layers_.getCurrentLayer();
288 return layers_.getCurrentLayer();
294 return layers_.getCurrentLayerIndex();
300 return getLayerFlag(layers_.getCurrentLayerIndex(), f);
306 setLayerFlag(layers_.getCurrentLayerIndex(), f, value);
312 return layers_.getLayer(layer).flags.test(f);
319 if (layers_.empty())
return;
321 layers_.getLayer(layer).flags.set(f, value);
322 update_buffer_ =
true;
329 if (layers_.empty())
return;
330 layers_.getCurrentLayer().label = label;
331 update_buffer_ =
true;
342 return visible_area_;
348 virtual void setFilters(
const DataFilters & filters);
353 return mz_to_x_axis_;
357 void mzToXAxis(
bool mz_to_x_axis);
365 inline Size getLayerCount()
const
368 return layers_.getLayerCount();
372 virtual void activateLayer(
Size layer_index) = 0;
374 virtual void removeLayer(
Size layer_index) = 0;
379 for (
Size i = getLayerCount(); i > 0; --i)
398 bool addLayer(ExperimentSharedPtrType map, ODExperimentSharedPtrType od_map,
const String & filename =
"");
408 bool addLayer(FeatureMapSharedPtrType map,
const String & filename =
"");
418 bool addLayer(ConsensusMapSharedPtrType map,
const String & filename =
"");
429 bool addLayer(std::vector<PeptideIdentification> & peptides,
430 const String & filename =
"");
435 return layers_.getCurrentLayer().getMinIntensity();
441 return layers_.getCurrentLayer().getMaxIntensity();
447 return getLayer(index).getMinIntensity();
453 return getLayer(index).getMaxIntensity();
457 void setLayerName(
Size i,
const String & name);
465 getCurrentLayer().param = param;
466 emit preferencesChange();
481 double getSnapFactor();
484 double getPercentageFactor();
487 virtual void showCurrentLayerPreferences() = 0;
495 virtual void showMetaData(
bool modifiable =
false,
Int index = -1);
502 virtual void saveCurrentLayer(
bool visible) = 0;
512 void changeVisibility(
Size i,
bool b);
520 void changeLayerFilterState(
Size i,
bool b);
528 void showGridLines(
bool show);
537 void resetZoom(
bool repaint =
true);
545 void setVisibleArea(AreaType area);
552 virtual void horizontalScrollBarChange(
int value);
559 virtual void verticalScrollBarChange(
int value);
562 void setAdditionalContextMenu(QMenu * menu);
571 void getVisiblePeakData(ExperimentType & map)
const;
581 void getVisibleFeatureData(FeatureMapType & map)
const;
590 void getVisibleConsensusData(ConsensusMapType & map)
const;
599 void getVisibleIdentifications(std::vector<PeptideIdentification> & peptides)
const;
602 virtual void updateLayer(
Size i) = 0;
607 void layerModficationChange(
Size layer,
bool modified);
610 void layerActivated(
QWidget * w);
613 void layerZoomChanged(
QWidget * w);
624 void sendCursorStatus(
double mz = -1.0,
double rt = -1.0);
627 void sendStatusMessage(std::string message,
OpenMS::UInt time);
630 void recalculateAxes();
633 void updateVScrollbar(
float,
float,
float,
float);
636 void updateHScrollbar(
float,
float,
float,
float);
639 void changeLegendVisibility();
642 void actionModeChange();
645 void preferencesChange();
650 void updateCursor_();
655 void drawText_(QPainter & painter, QStringList text);
658 double getIdentificationMZ_(
const Size layer_index,
662 virtual bool finishAdding_() = 0;
666 void popIncompleteLayer_(
const QString& error_message =
"");
670 void resizeEvent(QResizeEvent * e)
override;
671 void wheelEvent(QWheelEvent * e)
override;
672 void keyPressEvent(QKeyEvent * e)
override;
673 void keyReleaseEvent(QKeyEvent * e)
override;
674 void focusOutEvent(QFocusEvent * e)
override;
675 void leaveEvent(QEvent * e)
override;
676 void enterEvent(QEvent * e)
override;
680 virtual void intensityModeChange_();
692 virtual void changeVisibleArea_(
const AreaType & new_area,
bool repaint =
true,
bool add_to_stack =
false);
699 virtual void recalculateSnapFactor_();
703 virtual void zoom_(
int x,
int y,
bool zoom_in);
708 virtual void zoomForward_();
710 void zoomAdd_(
const AreaType & area);
717 virtual void translateLeft_(Qt::KeyboardModifiers m);
720 virtual void translateRight_(Qt::KeyboardModifiers m);
722 virtual void translateForward_();
724 virtual void translateBackward_();
732 virtual void updateScrollbars_();
748 visible_area_.minX() + (height() - y) / height() * visible_area_.width(),
749 visible_area_.minY() + x / width() * visible_area_.height()
755 visible_area_.minX() + x / width() * visible_area_.width(),
756 visible_area_.minY() + (height() - y) / height() * visible_area_.height()
764 return widgetToData_(pos.x(), pos.y());
783 point.setX(
int((y - visible_area_.minY()) / visible_area_.height() * width()));
788 std::log10((y - visible_area_.minY()) + 1) / std::log10(visible_area_.height() + 1) * width())
792 point.setY(height() -
int((x - visible_area_.minX()) / visible_area_.width() * height()));
796 point.setX(
int((x - visible_area_.minX()) / visible_area_.width() * width()));
800 point.setY(height() -
int((y - visible_area_.minY()) / visible_area_.height() * height()));
804 point.setY(height() -
int(
805 std::log10((y - visible_area_.minY()) + 1) / std::log10(visible_area_.height() + 1) * height()
812 virtual void paintGridLines_(QPainter & painter);
846 void recalculateRanges_(
UInt mz_dim,
UInt rt_dim,
UInt it_dim);
874 virtual void update_(
const char * caller_name);
877 void modificationStatus_(
Size layer_index,
bool modified);
883 void adjustBuffer_();
922 std::set<DataProcessing::ProcessingAction> actions;
923 actions.insert(action);
927 p->setProcessingActions(actions);
929 p->getSoftware().setName(
"SpectrumCanvas");
935 for (
Size i = 0; i < map.
size(); ++i)
937 map[i].getDataProcessing().push_back(p);
LayerData::ConstExperimentSharedPtrType ConstExperimentSharedPtrType
Definition: SpectrumCanvas.h:147
AreaType visible_area_
Stores the currently visible area.
Definition: SpectrumCanvas.h:835
Shows intensities normalized by layer maximum: f(x)=x/max(x)*100.
Definition: SpectrumCanvas.h:185
boost::shared_ptr< ExperimentType > ExperimentSharedPtrType
SharedPtr on MSExperiment.
Definition: LayerData.h:153
ActionModes
Mouse action modes.
Definition: SpectrumCanvas.h:174
PointType widgetToData_(const QPoint &pos)
Calls widgetToData_ with x and y position of pos.
Definition: SpectrumCanvas.h:762
ExperimentType::SpectrumType SpectrumType
Spectrum type.
Definition: SpectrumCanvas.h:159
bool getLayerFlag(Size layer, LayerData::Flags f) const
returns a layer flag of the layer layer
Definition: SpectrumCanvas.h:310
boost::shared_ptr< FeatureMap > FeatureMapSharedPtrType
SharedPtr on feature map.
Definition: LayerData.h:141
void dataToWidget_(double x, double y, QPoint &point)
Convert chart to widget coordinates.
Definition: SpectrumCanvas.h:775
const LayerData & getCurrentLayer() const
boost::shared_ptr< ConsensusMap > ConsensusMapSharedPtrType
SharedPtr on consensus features.
Definition: LayerData.h:147
void addDataProcessing_(PeakMap &map, DataProcessing::ProcessingAction action) const
Data processing setter for peak maps.
Definition: SpectrumCanvas.h:920
void setLabel(LayerData::LabelType label)
Definition: SpectrumCanvas.h:326
DRange< 2 > AreaType
Types of Ranges/Areas.
Definition: SpectrumCanvas.h:170
LayerData & getCurrentLayer()
returns the layer data of the active layer
Definition: SpectrumCanvas.h:286
DPosition< 2 > PointType
Type of the Points.
Definition: SpectrumCanvas.h:168
Logarithmic mode.
Definition: SpectrumCanvas.h:187
boost::shared_ptr< const ExperimentType > ConstExperimentSharedPtrType
Definition: LayerData.h:155
Size current_layer_
Definition: SpectrumCanvas.h:101
A more convenient string class.
Definition: String.h:59
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
const AreaType & getVisibleArea() const
Returns the currently visible area.
Definition: SpectrumCanvas.h:340
LayerData::ConsensusMapSharedPtrType ConsensusMapSharedPtrType
Main managed data type (consensus features)
Definition: SpectrumCanvas.h:156
void removeCurrentLayer()
PeakIndex selected_peak_
selected peak
Definition: SpectrumCanvas.h:915
Flags
Flags that determine which information is shown.
Definition: LayerData.h:107
bool mz_to_x_axis_
Stores the mapping of m/z.
Definition: SpectrumCanvas.h:827
IntensityModes
Display modes of intensity.
Definition: SpectrumCanvas.h:182
std::vector< AreaType > zoom_stack_
The zoom stack.
Definition: SpectrumCanvas.h:861
Size size() const
Definition: MSExperiment.h:127
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:92
const LayerData & getCurrentLayer() const
returns the layer data of the active layer
Definition: SpectrumCanvas.h:281
static DateTime now()
Returns the current date and time.
boost::shared_ptr< DataProcessing > DataProcessingPtr
Definition: DataProcessing.h:135
PointType widgetToData_(double x, double y)
Convert widget to chart coordinates.
Definition: SpectrumCanvas.h:743
LayerData::ExperimentType ExperimentType
Main data type (experiment)
Definition: SpectrumCanvas.h:144
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
ProcessingAction
Definition: DataProcessing.h:58
IntensityModes intensity_mode_
Stores the used intensity mode function.
Definition: SpectrumCanvas.h:821
const LayerData & getLayer(Size index) const
returns the layer data with index index
Definition: SpectrumCanvas.h:270
Size getCurrentLayerIndex() const
void setCurrentLayer(Size index)
throws Exception::IndexOverflow unless index is smaller than getLayerCount()
Index of a peak or feature.
Definition: PeakIndex.h:50
Definition: SpectrumCanvas.h:71
void setLayerFlag(LayerData::Flags f, bool value)
sets a layer flag of the current layer
Definition: SpectrumCanvas.h:304
Class that stores the data for one layer.
Definition: LayerData.h:89
Shows the maximum displayed intensity as if it was the overall maximum intensity.
Definition: SpectrumCanvas.h:186
QPoint last_mouse_pos_
start position of mouse actions
Definition: SpectrumCanvas.h:889
bool update_buffer_
Whether to recalculate the data in the buffer when repainting.
Definition: SpectrumCanvas.h:880
float getCurrentMaxIntensity() const
Returns the maximum intensity of the active layer.
Definition: SpectrumCanvas.h:439
PeakIndex measurement_start_
start peak of measuring mode
Definition: SpectrumCanvas.h:917
bool show_timing_
Flag that determines if timing data is printed to the command line.
Definition: SpectrumCanvas.h:912
std::vector< AreaType >::iterator zoom_pos_
The current position in the zoom stack.
Definition: SpectrumCanvas.h:863
LayerData::ConsensusMapType ConsensusMapType
Main data type (consensus features)
Definition: SpectrumCanvas.h:154
Size getLayerCount() const
float getMinIntensity(Size index) const
Returns the minimum intensity of the layer with index index.
Definition: SpectrumCanvas.h:445
static String getVersion()
Return the version number of OpenMS.
QImage buffer_
Buffer that stores the actual peak information.
Definition: SpectrumCanvas.h:815
void setCurrentLayerParameters(const Param ¶m)
Sets the parameters of the current layer.
Definition: SpectrumCanvas.h:463
void setLayerFlag(Size layer, LayerData::Flags f, bool value)
sets a layer flag of the layer layer
Definition: SpectrumCanvas.h:316
Normal mode: f(x)=x.
Definition: SpectrumCanvas.h:184
LayerData::FeatureMapSharedPtrType FeatureMapSharedPtrType
Main managed data type (features)
Definition: SpectrumCanvas.h:152
IntensityModes getIntensityMode() const
Returns the intensity mode.
Definition: SpectrumCanvas.h:239
A 1-dimensional raw data point or peak.
Definition: Peak1D.h:54
A container for consensus elements.
Definition: ConsensusMap.h:80
SpectrumWidget * getSpectrumWidget() const
Returns the spectrum widget.
Definition: SpectrumCanvas.h:216
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
bool isMzToXAxis()
Returns the mapping of m/z to axes.
Definition: SpectrumCanvas.h:351
std::vector< double > snap_factors_
Intensity scaling factor for 'snap to maximum intensity mode'.
Definition: SpectrumCanvas.h:903
SpectrumWidget * spectrum_widget_
Back-pointer to the enclosing spectrum widget.
Definition: SpectrumCanvas.h:886
Int getActionMode() const
Returns the action mode.
Definition: SpectrumCanvas.h:227
LayerStack layers_
Layer data.
Definition: SpectrumCanvas.h:824
DRange< 3 > overall_data_range_
Stores the data range (m/z, RT and intensity) of all layers.
Definition: SpectrumCanvas.h:855
FeatureMapType::FeatureType FeatureType
Feature type.
Definition: SpectrumCanvas.h:165
bool getLayerFlag(LayerData::Flags f) const
returns a layer flag of the current layer
Definition: SpectrumCanvas.h:298
translate
Definition: SpectrumCanvas.h:176
A container for features.
Definition: FeatureMap.h:97
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:62
DataFilter array providing some convenience functions.
Definition: DataFilters.h:50
void removeLayers()
removes all layers by calling removeLayer() for all layer indices (from highest to lowest)
Definition: SpectrumCanvas.h:377
An LC-MS feature.
Definition: Feature.h:70
SpectrumType::PeakType PeakType
Peak type.
Definition: SpectrumCanvas.h:163
float getCurrentMinIntensity() const
Returns the minimum intensity of the active layer.
Definition: SpectrumCanvas.h:433
void addLayer(LayerData &&new_layer)
adds a new layer and makes it the current layer
QRubberBand rubber_band_
Rubber band for selected area.
Definition: SpectrumCanvas.h:906
Description of the applied preprocessing steps.
Definition: DataProcessing.h:51
Size getCurrentLayerIndex() const
returns the index of the active layer
Definition: SpectrumCanvas.h:292
void setSpectrumWidget(SpectrumWidget *widget)
Sets the spectrum widget.
Definition: SpectrumCanvas.h:205
bool gridLinesShown() const
Returns if the grid is currently shown.
Definition: SpectrumCanvas.h:264
QMenu * context_add_
External context menu extension.
Definition: SpectrumCanvas.h:909
double percentage_factor_
Intensity scaling factor for relative scale with multiple layers.
Definition: SpectrumCanvas.h:896
Management and storage of parameters / INI files.
Definition: Param.h:73
ActionModes action_mode_
Stores the current action mode (Pick, Zoom, Translate)
Definition: SpectrumCanvas.h:818
Base class for visualization canvas classes.
Definition: SpectrumCanvas.h:133
std::vector< LayerData > layers_
Definition: SpectrumCanvas.h:99
LayerData & getLayer(Size index)
returns the layer data with index index
Definition: SpectrumCanvas.h:275
LayerData::ODExperimentSharedPtrType ODExperimentSharedPtrType
Definition: SpectrumCanvas.h:148
const LayerData & getLayer(const Size index) const
ContainerType::const_iterator ConstIterator
Non-mutable iterator.
Definition: MSSpectrum.h:128
LabelType
Label used in visualization.
Definition: LayerData.h:124
The representation of a 1D spectrum.
Definition: MSSpectrum.h:67
LayerData::FeatureMapType FeatureMapType
Main data type (features)
Definition: SpectrumCanvas.h:150
boost::shared_ptr< OnDiscMSExperiment > ODExperimentSharedPtrType
SharedPtr on On-Disc MSExperiment.
Definition: LayerData.h:158
void setIntensityMode(IntensityModes mod)
Sets the intensity mode.
Definition: SpectrumCanvas.h:253
bool show_grid_
Stores whether or not to show a grid.
Definition: SpectrumCanvas.h:858
void removeLayer(Size layer_index)
LayerData::ExperimentSharedPtrType ExperimentSharedPtrType
Main managed data type (experiment)
Definition: SpectrumCanvas.h:146
float getMaxIntensity(Size index) const
Returns the maximum intensity of the layer with index index.
Definition: SpectrumCanvas.h:451
zoom
Definition: SpectrumCanvas.h:177
SpectrumType::ConstIterator SpectrumConstIteratorType
Spectrum iterator type (iterates over peaks)
Definition: SpectrumCanvas.h:161