OpenMS
Plot2DWidget Class Reference

Widget for 2D-visualization of peak map and feature map data. More...

#include <OpenMS/VISUAL/Plot2DWidget.h>

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

Public Types

typedef LayerDataBase::ExperimentSharedPtrType ExperimentSharedPtrType
 Main managed data type (experiment) More...
 
- Public Types inherited from PlotWidget
typedef LayerDataBase::ExperimentType ExperimentType
 Main data type (experiment) More...
 
typedef LayerDataBase::FeatureMapType FeatureMapType
 Main data type (features) More...
 
typedef ExperimentType::SpectrumType SpectrumType
 Spectrum type. More...
 

Public Slots

void recalculateAxes_ () override
 
void toggleProjections ()
 Shows/hides the projections. More...
 
void showGoToDialog () override
 
- Public Slots inherited from PlotWidget
void showStatistics ()
 Shows statistics about the data (count, min, max, avg of intensity, charge, quality and meta data) More...
 
void showIntensityDistribution (const Math::Histogram<> &dist)
 Shows the intensity distribution of the current layer. More...
 
void showMetaDistribution (const String &name, const Math::Histogram<> &dist)
 Shows the meta data distribution of value name of the current layer. More...
 
void updateAxes ()
 Updates the axes by setting the right labels and calling recalculateAxes_();. More...
 
void updateHScrollbar (float min, float disp_min, float disp_max, float max)
 Updates the horizontal scrollbar. More...
 
void updateVScrollbar (float min, float disp_min, float disp_max, float max)
 Updates the vertical scrollbar. More...
 
virtual void showGoToDialog ()=0
 Shows a goto dialog. More...
 
void changeLegendVisibility ()
 Toggles the axis legend visibility. More...
 

Signals

void visibleAreaChanged (DRange< 2 > area)
 Signal emitted whenever the visible area changes. More...
 
void showSpectrumAsNew1D (int index)
 Requests to display the spectrum with index index in 1D. More...
 
void showChromatogramsAsNew1D (std::vector< int, std::allocator< int > > indices)
 
void showCurrentPeaksAs3D ()
 Requests to display all spectra as 1D. More...
 
void showCurrentPeaksAsIonMobility (const MSSpectrum &spec)
 Requests to display this spectrum (=frame) in ion mobility plot. More...
 
- Signals inherited from PlotWidget
void sendStatusMessage (std::string, OpenMS::UInt)
 Emits a status message that should be displayed for time ms. If time is 0 the message should be displayed until the next message is emitted. More...
 
void sendCursorStatus (const String &x_value, const String &y_value)
 Emitted when the cursor position changes (for displaying e.g. in status bar) More...
 
void aboutToBeDestroyed (int window_id)
 Message about the destruction of this widget. More...
 
void openPreferences ()
 Shows the main preferences dialog. More...
 
void dropReceived (const QMimeData *data, QWidget *source, int id)
 Signal that is emitted, when a drag-and-drop action ends on this widget. More...
 

Public Member Functions

 Plot2DWidget (const Param &preferences, QWidget *parent=nullptr)
 Default constructor. More...
 
 ~Plot2DWidget () override=default
 Destructor. More...
 
Plot2DCanvascanvas () const override
 Returns a pointer to canvas object. More...
 
const Plot1DWidgetgetProjectionOntoX () const
 const reference to the horizontal projection More...
 
const Plot1DWidgetgetProjectionOntoY () const
 const reference to the vertical projection More...
 
bool projectionsVisible () const
 Returns if one of the projections is visible (or both are visible) More...
 
void setMapper (const DimMapper< 2 > &mapper) override
 
- Public Member Functions inherited from PlotWidget
 PlotWidget (const Param &preferences, QWidget *parent=nullptr)
 Default constructor. More...
 
 ~PlotWidget () override
 Destructor. More...
 
virtual AxisWidgetxAxis ()
 Returns a pointer to the x-axis axis widget. More...
 
virtual AxisWidgetyAxis ()
 Returns a pointer to the y-axis axis widget. More...
 
Int getActionMode () const
 Get the mouse action mode. More...
 
virtual bool isLegendShown () const
 Returns if the axis labels are shown. More...
 
virtual void showLegend (bool show)
 Shows/hides axis labels. More...
 
void setIntensityMode (PlotCanvas::IntensityModes mode)
 Sets the intensity mode of the PlotCanvas. More...
 
