![]() |
OpenMS
3.0.0
|
Canvas for visualization of one or several spectra. More...
#include <OpenMS/VISUAL/Plot1DCanvas.h>
Public Types | |
| enum | LabelMode { LM_XABSOLUTE_YABSOLUTE, LM_XPERCENT_YABSOLUTE, LM_XABSOLUTE_YPERCENT, LM_XPERCENT_YPERCENT } |
| Label modes (percentage or absolute) of x axis and y axis. More... | |
| enum | DrawModes { DM_PEAKS, DM_CONNECTEDLINES } |
| Enumerate all available paint styles. More... | |
Public Types inherited from PlotCanvas | |
| enum | ActionModes { AM_TRANSLATE, AM_ZOOM, AM_MEASURE } |
| Mouse action modes. More... | |
| enum | IntensityModes { IM_NONE, IM_PERCENTAGE, IM_SNAP, IM_LOG } |
| Display modes of intensity. More... | |
| typedef LayerDataBase::ExperimentType | ExperimentType |
| Main data type (experiment) More... | |
| typedef LayerDataBase::ExperimentSharedPtrType | ExperimentSharedPtrType |
| Main managed data type (experiment) More... | |
| typedef LayerDataBase::ConstExperimentSharedPtrType | ConstExperimentSharedPtrType |
| typedef LayerDataBase::ODExperimentSharedPtrType | ODExperimentSharedPtrType |
| typedef LayerDataBase::FeatureMapType | FeatureMapType |
| Main data type (features) More... | |
| typedef LayerDataBase::FeatureMapSharedPtrType | FeatureMapSharedPtrType |
| Main managed data type (features) More... | |
| typedef LayerDataBase::ConsensusMapType | ConsensusMapType |
| Main data type (consensus features) More... | |
| typedef LayerDataBase::ConsensusMapSharedPtrType | ConsensusMapSharedPtrType |
| Main managed data type (consensus features) More... | |
| typedef ExperimentType::SpectrumType | SpectrumType |
| Spectrum type. More... | |
| typedef SpectrumType::ConstIterator | SpectrumConstIteratorType |
| Spectrum iterator type (iterates over peaks) More... | |
| typedef SpectrumType::PeakType | PeakType |
| Peak type. More... | |
| using | RangeType = RangeAllType |
| a generic range for the most common units More... | |
| using | AreaXYType = Area< 2 >::AreaXYType |
| The range of data shown on the X and Y axis (unit depends on runtime config) More... | |
| using | VisibleArea = Area< 2 > |
| The visible range of data on X and Y axis as shown on plot axis (not necessarily the range of actual data, e.g. no data to show). More... | |
| using | GenericArea = Area< 2 > |
| A generic range of data on X and Y axis as shown on plot axis. More... | |
| using | PixelArea = Area< 2 > |
| using | UnitRange = RangeAllType |
| using | PointOnAxis = DimMapper< 2 >::Point |
Public Slots | |
| void | activateLayer (Size layer_index) override |
| void | removeLayer (Size layer_index) override |
| void | updateLayer (Size i) override |
| void | horizontalScrollBarChange (int value) override |
Public Slots inherited from PlotCanvas | |
| void | changeVisibility (Size i, bool b) |
| change the visibility of a layer More... | |
| void | changeLayerFilterState (Size i, bool b) |
| change if the defined data filters are used More... | |
| void | showGridLines (bool show) |
| Whether or not to show grid lines. More... | |
| void | resetZoom (bool repaint=true) |
| Zooms fully out and resets the zoom stack. More... | |
| void | setVisibleArea (const VisibleArea &area) |
| Sets the visible area. More... | |
| void | setVisibleArea (const RangeAllType &area) |
| Sets the visible area. More... | |
| void | setVisibleArea (const AreaXYType &area) |
| Sets the visible area. More... | |
| void | setVisibleAreaX (double min, double max) |
| Set only the visible area for the x axis; other axes are untouched. More... | |
| void | setVisibleAreaY (double min, double max) |
| Set only the visible area for the y axis; other axes are untouched. More... | |
| void | saveCurrentLayer (bool visible) |
| Saves the current layer data. More... | |
| virtual void | horizontalScrollBarChange (int value) |
| Notifies the canvas that the horizontal scrollbar has been moved. More... | |
| virtual void | verticalScrollBarChange (int value) |
| Notifies the canvas that the vertical scrollbar has been moved. More... | |
| void | setAdditionalContextMenu (QMenu *menu) |
| Sets the additional context menu. If not 0, this menu is added to the context menu of the canvas. More... | |
| virtual void | updateLayer (Size i)=0 |
Updates layer i when the data in the corresponding file changes. More... | |
| AreaXYType | canvasPixelArea () const |
| Get the Area in pixel coordinates of the current canvas for X and Y axis. More... | |
| const DimMapper< 2 > & | getMapper () const |
| Get Mapper to translate between values for axis (X/Y) and units (m/z, RT, intensity, ...) More... | |
| void | setMapper (const DimMapper< 2 > &mapper) |
| Set a new mapper for the canvas. More... | |
Signals | |
| void | showCurrentPeaksAs2D () |
| Requests to display all spectra in 2D plot. More... | |
| void | showCurrentPeaksAs3D () |
| Requests to display all spectra in 3D plot. More... | |
| void | showCurrentPeaksAsIonMobility (const MSSpectrum &spec) |
| Requests to display all spectra in ion mobility plot. More... | |
| void | showCurrentPeaksAsDIA (const Precursor &pc, const MSExperiment &exp) |
| Requests to display all spectra as DIA. More... | |
Signals inherited from PlotCanvas | |
| void | layerModficationChange (Size layer, bool modified) |
| Signal emitted whenever the modification status of a layer changes (editing and storing) More... | |
| void | layerActivated (QWidget *w) |
| Signal emitted whenever a new layer is activated within the current window. More... | |
| void | layerZoomChanged (QWidget *w) |
| Signal emitted whenever the zoom changed. More... | |
| void | visibleAreaChanged (const VisibleArea &area) |
| Change of the visible area. 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 | sendStatusMessage (std::string message, OpenMS::UInt time) |
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 | recalculateAxes () |
| Forces recalculation of axis ticks in the connected widget. More... | |
| void | updateVScrollbar (float, float, float, float) |
| Triggers the update of the vertical scrollbar. More... | |
| void | updateHScrollbar (float, float, float, float) |
| Triggers the update of the horizontal scrollbar. More... | |
| void | changeLegendVisibility () |
| Toggle axis legend visibility change. More... | |
| void | actionModeChange () |
| Emitted when the action mode changes. More... | |
| void | preferencesChange () |
| Emitted when the layer preferences have changed. More... | |
Public Member Functions | |
| Plot1DCanvas (const Param &preferences, const DIM gravity_axis=DIM::Y, QWidget *parent=nullptr) | |
| Default constructor. More... | |
| ~Plot1DCanvas () override | |
| Destructor. More... | |
| const LayerData1DBase & | getLayer (Size index) const |
| LayerData1DBase & | getLayer (Size index) |
| const LayerData1DBase & | getCurrentLayer () const |
| LayerData1DBase & | getCurrentLayer () |
| const DimBase & | getGravityDim () const |
| Get the dimension on which gravity is currently acting upon (usually it's the Y axis' unit) More... | |
| const DimBase & | getNonGravityDim () const |
| Get the dimension on which gravity is currently not acting upon (the orthogonal axis; usually it's the X axis' unit) More... | |
| bool | addChromLayer (ExperimentSharedPtrType chrom_exp_sptr, ODExperimentSharedPtrType ondisc_sptr, OSWDataSharedPtrType chrom_annotation, const int index, const String &filename, const String &caption) |
| DrawModes | getDrawMode () const |
| Returns the draw mode of the current layer. More... | |
| void | setDrawMode (DrawModes mode) |
| Sets draw mode of the current layer. More... | |
| void | showCurrentLayerPreferences () override |
| Shows the preferences dialog of the active layer. More... | |
| bool | flippedLayersExist () |
| Returns whether flipped layers exist or not. More... | |
| void | flipLayer (Size index) |
Flips the layer with index up/downwards. More... | |
| bool | mirrorModeActive () const |
| Returns whether this widget is currently in mirror mode. More... | |
| void | setMirrorModeActive (bool b) |
| Sets whether this widget is currently in mirror mode. More... | |
| void | dataToWidget (const DPosition< 2 > &peak, QPoint &point, bool flipped=false) |
| For convenience - calls dataToWidget. More... | |
| void | dataToWidget (const DPosition< 2 > &xy_point, DPosition< 2 > &point, bool flipped) |
| For convenience - calls dataToWidget. More... | |
| void | dataToWidget (double x, double y, QPoint &point, bool flipped=false) |
| Calls PlotCanvas::dataToWidget_(), takes mirror mode into account. More... | |
| PointXYType | widgetToData (const QPoint &pos) |
| For convenience - calls widgetToData. More... | |
| PointXYType | widgetToData (double x, double y) |
| Calls PlotCanvas::widgetToData_(), takes mirror mode into account. More... | |
| void | dataToWidgetDistance (double x, double y, QPoint &point) |
| converts a distance in axis values to pixel values More... | |
| PointXYType | widgetToDataDistance (double x, double y) |
compute distance in widget coordinates (unit axis as shown) when moving x/y pixel in chart coordinates More... | |
| template<class T > | |
| void | pushIntoDataRange (T &data_point, const int layer_index) |
| Pushes a data point back into the valid data range of the current layer area. Useful for annotation items which were mouse-dragged outside the range by the user. More... | |
| void | pushIntoDataRange (PointXYType &xy_unit, const int layer_index) |
| Pushes a data point back into the valid data range of the current layer area. Useful for annotation items which were mouse-dragged outside the range by the user. More... | |
| void | setTextBox (const QString &html) |
| Display a static text box on the top right. More... | |
| Annotation1DItem * | addPeakAnnotation (const PeakIndex &peak_index, const QString &text, const QColor &color) |
| —– Annotations More... | |
| void | performAlignment (Size layer_index_1, Size layer_index_2, const Param ¶m) |
| void | resetAlignment () |
| Resets alignment_. More... | |
| Size | getAlignmentSize () |
| Returns the number of aligned pairs of peaks. More... | |
| double | getAlignmentScore () const |
| Returns the score of the alignment. More... | |
| std::vector< std::pair< Size, Size > > | getAlignedPeaksIndices () |
| Returns aligned_peaks_indices_. More... | |
| void | activateSpectrum (Size index, bool repaint=true) |
Sets current spectrum index of current layer to index. More... | |
| void | setCurrentLayerPeakPenStyle (Qt::PenStyle ps) |
| Set's the Qt PenStyle of the active layer. More... | |
| void | paint (QPainter *paint_device, QPaintEvent *e) |
| Actual painting takes place here. More... | |
| void | setDrawInterestingMZs (bool enable) |
| interesting (e.g., high-intensity) get live annotated with m/s's More... | |
| bool | isDrawInterestingMZs () const |
| Return true if interesting m/s are annotated. More... | |
| void | setIonLadderVisible (bool show) |
| bool | isIonLadderVisible () const |
| const Gravitator & | getGravitator () const |
| Get gravity manipulation object to apply gravity to points. More... | |
Public Member Functions inherited from PlotCanvas | |
| PlotCanvas (const Param &preferences, QWidget *parent=nullptr) | |
| Default constructor. More... | |
| ~PlotCanvas () override | |
| Destructor. More... | |
| void | setPlotWidget (PlotWidget *widget) |
| Sets the spectrum widget. More... | |
| PlotWidget * | getPlotWidget () const |
| Returns the spectrum widget. More... | |
| Int | getActionMode () const |
| Returns the action mode. More... | |
| IntensityModes | getIntensityMode () const |
| Returns the intensity mode. More... | |
| void | setIntensityMode (IntensityModes mod) |
| Sets the intensity mode. More... | |
| bool | gridLinesShown () const |
| Returns if the grid is currently shown. More... | |
| const LayerDataBase & | getLayer (Size index) const |
returns the layer data with index index More... | |
| LayerDataBase & | getLayer (Size index) |
returns the layer data with index index More... | |
| const LayerDataBase & | getCurrentLayer () const |
| returns the layer data of the active layer More... | |
| LayerDataBase & | getCurrentLayer () |
| returns the layer data of the active layer More... | |
| Size | getCurrentLayerIndex () const |
| returns the index of the active layer More... | |
| bool | getLayerFlag (LayerDataBase::Flags f) const |
| returns a layer flag of the current layer More... | |
| void | setLayerFlag (LayerDataBase::Flags f, bool value) |
| sets a layer flag of the current layer More... | |
| bool | getLayerFlag (Size layer, LayerDataBase::Flags f) const |
returns a layer flag of the layer layer More... | |
| void | setLayerFlag (Size layer, LayerDataBase::Flags f, bool value) |
sets a layer flag of the layer layer More... | |
| void | setLabel (LayerDataBase::LabelType label) |
| const VisibleArea & | getVisibleArea () const |
| Returns the currently visible area. More... | |
| bool | isVisible (const PointOnAxis &p) const |
| PixelArea | getPixelRange () const |
| virtual void | setFilters (const DataFilters &filters) |
| Sets the filters applied to the data before drawing (for the current layer) More... | |
| bool | addLayer (std::vector< PeptideIdentification > &peptides, const String &filename="") |
| Add an identification data layer. More... | |
| float | getCurrentMinIntensity () const |
| Returns the minimum intensity of the active layer. More... | |
| float | getCurrentMaxIntensity () const |
| Returns the maximum intensity of the active layer. More... | |
| float | getMinIntensity (Size index) const |
Returns the minimum intensity of the layer with index index. More... | |
| float | getMaxIntensity (Size index) const |
Returns the maximum intensity of the layer with index index. More... | |
| void | setLayerName (Size i, const String &name) |
Sets the name of layer i. More... | |
| String | getLayerName (Size i) |
Gets the name of layer i. More... | |
| void | setCurrentLayerParameters (const Param ¶m) |
| Sets the parameters of the current layer. More... | |
| const RangeType & | getDataRange () const |
| Returns the area which encloses all data points of all layers. More... | |
| double | getSnapFactor () |
| Returns the first intensity scaling factor for 'snap to maximum intensity mode' (for the currently visible data range). More... | |
| double | getPercentageFactor () const |
| Returns the percentage factor. More... | |
| virtual void | showMetaData (bool modifiable=false, Int index=-1) |
| Shows a dialog with the meta data. More... | |
| Size | getLayerCount () const |
| Returns the number of layers. More... | |
| virtual void | activateLayer (Size layer_index)=0 |
| change the active layer (the one that is used for selecting and so on) More... | |
| virtual void | removeLayer (Size layer_index)=0 |
removes the layer with index layer_index More... | |
| void | removeLayers () |
| removes all layers by calling removeLayer() for all layer indices (from highest to lowest) More... | |
| bool | addLayer (std::unique_ptr< LayerData1DBase > layer) |
| Add an already constructed layer (e.g. for projections) More... | |
| bool | addPeakLayer (ExperimentSharedPtrType map, ODExperimentSharedPtrType od_map, const String &filename="", const bool use_noise_cutoff=false) |
| Add a peak data layer. More... | |
| bool | addChromLayer (ExperimentSharedPtrType map, ODExperimentSharedPtrType od_map, const String &filename="") |
| Add a chrom data layer. More... | |
| bool | addLayer (FeatureMapSharedPtrType map, const String &filename="") |
| Add a feature data layer. More... | |
| bool | addLayer (ConsensusMapSharedPtrType map, const String &filename="") |
| Add a consensus feature data layer. More... | |
Public Member Functions inherited from DefaultParamHandler | |
| DefaultParamHandler (const String &name) | |
| Constructor with name that is displayed in error messages. More... | |
| DefaultParamHandler (const DefaultParamHandler &rhs) | |
| Copy constructor. More... | |
| virtual | ~DefaultParamHandler () |
| Destructor. More... | |
| virtual DefaultParamHandler & | operator= (const DefaultParamHandler &rhs) |
| Assignment operator. More... | |
| virtual bool | operator== (const DefaultParamHandler &rhs) const |
| Equality operator. More... | |
| void | setParameters (const Param ¶m) |
| Sets the parameters. More... | |
| const Param & | getParameters () const |
| Non-mutable access to the parameters. More... | |
| const Param & | getDefaults () const |
| Non-mutable access to the default parameters. More... | |
| const String & | getName () const |
| Non-mutable access to the name. More... | |
| void | setName (const String &name) |
| Mutable access to the name. More... | |
| const std::vector< String > & | getSubsections () const |
| Non-mutable access to the registered subsections. More... | |
Static Public Attributes | |
| static constexpr double | TOP_MARGIN {1.09} |
| extra empty margin added on top to ensure annotations and 100% y-axis label are properly drawn More... | |
Protected Slots | |
| void | currentLayerParamtersChanged_ () |
| Reacts on changed layer parameters. More... | |
Protected Slots inherited from PlotCanvas | |
| void | updateCursor_ () |
| Updates the cursor according to the current action mode. More... | |
Protected Member Functions | |
| void | dataToWidget_ (double x, double y, QPoint &point) |
| Convert chart to widget coordinates. More... | |
| void | dataToWidget_ (const DPosition< 2 > &xy, QPoint &point) |
| QPoint | dataToWidget_ (const DPosition< 2 > &xy) |
| bool | finishAdding_ () override |
| Method that is called when a new layer has been added. More... | |
| void | drawCoordinates_ (QPainter &painter, const PeakIndex &peak) |
| Draws the coordinates (or coordinate deltas) to the widget's upper left corner. More... | |
| void | drawDeltas_ (QPainter &painter, const PeakIndex &start, const PeakIndex &end) |
| Draws the coordinates (or coordinate deltas) to the widget's upper left corner. More... | |
| void | drawAlignment_ (QPainter &painter) |
Draws the alignment on painter. More... | |
| void | changeVisibleArea_ (const AreaXYType &new_area, bool repaint=true, bool add_to_stack=false) |
| Changes visible area interval. More... | |
| void | changeVisibleArea_ (const UnitRange &new_area, bool repaint=true, bool add_to_stack=false) |
| Changes visible area interval. More... | |
| void | drawHighlightedPeak_ (Size layer_index, const PeakIndex &peak, QPainter &painter, bool draw_elongation=false) |
| Draws a highlighted peak; if draw_elongation is true, the elongation line is drawn (for measuring) More... | |
| void | updatePercentageFactor_ (Size layer_index) |
| Recalculates the current scale factor based on the specified layer (= 1.0 if intensity mode != IM_PERCENTAGE) More... | |
| void | recalculateSnapFactor_ () override |
| Recalculates the intensity scaling factor for 'snap to maximum intensity mode'. More... | |
| void | updateScrollbars_ () override |
| Updates the scroll bars. More... | |
| void | intensityModeChange_ () override |
| This method is called whenever the intensity mode changes. Reimplement if you need to react on such changes. More... | |
| void | zoomForward_ () override |
| Go forward in zoom history. More... | |
| void | zoom_ (int x, int y, bool zoom_in) override |
| Zooms such that screen point x, y would still point to the same data point. More... | |
| void | translateLeft_ (Qt::KeyboardModifiers m) override |
| Translation bound to the 'Left' key. More... | |
| void | translateRight_ (Qt::KeyboardModifiers m) override |
| Translation bound to the 'Right' key. More... | |
| void | translateForward_ () override |
| Translation bound to the 'Up' key. More... | |
| void | translateBackward_ () override |
| Translation bound to the 'Down' key. More... | |
| void | paintGridLines_ (QPainter &painter) override |
| Helper function to paint grid lines. More... | |
| PeakIndex | findPeakAtPosition_ (QPoint) |
| Find peak next to the given position. More... | |
| void | addUserLabelAnnotation_ (const QPoint &screen_position) |
| Shows dialog and calls addLabelAnnotation_. More... | |
| void | addLabelAnnotation_ (const QPoint &screen_position, const QString &label_text) |
| Adds an annotation item at the given screen position. More... | |
| void | addUserPeakAnnotation_ (PeakIndex near_peak) |
| Shows dialog and calls addPeakAnnotation_. More... | |
| void | ensureAnnotationsWithinDataRange_ () |
| Ensure that all annotations are within data range. More... | |
Reimplemented QT events | |
| void | paintEvent (QPaintEvent *e) override |
| void | mousePressEvent (QMouseEvent *e) override |
| void | mouseReleaseEvent (QMouseEvent *e) override |
| void | mouseMoveEvent (QMouseEvent *e) override |
| void | keyPressEvent (QKeyEvent *e) override |
| void | contextMenuEvent (QContextMenuEvent *e) override |
Protected Member Functions inherited from PlotCanvas | |
| void | drawText_ (QPainter &painter, QStringList text) |
| Draws several lines of text to the upper right corner of the widget. More... | |
| double | getIdentificationMZ_ (const Size layer_index, const PeptideIdentification &peptide) const |
| Returns the m/z value of an identification depending on the m/z source of the layer (precursor mass/theoretical peptide mass) More... | |
| void | popIncompleteLayer_ (const QString &error_message="") |
| void | dimensionsChanged_ () |
| Call this whenever the DimMapper receives new dimensions; will update the axes and scrollbars. More... | |
| virtual void | changeVisibleArea_ (VisibleArea new_area, bool repaint=true, bool add_to_stack=false) |
| Sets the visible area. More... | |
| PointXYType | widgetToData_ (double x, double y) |
| Convert widget (pixel) to chart (unit) coordinates. More... | |
| PointXYType | widgetToData_ (const QPoint &pos) |
Calls widgetToData_ with x and y position of pos. More... | |
| void | recalculateRanges_ () |
| Recalculates the overall_data_range_. More... | |
| virtual void | update_ (const char *caller_name) |
| Updates the displayed data. More... | |
| void | modificationStatus_ (Size layer_index, bool modified) |
| Takes all actions necessary when the modification status of a layer changes (signals etc.) More... | |
| void | addDataProcessing_ (PeakMap &map, DataProcessing::ProcessingAction action) const |
| Data processing setter for peak maps. More... | |
| void | resizeEvent (QResizeEvent *e) override |
| void | wheelEvent (QWheelEvent *e) override |
| void | keyPressEvent (QKeyEvent *e) override |
| void | keyReleaseEvent (QKeyEvent *e) override |
| void | focusOutEvent (QFocusEvent *e) override |
| void | leaveEvent (QEvent *e) override |
| void | enterEvent (QEvent *e) override |
| void | zoomBack_ () |
| Go backward in zoom history. More... | |
| void | zoomAdd_ (const VisibleArea &area) |
| Add a visible area to the zoom stack. More... | |
| void | zoomClear_ () |
| Clears the zoom stack and invalidates the current zoom position. After calling this, a valid zoom position has to be added immediately. More... | |
Protected Member Functions inherited from DefaultParamHandler | |
| virtual void | updateMembers_ () |
| This method is used to update extra member variables at the end of the setParameters() method. More... | |
| void | defaultsToParam_ () |
| Updates the parameters after the defaults have been set in the constructor. More... | |
Protected Attributes | |
| std::vector< DrawModes > | draw_modes_ |
| Draw modes (for each layer) - sticks or connected lines. More... | |
| std::vector< Qt::PenStyle > | peak_penstyle_ |
| Draw style (for each layer) More... | |
| QPoint | measurement_start_point_px_ |
| start point of "ruler" in pixel coordinates for measure mode More... | |
| bool | mirror_mode_ = false |
| Indicates whether this widget is currently in mirror mode. More... | |
| bool | moving_annotations_ = false |
| Indicates whether annotation items are just being moved on the canvas. More... | |
| bool | show_alignment_ = false |
| Indicates whether an alignment is currently visualized. More... | |
| Size | alignment_layer_1_ |
| Layer index of the first alignment layer. More... | |
| Size | alignment_layer_2_ |
| Layer index of the second alignment layer. More... | |
| std::vector< std::pair< double, double > > | aligned_peaks_mz_delta_ |
| Stores the alignment as MZ values of pairs of aligned peaks in both spectra. More... | |
| std::vector< std::pair< Size, Size > > | aligned_peaks_indices_ |
| Stores the peak indices of pairs of aligned peaks in both spectra. More... | |
| double | alignment_score_ = 0.0 |
| Stores the score of the last alignment. More... | |
| bool | ion_ladder_visible_ = true |
| whether the ion ladder is displayed on the top right corner in ID view More... | |
| bool | draw_interesting_MZs_ = false |
| annotate interesting peaks with m/z's More... | |
| QTextDocument | text_box_content_ |
| The text box in the upper left corner with the current data coordinates of the cursor. More... | |
| Gravitator | gr_ |
| handles pulling/pushing of points to the edges of the widget More... | |
Protected Attributes inherited from PlotCanvas | |
| QImage | buffer_ |
| Buffer that stores the actual peak information. More... | |
| DimMapper< 2 > | unit_mapper_ |
| Mapper for X and Y axis. More... | |
| ActionModes | action_mode_ = AM_TRANSLATE |
| Stores the current action mode (Pick, Zoom, Translate) More... | |
| IntensityModes | intensity_mode_ = IM_NONE |
| Stores the used intensity mode function. More... | |
| LayerStack | layers_ |
| Layer data. More... | |
| VisibleArea | visible_area_ |
| Stores the currently visible area in data units (e.g. seconds, m/z, intensity etc) and axis (X,Y) area. More... | |
| RangeType | overall_data_range_ |
| Stores the data range (m/z, RT and intensity) of all layers. More... | |
| bool | show_grid_ = true |
| Stores whether or not to show a grid. More... | |
| std::vector< VisibleArea > | zoom_stack_ |
| The zoom stack. More... | |
| std::vector< VisibleArea >::iterator | zoom_pos_ = zoom_stack_.end() |
| The current position in the zoom stack. More... | |
| bool | update_buffer_ = false |
| Whether to recalculate the data in the buffer when repainting. More... | |
| PlotWidget * | spectrum_widget_ = nullptr |
| Back-pointer to the enclosing spectrum widget. More... | |
| QPoint | last_mouse_pos_ |
| start position of mouse actions More... | |
| double | percentage_factor_ = 1.0 |
| Intensity scaling factor for relative scale with multiple layers. More... | |
| std::vector< double > | snap_factors_ = {1.0} |
| Intensity scaling factor for 'snap to maximum intensity mode'. More... | |
| QRubberBand | rubber_band_ |
| Rubber band for selected area. More... | |
| QMenu * | context_add_ = nullptr |
| External context menu extension. More... | |
| bool | show_timing_ = false |
| Flag that determines if timing data is printed to the command line. More... | |
| PeakIndex | selected_peak_ |
| selected peak More... | |
| PeakIndex | measurement_start_ |
| start peak of measuring mode More... | |
Protected Attributes inherited from DefaultParamHandler | |
| Param | param_ |
| Container for current parameters. More... | |
| Param | defaults_ |
| Container for default parameters. This member should be filled in the constructor of derived classes! More... | |
| std::vector< String > | subsections_ |
| Container for registered subsections. This member should be filled in the constructor of derived classes! More... | |
| String | error_name_ |
| Name that is displayed in error messages during the parameter checking. More... | |
| bool | check_defaults_ |
| If this member is set to false no checking if parameters in done;. More... | |
| bool | warn_empty_defaults_ |
| If this member is set to false no warning is emitted when defaults are empty;. More... | |
Friends | |
| class | Painter1DChrom |
| class | Painter1DPeak |
| class | Painter1DIonMobility |
Additional Inherited Members | |
Static Public Member Functions inherited from DefaultParamHandler | |
| static void | writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="") |
| Writes all parameters to meta values. More... | |
Canvas for visualization of one or several spectra.
The example image shows Plot1DCanvas displaying a raw data layer and a peak data layer.
Parameters of this class are:| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| default_path | string | . | Default path for loading/storing data. | |
| highlighted_peak_color | string | @#ff0000 | Highlighted peak color. | |
| icon_color | string | @#000000 | Peak icon color. | |
| peak_color | string | @#0000ff | Peak color. | |
| annotation_color | string | @#000055 | Annotation color. | |
| background_color | string | @#ffffff | Background color. |
| enum DrawModes |
| enum LabelMode |
| Plot1DCanvas | ( | const Param & | preferences, |
| const DIM | gravity_axis = DIM::Y, |
||
| QWidget * | parent = nullptr |
||
| ) |
Default constructor.
|
override |
Destructor.
|
overrideslot |
| void activateSpectrum | ( | Size | index, |
| bool | repaint = true |
||
| ) |
Sets current spectrum index of current layer to index.
Referenced by TOPPViewBase::addData().
| bool addChromLayer | ( | ExperimentSharedPtrType | chrom_exp_sptr, |
| ODExperimentSharedPtrType | ondisc_sptr, | ||
| OSWDataSharedPtrType | chrom_annotation, | ||
| const int | index, | ||
| const String & | filename, | ||
| const String & | caption | ||
| ) |
add a chromatogram layer
| chrom_exp_sptr | An MSExperiment with chromatograms |
| ondisc_sptr | OnDisk experiment, as fallback to read the chromatogram from, should chrom_exp_sptr.getChromatograms(index) be empty |
| OSWDataSharedPtrType | If OSWData was loaded, pass the shared_pointer from the LayerData. Otherwise leave empty. |
| index | Index of the chromatogram to show |
| filename | For file change watcher (can be empty, if need be) |
| caption | Name of layer |
|
protected |
Adds an annotation item at the given screen position.
| Annotation1DItem* addPeakAnnotation | ( | const PeakIndex & | peak_index, |
| const QString & | text, | ||
| const QColor & | color | ||
| ) |
—– Annotations
Add an annotation item for the given peak
|
protected |
Shows dialog and calls addLabelAnnotation_.
|
protected |
Shows dialog and calls addPeakAnnotation_.
|
protected |
Changes visible area interval.
This method is for convenience only. It calls changeVisibleArea_(const VisibleArea&, bool, bool) .
|
protected |
Changes visible area interval.
This method is for convenience only. It calls changeVisibleArea_(const VisibleArea&, bool, bool) .
|
overrideprotected |
|
protectedslot |
Reacts on changed layer parameters.
| void dataToWidget | ( | const DPosition< 2 > & | peak, |
| QPoint & | point, | ||
| bool | flipped = false |
||
| ) |
For convenience - calls dataToWidget.
Referenced by Annotation1DPeakItem< DataPoint >::draw(), and Annotation1DCaret< DataPoint >::draw().
For convenience - calls dataToWidget.
Calls PlotCanvas::dataToWidget_(), takes mirror mode into account.
Convert chart to widget coordinates.
Translates chart (unit) coordinates to widget (pixel) coordinates.
| x | the chart coordinate x |
| y | the chart coordinate y |
| point | returned widget coordinates |
References PlotCanvas::IM_LOG.
|
inlineprotected |
|
inlineprotected |
converts a distance in axis values to pixel values
|
protected |
Draws the alignment on painter.
|
protected |
Draws the coordinates (or coordinate deltas) to the widget's upper left corner.
Draws the coordinates (or coordinate deltas) to the widget's upper left corner.
|
protected |
Draws a highlighted peak; if draw_elongation is true, the elongation line is drawn (for measuring)
|
protected |
Ensure that all annotations are within data range.
|
protected |
Find peak next to the given position.
|
overrideprotectedvirtual |
Method that is called when a new layer has been added.
Implements PlotCanvas.
| void flipLayer | ( | Size | index | ) |
Flips the layer with index up/downwards.
| bool flippedLayersExist | ( | ) |
Returns whether flipped layers exist or not.
| double getAlignmentScore | ( | ) | const |
Returns the score of the alignment.
Referenced by TOPPViewBase::showSpectrumAlignmentDialog().
| Size getAlignmentSize | ( | ) |
Returns the number of aligned pairs of peaks.
Referenced by TOPPViewBase::showSpectrumAlignmentDialog().
| const LayerData1DBase& getCurrentLayer | ( | ) | const |
returns the layer data of the active layer
| std::bad_cast | exception if the current layer is not a LayerData1DBase |
| LayerData1DBase& getCurrentLayer | ( | ) |
returns the layer data of the active layer
| std::bad_cast | exception if the current layer is not a LayerData1DBase |
| DrawModes getDrawMode | ( | ) | const |
Returns the draw mode of the current layer.
Referenced by TOPPViewBase::updateToolBar().
|
inline |
Get gravity manipulation object to apply gravity to points.
| const DimBase& getGravityDim | ( | ) | const |
Get the dimension on which gravity is currently acting upon (usually it's the Y axis' unit)
| const LayerData1DBase& getLayer | ( | Size | index | ) | const |
returns the layer data of the layer index
| std::bad_cast | exception if the current layer is not a LayerData1DBase |
| LayerData1DBase& getLayer | ( | Size | index | ) |
returns the layer data of the layer index
| std::bad_cast | exception if the current layer is not a LayerData1DBase |
| const DimBase& getNonGravityDim | ( | ) | const |
Get the dimension on which gravity is currently not acting upon (the orthogonal axis; usually it's the X axis' unit)
|
overrideslot |
|
overrideprotectedvirtual |
This method is called whenever the intensity mode changes. Reimplement if you need to react on such changes.
Reimplemented from PlotCanvas.
| bool isDrawInterestingMZs | ( | ) | const |
Return true if interesting m/s are annotated.
| bool isIonLadderVisible | ( | ) | const |
|
overrideprotected |
| bool mirrorModeActive | ( | ) | const |
Returns whether this widget is currently in mirror mode.
Referenced by TOPPViewBase::showSpectrumAlignmentDialog().
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
| void paint | ( | QPainter * | paint_device, |
| QPaintEvent * | e | ||
| ) |
Actual painting takes place here.
|
overrideprotected |
|
overrideprotectedvirtual |
Helper function to paint grid lines.
Reimplemented from PlotCanvas.
—– Alignment Performs an alignment of the layers with layer_index_1 and layer_index_2
|
inline |
Pushes a data point back into the valid data range of the current layer area. Useful for annotation items which were mouse-dragged outside the range by the user.
| T | A data point, e.g. Peak1D, which may be outside the data area |
| data_point | |
| layer_index | The layer of the above data_point (to obtain the data range of the layer) |
Referenced by Annotation1DCaret< DataPoint >::ensureWithinDataRange(), and Annotation1DPeakItem< DataPoint >::ensureWithinDataRange().
|
inline |
Pushes a data point back into the valid data range of the current layer area. Useful for annotation items which were mouse-dragged outside the range by the user.
| xy_unit | A pair (X and Y coordinate) with values in the units currently used on the axis |
| layer_index | The layer of the above data_point (to obtain the data range of the layer) |
|
overrideprotectedvirtual |
Recalculates the intensity scaling factor for 'snap to maximum intensity mode'.
Reimplemented from PlotCanvas.
|
overrideslot |
| void resetAlignment | ( | ) |
Resets alignment_.
| void setCurrentLayerPeakPenStyle | ( | Qt::PenStyle | ps | ) |
Set's the Qt PenStyle of the active layer.
| void setDrawInterestingMZs | ( | bool | enable | ) |
interesting (e.g., high-intensity) get live annotated with m/s's
| void setDrawMode | ( | DrawModes | mode | ) |
Sets draw mode of the current layer.
Referenced by TOPPViewBase::setDrawMode1D().
| void setIonLadderVisible | ( | bool | show | ) |
| void setMirrorModeActive | ( | bool | b | ) |
Sets whether this widget is currently in mirror mode.
| void setTextBox | ( | const QString & | html | ) |
Display a static text box on the top right.
|
overridevirtual |
Shows the preferences dialog of the active layer.
Implements PlotCanvas.
|
signal |
Requests to display all spectra in 2D plot.
|
signal |
Requests to display all spectra in 3D plot.
|
signal |
Requests to display all spectra as DIA.
|
signal |
Requests to display all spectra in ion mobility plot.
|
overrideprotectedvirtual |
Translation bound to the 'Down' key.
Reimplemented from PlotCanvas.
|
overrideprotectedvirtual |
Translation bound to the 'Up' key.
Reimplemented from PlotCanvas.
|
overrideprotectedvirtual |
Translation bound to the 'Left' key.
Reimplemented from PlotCanvas.
|
overrideprotectedvirtual |
Translation bound to the 'Right' key.
Reimplemented from PlotCanvas.
|
overrideslot |
|
protected |
Recalculates the current scale factor based on the specified layer (= 1.0 if intensity mode != IM_PERCENTAGE)
|
overrideprotectedvirtual |
Updates the scroll bars.
Updates the scrollbars after a change of the visible area.
Reimplemented from PlotCanvas.
| PointXYType widgetToData | ( | const QPoint & | pos | ) |
For convenience - calls widgetToData.
| PointXYType widgetToData | ( | double | x, |
| double | y | ||
| ) |
Calls PlotCanvas::widgetToData_(), takes mirror mode into account.
|
inline |
compute distance in widget coordinates (unit axis as shown) when moving x/y pixel in chart coordinates
|
overrideprotectedvirtual |
Zooms such that screen point x, y would still point to the same data point.
Reimplemented from PlotCanvas.
|
overrideprotectedvirtual |
Go forward in zoom history.
Reimplemented from PlotCanvas.
|
friend |
|
friend |
|
friend |
Stores the peak indices of pairs of aligned peaks in both spectra.
Stores the alignment as MZ values of pairs of aligned peaks in both spectra.
|
protected |
Layer index of the first alignment layer.
|
protected |
Layer index of the second alignment layer.
|
protected |
Stores the score of the last alignment.
|
protected |
annotate interesting peaks with m/z's
|
protected |
Draw modes (for each layer) - sticks or connected lines.
|
protected |
handles pulling/pushing of points to the edges of the widget
|
protected |
whether the ion ladder is displayed on the top right corner in ID view
|
protected |
start point of "ruler" in pixel coordinates for measure mode
|
protected |
Indicates whether this widget is currently in mirror mode.
|
protected |
Indicates whether annotation items are just being moved on the canvas.
|
protected |
Draw style (for each layer)
|
protected |
Indicates whether an alignment is currently visualized.
|
protected |
The text box in the upper left corner with the current data coordinates of the cursor.
|
static |
extra empty margin added on top to ensure annotations and 100% y-axis label are properly drawn