1 #ifndef ScatterPlotWindow_h 2 #define ScatterPlotWindow_h 8 #include <QScopedPointer> 10 class QwtPlotSpectrogram;
15 class ScatterPlotTool;
44 Cube *xAxisCube,
int xAxisBand,
int xAxisBinCount,
45 Cube *yAxisCube,
int yAxisBand,
int yAxisBinCount,
46 QwtInterval sampleRange, QwtInterval lineRange,
Cube display widget for certain Isis MDI applications.
bool isXCube(MdiCubeViewport *vp) const
Returns true if the viewport's cube is the cube currently being used on the x-axis.
void mouseMoveEvent(QMouseEvent *e)
When the mosue moves, this updates the alarming information and causes repaints on the cube viewports...
bool eventFilter(QObject *o, QEvent *e)
We override events done on the plot canvas for alarming purposes.
int m_yAxisCubeBand
The band on the Y-Axis cube used for the scatter plot.
bool m_alarmViewport
Alarm onto viewport... aka alarm plot->viewport.
AlarmRangeUnits m_alarmViewportUnits
Alarm plot->viewport current units.
void setAlarmViewportUnits(AlarmRangeUnits)
This sets the units to be used for alarming plot->viewport.
void colorPlot()
This method switches the color mode of the scatter plot from black and white to color and visa versa...
void setAlarmingPlot(bool)
This enables or disables alarming viewport->plot.
int m_alarmPlotSamples
Alarm viewport->plot viewport sample box size.
int m_alarmPlotLines
Alarm viewport->plot viewport line box size.
AlarmRangeUnits alarmViewportUnits() const
This is the active alarming units for plot->viewport.
QPair< double, double > m_yCubeDnAlarmRange
The DN range of the Y-Axis Cube to be alarmed when painting.
Alarming is a DN range around the mouse.
bool m_alarmPlot
Alarm onto plot... aka alarm viewport->plot.
QPair< int, int > alarmPlotBoxSize() const
This is the sample/line box sizes for alarming from viewport to plot.
int m_alarmViewportScreenHeight
Alarm plot->viewport Y (screen pixels) box size.
ScatterPlotWindow(QString title, Cube *xAxisCube, int xAxisBand, int xAxisBinCount, Cube *yAxisCube, int yAxisBand, int yAxisBinCount, QwtInterval sampleRange, QwtInterval lineRange, QWidget *parent)
Create a scatter plot window with the given data.
void setAlarmViewportDnBoxSize(double, double)
This sets the cube DN box size for alarming plot->viewport.
QPointer< QAction > m_colorize
The action for switching the scatter plot from B/W to color.
QwtInterval m_sampleRange
The sample range (1-based inclusive) of data used for the scatter plot.
Alarming is a visible area around the mouse.
virtual void paint(MdiCubeViewport *vp, QPainter *painter)
If the viewport is showing the x axis cube data or y axis cube data, and alarming is enabled...
void updateContourPen()
This sets the contour pen to an appropriate color based on the color of the plot (B/W v...
void setAlarmPlotBoxSize(int, int)
This sets the box size for alarming viewport->plot in cube samples/lines.
QPair< double, double > alarmViewportDnBoxSize() const
This is the alarming box size for plot->viewport in cube units (number of samples/lines).
int m_xAxisCubeBand
The band on the X-Axis cube used for the scatter plot.
double m_alarmViewportYDnBoxSize
Alarm plot->viewport Y (Cube DN) box size.
void mouseLeaveEvent(QMouseEvent *e)
When the mouse leaves the plot canvas we disable all alarming from plot->viewport.
AlarmRangeUnits
This enumeration differentiates alarming a strict cube DN box size from a screen region.
double m_alarmViewportXDnBoxSize
Alarm plot->viewport X (Cube DN) box size.
void forgetCubes()
This causes the window to lose it's pointers to the input cubes.
QPair< int, int > alarmViewportScreenBoxSize() const
This is the alarming box size for plot->viewport in screen units.
void setAlarmViewportScreenBoxSize(int, int)
This sets the screen pixel box size for alarming plot->viewport.
Cube * m_xAxisCube
The cube associated with the X-Axis DN values.
QPair< double, double > m_xCubeDnAlarmRange
The DN range of the X-Axis Cube to be alarmed when painting.
void setMousePosition(MdiCubeViewport *vp, QPoint mouseLoc)
Saves the current mouse position in the viewport so that the plot can be alarmed around that position...
Cube * m_yAxisCube
The cube associated with the Y-Axis DN values.
void showHideContour()
This method hides or displays the contour lines on the spectrogram.
Namespace for ISIS/Bullet specific routines.
bool alarmingPlot() const
This indicates if we are alarming from viewport to plot.
void setAlarmingViewport(bool)
This enables or disables alarming plot->viewport.
QwtInterval m_lineRange
The line range (1-based inclusive) of data used for the scatter plot.
bool alarmingViewport() const
This indicates if we are alarming from plot to viewport.
QPointer< QAction > m_contour
The action for switching on and off contour lines.
QwtPlotSpectrogram * m_spectrogram
This is the scatter plot's Qwt plot item.
bool isYCube(MdiCubeViewport *vp) const
Returns true if the viewport's cube is the cube currently being used on the y-axis.
int m_alarmViewportScreenWidth
Alarm plot->viewport X (screen pixels) box size.
void configureAlarming()
Give the users an alarm config dialog to change the alarming settings.
IO Handler for Isis Cubes.