virtual void hideAxes ()
 Hides x-axis and y-axis. More...
 
virtual void saveAsImage ()
 Saves the widget's content as image file. More...
 
- Public Member Functions inherited from EnhancedTabBarWidgetInterface
 EnhancedTabBarWidgetInterface ()
 C'tor; creates a new ID;. More...
 
virtual ~EnhancedTabBarWidgetInterface ()
 Destructor (emits SignalProvider::aboutToBeDestroyed) More...
 
void addToTabBar (EnhancedTabBar *const parent, const String &caption, const bool make_active_tab=true)
 
Int getWindowId () const
 get the EnhancedTabBar unique window id More...
 

Protected Member Functions

void projectionInfo_ (int peaks, double intensity, double max)
 shows projections information More...
 
- Protected Member Functions inherited from PlotWidget
void closeEvent (QCloseEvent *e) override
 
void setCanvas_ (PlotCanvas *canvas, UInt row=0, UInt col=2)
 Adds the canvas, axes and scrollbars to the layout. More...
 
virtual void intensityModeChange_ ()
 Switch between different intensity modes. More...
 
virtual void recalculateAxes_ ()=0
 recalculates the Axis ticks More...
 
void dragEnterEvent (QDragEnterEvent *event) override
 
void dragMoveEvent (QDragMoveEvent *event) override
 
void dropEvent (QDropEvent *event) override
 
void paintEvent (QPaintEvent *) override
 make our subclassed QWidget listen to things like stylesheet changes More...
 

Protected Attributes

Plot1DWidgetprojection_onto_X_
 Vertical projection widget. More...
 
Plot1DWidgetprojection_onto_Y_
 Horizontal projection widget. More...
 
QGroupBox * projection_box_
 Group box that shows information about the projections. More...
 
QLabel * projection_peaks_
 Number of peaks of the projection. More...
 
QLabel * projection_sum_
 Intensity sum of the projection. More...
 
QLabel * projection_max_
 Intensity maximum of the projection. More...
 
QCheckBox * projections_auto_
 Checkbox that indicates that projections should be automatically updated (with a slight delay) More...
 
QTimer * projections_timer_
 Timer that triggers auto-update of projections. More...
 
- Protected Attributes inherited from PlotWidget
PlotCanvascanvas_
 Pointer to the canvas widget. More...
 
QGridLayout * grid_
 Main layout. More...
 
AxisWidgety_axis_
 Vertical axis. More...
 
AxisWidgetx_axis_
 Horizontal axis. More...
 
QScrollBar * x_scrollbar_
 Horizontal scrollbar. More...
 
QScrollBar * y_scrollbar_
 Vertical scrollbar. More...
 

Private Slots

void showProjections_ (const LayerDataBase *source_layer)
 extracts the projections from the source_layer and displays them More...
 
void autoUpdateProjections_ ()
 slot that monitors the visible area changes and triggers the update of projections More...
 

Additional Inherited Members

- Static Public Member Functions inherited from EnhancedTabBarWidgetInterface
static Int getFirstWindowID ()
 the first object to be created will get this ID More...
 
- Static Public Attributes inherited from PlotWidget
static const char RT_AXIS_TITLE []
 
static const char MZ_AXIS_TITLE []
 
static const char INTENSITY_AXIS_TITLE []
 
static const char IM_MS_AXIS_TITLE []
 
static const char IM_ONEKZERO_AXIS_TITLE []
 

Detailed Description

Widget for 2D-visualization of peak map and feature map data.

The widget is composed of two scroll bars, two AxisWidget and a Plot2DCanvas as central widget.

The example image shows Plot2DWidget displaying a peak layer and a feature layer.

Member Typedef Documentation

◆ ExperimentSharedPtrType

Main managed data type (experiment)

Constructor & Destructor Documentation

◆ Plot2DWidget()

Plot2DWidget ( const Param preferences,
QWidget parent = nullptr 
)

Default constructor.

◆ ~Plot2DWidget()

~Plot2DWidget ( )
overridedefault

Destructor.

Member Function Documentation

◆ autoUpdateProjections_

void autoUpdateProjections_ ( )
privateslot

slot that monitors the visible area changes and triggers the update of projections

◆ canvas()

Plot2DCanvas* canvas ( ) const
inlineoverridevirtual

