Isis 3 Programmer Reference
SpectralPlotTool.h
1 #ifndef SpectralPlotTool_h
2 #define SpectralPlotTool_h
3 
4 #include "AbstractPlotTool.h"
5 
6 #include <vector>
7 
8 #include <QMap>
9 
10 class QMainWindow;
11 
12 namespace geos {
13  namespace geom {
14  class Envelope;
15  class Polygon;
16  }
17 }
18 
19 namespace Isis {
20  class CubePlotCurve;
21  class PlotWindow;
22  class RubberBandComboBox;
23  class Statistics;
24 
58  Q_OBJECT
59 
60  public:
61  SpectralPlotTool(QWidget *parent);
62 
63  protected:
64  void addTo(QMenu *menu);
65  QWidget *createToolBarWidget(QStackedWidget *parent);
66  virtual PlotWindow *createWindow();
67  virtual void detachCurves();
68  void enableRubberBandTool();
71  void updateTool();
72 
73  protected slots:
74  virtual void rubberBandComplete();
75  void viewportSelected();
76 
77  public slots:
78  void refreshPlot();
79 
80  private slots:
81  void selectCurvesToPlot();
82 
83  private:
85  QVector<Statistics> &data,
86  MdiCubeViewport *viewport);
87  void validatePlotCurves();
88 
90  QPointer<QComboBox> m_displayCombo;
91 
93  QPointer<RubberBandComboBox> m_rubberBandCombo;
94 
96  QPointer<QAction> m_toolPadAction;
97 
99  QPointer<QAction> m_plotAvgAction;
101  QPointer<QAction> m_plotMinAction;
103  QPointer<QAction> m_plotMaxAction;
105  QPointer<QAction> m_plotStdDev1Action;
107  QPointer<QAction> m_plotStdDev2Action;
109  QPointer<QAction> m_plotStdErr1Action;
111  QPointer<QAction> m_plotStdErr2Action;
112 
114  QScopedPointer<
116 
118  QScopedPointer<
120 
122  QScopedPointer<
124 
126  QScopedPointer<
128 
130  QScopedPointer<
132 
134  QScopedPointer<
136 
138  QScopedPointer<
140 
141 
143  QPointer<QAction> m_showHideBandMarkers;
144  };
145 };
146 
147 #endif
Isis::SpectralPlotTool::m_maxCurves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_maxCurves
Plot curves for max values.
Definition: SpectralPlotTool.h:115
Isis::SpectralPlotTool::m_plotAvgAction
QPointer< QAction > m_plotAvgAction
This QAction actives/deactivates plotting the average values.
Definition: SpectralPlotTool.h:99
Isis::SpectralPlotTool::createWindow
virtual PlotWindow * createWindow()
Creates a new plot window compatible with the curves in this tool.
Definition: SpectralPlotTool.cpp:300
Isis::MdiCubeViewport
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:39
QWidget
Isis::SpectralPlotTool::m_plotStdErr1Action
QPointer< QAction > m_plotStdErr1Action
This QAction actives/deactivates plotting the avg+std dev values.
Definition: SpectralPlotTool.h:109
Isis::SpectralPlotTool::SpectralPlotTool
SpectralPlotTool(QWidget *parent)
This constructs a spectral plot tool.
Definition: SpectralPlotTool.cpp:45
Isis::SpectralPlotTool::addTo
void addTo(QMenu *menu)
Adds the plot tool to the menu.
Definition: SpectralPlotTool.cpp:243
QMenu
QMainWindow
Isis::SpectralPlotTool::m_showHideBandMarkers
QPointer< QAction > m_showHideBandMarkers
Hide/show lines action.
Definition: SpectralPlotTool.h:143
Isis::SpectralPlotTool::m_displayCombo
QPointer< QComboBox > m_displayCombo
wavelength vs band #
Definition: SpectralPlotTool.h:90
Isis::SpectralPlotTool::m_stdDev2Curves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdDev2Curves
Plot curves for avg. - std. dev.
Definition: SpectralPlotTool.h:131
QComboBox
Isis::SpectralPlotTool::m_plotStdDev1Action
QPointer< QAction > m_plotStdDev1Action
This QAction actives/deactivates plotting the avg+std dev values.
Definition: SpectralPlotTool.h:105
Isis::SpectralPlotTool::toolPadAction
QAction * toolPadAction(ToolPad *pad)
This method configures the QAction for this tool.
Definition: SpectralPlotTool.cpp:152
Isis::SpectralPlotTool::m_stdErr1Curves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdErr1Curves
Plot curves for avg. + std. err.
Definition: SpectralPlotTool.h:135
Isis::SpectralPlotTool::refreshPlot
void refreshPlot()
This method replots the data, with current settings and rubber band, in the plot window.
Definition: SpectralPlotTool.cpp:352
Isis::SpectralPlotTool::m_plotMinAction
QPointer< QAction > m_plotMinAction
This QAction actives/deactivates plotting the min values.
Definition: SpectralPlotTool.h:101
Isis::SpectralPlotTool::validatePlotCurves
void validatePlotCurves()
This method sets up the names, line style, and color of the all the CubePlotCurves that will be used ...
Definition: SpectralPlotTool.cpp:465
Isis::SpectralPlotTool::getSpectralStatistics
void getSpectralStatistics(QVector< double > &labels, QVector< Statistics > &data, MdiCubeViewport *viewport)
This method processes the spectral plot tool's selection and creates statistics for the selected pixe...
Definition: SpectralPlotTool.cpp:569
Isis::SpectralPlotTool
Plot cube DN statistics against the cube band numbers.
Definition: SpectralPlotTool.h:57
Isis::SpectralPlotTool::m_plotMaxAction
QPointer< QAction > m_plotMaxAction
This QAction actives/deactivates plotting the max values.
Definition: SpectralPlotTool.h:103
Isis::SpectralPlotTool::updateTool
void updateTool()
Updates plot tool.
Definition: SpectralPlotTool.cpp:252
Isis::SpectralPlotTool::m_minCurves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_minCurves
Plot curves for min values.
Definition: SpectralPlotTool.h:119
Isis::SpectralPlotTool::m_toolPadAction
QPointer< QAction > m_toolPadAction
Plot tool's action.
Definition: SpectralPlotTool.h:96
Isis::SpectralPlotTool::m_rubberBandCombo
QPointer< RubberBandComboBox > m_rubberBandCombo
Combo box with all rubber banding types.
Definition: SpectralPlotTool.h:93
Isis::SpectralPlotTool::m_plotStdErr2Action
QPointer< QAction > m_plotStdErr2Action
This QAction actives/deactivates plotting the avg-std dev values.
Definition: SpectralPlotTool.h:111
Isis::AbstractPlotTool
Parent class for plotting tools which provides common functionality.
Definition: AbstractPlotTool.h:43
Isis::SpectralPlotTool::detachCurves
virtual void detachCurves()
Forget about all existing plot curves.
Definition: SpectralPlotTool.cpp:316
Isis::ToolPad
Definition: ToolPad.h:14
Isis::SpectralPlotTool::m_plotStdDev2Action
QPointer< QAction > m_plotStdDev2Action
This QAction actives/deactivates plotting the avg-std dev values.
Definition: SpectralPlotTool.h:107
Isis::SpectralPlotTool::m_stdDev1Curves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdDev1Curves
Plot curves for avg. + std. dev.
Definition: SpectralPlotTool.h:127
QMap
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
Isis::SpectralPlotTool::spectralDisplayCombo
QComboBox * spectralDisplayCombo() const
Get the combo box which toggles between units of wavelength and band number.
Definition: SpectralPlotTool.cpp:74
Isis::SpectralPlotTool::m_stdErr2Curves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdErr2Curves
Plot curves for avg. - std. err.
Definition: SpectralPlotTool.h:139
Isis::SpectralPlotTool::m_avgCurves
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_avgCurves
Plot curves for average values.
Definition: SpectralPlotTool.h:123
Isis::SpectralPlotTool::rubberBandComplete
virtual void rubberBandComplete()
Called when the user has finished drawing with the rubber band.
Definition: SpectralPlotTool.cpp:333
Isis::SpectralPlotTool::viewportSelected
void viewportSelected()
This protected slot is called when user selects a viewport.
Definition: SpectralPlotTool.cpp:64
QVector< double >
Isis::SpectralPlotTool::selectCurvesToPlot
void selectCurvesToPlot()
This prompts the user for which curves they want to plot.
Definition: SpectralPlotTool.cpp:102
Isis::SpectralPlotTool::createToolBarWidget
QWidget * createToolBarWidget(QStackedWidget *parent)
Creates the widgets for the tool bar.
Definition: SpectralPlotTool.cpp:171
Isis::SpectralPlotTool::enableRubberBandTool
void enableRubberBandTool()
This method is called when the tool is activated by the parent, or when the plot mode is changed.
Definition: SpectralPlotTool.cpp:87
Isis::PlotWindow
Definition: PlotWindow.h:88
QAction
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16