Isis 3 Developer Reference
SpectralPlotTool.h
Go to the documentation of this file.
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:
84  void getSpectralStatistics(QVector<double> &labels,
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
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:53
virtual void rubberBandComplete()
Called when the user has finished drawing with the rubber band.
Definition: SpectralPlotTool.cpp:333
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
virtual PlotWindow * createWindow()
Creates a new plot window compatible with the curves in this tool.
Definition: SpectralPlotTool.cpp:300
void addTo(QMenu *menu)
Adds the plot tool to the menu.
Definition: SpectralPlotTool.cpp:243
SpectralPlotTool(QWidget *parent)
This constructs a spectral plot tool.
Definition: SpectralPlotTool.cpp:45
Definition: PlotWindow.h:88
QAction * toolPadAction(ToolPad *pad)
This method configures the QAction for this tool.
Definition: SpectralPlotTool.cpp:152
void refreshPlot()
This method replots the data, with current settings and rubber band, in the plot window.
Definition: SpectralPlotTool.cpp:352
Plot cube DN statistics against the cube band numbers.
Definition: SpectralPlotTool.h:57
virtual void detachCurves()
Forget about all existing plot curves.
Definition: SpectralPlotTool.cpp:316
Definition: Image.h:43
void updateTool()
Updates plot tool.
Definition: SpectralPlotTool.cpp:252
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Parent class for plotting tools which provides common functionality.
Definition: AbstractPlotTool.h:35
void viewportSelected()
This protected slot is called when user selects a viewport.
Definition: SpectralPlotTool.cpp:64
Definition: CubeIoHandler.h:38
QWidget * createToolBarWidget(QStackedWidget *parent)
Creates the widgets for the tool bar.
Definition: SpectralPlotTool.cpp:171
Definition: ToolPad.h:14
QComboBox * spectralDisplayCombo() const
Get the combo box which toggles between units of wavelength and band number.
Definition: SpectralPlotTool.cpp:74