Returns a pointer to canvas object.

This method is overwritten for 1D, 2D, 3D to make the class specific members accessible.

The canvas object is set with the setCanvas_() method. This is usually done in the constructor.

Implements PlotWidget.

Referenced by TOPPViewBase::changeLabel(), TOPPViewBase::changeUnassigned(), TOPPViewBase::showCurrentPeaksAs2D(), TOPPViewBase::showCurrentPeaksAsDIA(), TOPPViewBase::showCurrentPeaksAsIonMobility(), and TOPPViewBase::updateToolBar().

◆ getProjectionOntoX()

const Plot1DWidget* getProjectionOntoX ( ) const

const reference to the horizontal projection

Referenced by TOPPViewBase::showPlotWidgetInWindow().

◆ getProjectionOntoY()

const Plot1DWidget* getProjectionOntoY ( ) const

const reference to the vertical projection

Referenced by TOPPViewBase::showPlotWidgetInWindow().

◆ projectionInfo_()

void projectionInfo_ ( int  peaks,
double  intensity,
double  max 
)
protected

shows projections information

◆ projectionsVisible()

bool projectionsVisible ( ) const

Returns if one of the projections is visible (or both are visible)

Referenced by TOPPViewBase::toggleProjections().

◆ recalculateAxes_

void recalculateAxes_ ( )
overrideslot

◆ setMapper()

void setMapper ( const DimMapper< 2 > &  mapper)
inlineoverridevirtual

set the mapper for the canvas and the projections (the non-marginal projection axis will be mapped to Intensity). Also tries to guess drawing (sticks vs line) and intensity mode

Implements PlotWidget.

References Plot1DCanvas::DM_CONNECTEDLINES, Plot1DCanvas::DM_PEAKS, DimMapper< N_DIM >::getDim(), DimBase::getUnit(), PlotCanvas::IM_PERCENTAGE, PlotCanvas::IM_SNAP, OpenMS::INT, OpenMS::MZ, OpenMS::X, and OpenMS::Y.

Referenced by TOPPViewBase::showCurrentPeaksAsIonMobility().

◆ showChromatogramsAsNew1D

void showChromatogramsAsNew1D ( std::vector< int, std::allocator< int > >  indices)
signal

◆ showCurrentPeaksAs3D

void showCurrentPeaksAs3D ( )
signal

Requests to display all spectra as 1D.

Referenced by TOPPViewBase::showPlotWidgetInWindow().

◆ showCurrentPeaksAsIonMobility

void showCurrentPeaksAsIonMobility ( const MSSpectrum spec)
signal

Requests to display this spectrum (=frame) in ion mobility plot.

Referenced by TOPPViewBase::showPlotWidgetInWindow().

◆ showGoToDialog

void showGoToDialog ( )
overrideslot

◆ showProjections_

void showProjections_ ( const LayerDataBase source_layer)
privateslot

extracts the projections from the source_layer and displays them

◆ showSpectrumAsNew1D

void showSpectrumAsNew1D ( int  index)
signal

Requests to display the spectrum with index index in 1D.

Referenced by TOPPViewBase::showPlotWidgetInWindow().

◆ toggleProjections

void toggleProjections ( )
slot

Shows/hides the projections.

Referenced by TOPPViewBase::toggleProjections().

◆ visibleAreaChanged

void visibleAreaChanged ( DRange< 2 >  area)
signal

Signal emitted whenever the visible area changes.

Parameters
areaThe new visible area.

Member Data Documentation

◆ projection_box_

QGroupBox* projection_box_
protected

Group box that shows information about the projections.

◆ projection_max_

QLabel* projection_max_
protected

Intensity maximum of the projection.

◆ projection_onto_X_

Plot1DWidget* projection_onto_X_
protected

Vertical projection widget.

◆ projection_onto_Y_

Plot1DWidget* projection_onto_Y_
protected

Horizontal projection widget.

◆ projection_peaks_

QLabel* projection_peaks_
protected

Number of peaks of the projection.

◆ projection_sum_

QLabel* projection_sum_
protected

Intensity sum of the projection.

◆ projections_auto_

QCheckBox* projections_auto_
protected

Checkbox that indicates that projections should be automatically updated (with a slight delay)

◆ projections_timer_

QTimer* projections_timer_
protected

Timer that triggers auto-update of projections.