Isis 3 Programmer Reference
|
Stretch image edit tool. More...
#include <StretchTool.h>
Public Types | |
enum | StretchBand { Gray , Red , Green , Blue , All } |
Enum to store the bands. More... | |
Public Slots | |
void | stretchGlobal () |
Does a global stretch for the active viewport. | |
void | stretchGlobal (CubeViewport *) |
Does a global stretch for the specified viewport. | |
void | stretchGlobalAllBands () |
This resets the stretch across all bands. | |
void | stretchGlobalAllViewports () |
Does a global stretch for all the viewports. | |
void | stretchRegional () |
Does a regional stretch for the active viewport. | |
void | stretchRegional (CubeViewport *) |
Does a regional stretch for the specified viewport. | |
void | activate (bool) |
Activates the tool. | |
void | setCubeViewport (MdiCubeViewport *cvp) |
Sets the current viewport to the given cvp. | |
Signals | |
void | stretchChipViewport (Stretch *, CubeViewport *) |
when a viewport is stretched, send the stretch and the viewport associated with it to any ChipViewport's that might be listening | |
void | warningSignal (std::string &pStr, const std::string pExStr) |
Shows a warning. | |
void | clearWarningSignal () |
void | toolActivated () |
void | viewportChanged () |
Public Member Functions | |
StretchTool (QWidget *parent) | |
StretchTool constructor. | |
~StretchTool () | |
Destructor. | |
void | addTo (QMenu *menu) |
Adds the stretch action to the given menu. | |
void | updateAdvStretchDialogforAll (void) |
Update the streches and corresponding histograms for all the colors Red, Green and Blue for Stretch All Mode. | |
QString | menuName () const |
This let's Tool know which Menu the actions this class has should be added to. | |
void | addTo (ViewportMainWindow *mw) |
Adds the tool to the application. | |
void | addTo (ToolPad *toolpad) |
Adds the tool to the toolpad. | |
virtual void | addTo (Workspace *ws) |
Adds the given workspace to the cubeviewport list. | |
virtual void | addToPermanent (QToolBar *toolbar) |
void | addToActive (QToolBar *toolbar) |
QString | toolIconDir () const |
returns the path to the icon directory. | |
virtual void | paintViewport (MdiCubeViewport *vp, QPainter *painter) |
RubberBandTool * | rubberBandTool () |
void | setList (ToolList *currentList) |
Static Public Member Functions | |
static Stretch | stretchBuffer (ViewportBuffer *buffer, QRect rect) |
This method computes the stretch over a region using the viewport buffer. | |
static Stretch | stretchBand (CubeViewport *cvp, StretchBand band) |
This method computes the stretch over the entire cube. | |
static Statistics | statsFromCube (Cube *cube, int band) |
This method will calculate and return the statistics for a given cube and band. | |
static Statistics | statsFromBuffer (ViewportBuffer *buffer, QRect rect) |
This method will calculate and return the statistics for a given region and viewport buffer. | |
static Histogram | histFromCube (Cube *cube, int band, double min, double max) |
This method will calculate and return the histogram for a given cube and band. | |
static Histogram | histFromBuffer (ViewportBuffer *buffer) |
Given a viewport buffer, this calculates a histogram. | |
static Histogram | histFromBuffer (ViewportBuffer *buffer, QRect rect, double min, double max) |
This method will calculate and return the histogram for a given region and viewport buffer. | |
Protected Types | |
typedef QVector< MdiCubeViewport * > | CubeViewportList |
A list of cubeviewports. | |
Protected Slots | |
void | mouseButtonRelease (QPoint p, Qt::MouseButton s) |
This method will call a global stretch if the right mouse button is released. | |
void | saveStretchToCube () |
Saves a strech to the cube. | |
void | deleteFromCube () |
Deletes a saved stretch from the cube. | |
void | loadStretchFromCube () |
Restores a saved stretch from the cube. | |
void | enableRubberBandTool () |
This method enables the RubberBandTool. | |
void | screenPixelsChanged () |
This is called when the visible area changes. | |
void | updateHistograms () |
This updates the visible histograms in the advanced stretch, if present. | |
void | rubberBandComplete () |
This method is called when the RubberBandTool is complete. | |
void | setCubeViewport (CubeViewport *) |
This updates the advanced stretch to use the given viewport. | |
virtual void | mouseEnter () |
virtual void | mouseMove (QPoint p) |
virtual void | mouseMove (QPoint p, Qt::MouseButton) |
virtual void | mouseLeave () |
Protected Member Functions | |
QAction * | toolPadAction (ToolPad *pad) |
Adds the stretch action to the toolpad. | |
QWidget * | createToolBarWidget (QStackedWidget *parent) |
Creates the widget to add to the tool bar. | |
void | updateTool () |
Updates the stretch tool. | |
void | stretchRequested (MdiCubeViewport *cvp, int bandId) |
The cube viewport requested a stretch at this time, give it to the viewport. | |
virtual void | mouseDoubleClick (QPoint p) |
virtual void | mouseButtonPress (QPoint p, Qt::MouseButton s) |
virtual void | updateMeasure () |
virtual void | scaleChanged () |
void | registerTool (MdiCubeViewport *viewport) |
Registers the tool to the viewport. | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. | |
CubeViewportList * | cubeViewportList () const |
Return the list of cubeviewports. | |
virtual void | addConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must add the connections for it. | |
virtual void | removeConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must be able to remove it's connections. | |
Workspace * | workspace () |
Private Slots | |
void | stretchChanged () |
This method is called when the stretch has changed and sets the min/max text fields to the correct values. | |
void | advancedStretchChanged () |
This is called when one of the advanced stretches changed. | |
void | changeStretch () |
This method is called when the stretch has changed and sets the min/max text fields to the correct values. | |
void | showAdvancedDialog () |
This methods shows and updates the advanced dialog. | |
void | setStretchAcrossBands () |
Sets the stretch for all the bands in the active viewport to the current stretch. | |
void | setStretchAllViewports () |
Sets the stretch for all the viewports to the current stretch in the active viewport. | |
void | stretchBandChanged (int) |
The selected band for stretching changed. | |
Private Member Functions | |
void | stretchRect (CubeViewport *cvp, QRect rect) |
stretch the specified CubeViewport with the given rect | |
void | stretchMinMaxType (CubeViewport *cvp) |
Sets stretch for current band in active viewport given the min/max type selection. | |
void | addViewportConnections () |
Makes all the connections for the tool. | |
void | removeViewportConnections () |
Removes all the connections from the tool. | |
void | enableToolBar () |
Enables entire tool bar. | |
void | disableToolBar () |
Disables entire tool bar. | |
Private Attributes | |
AdvancedStretchDialog * | m_advancedStretch |
The advanced dialog. | |
QToolButton * | m_copyButton |
Copy Button. | |
QToolButton * | m_globalButton |
Global Button. | |
QToolButton * | m_stretchRegionalButton |
Regional Stretch Button. | |
QPushButton * | m_flashButton |
Button to press for global stretch. | |
QAction * | m_stretchGlobal |
Global stretch action. | |
QAction * | m_stretchRegional |
Regional stretch action. | |
QAction * | m_stretchManual |
Manual stretch action. | |
QAction * | m_copyBands |
Copy band stretch action. | |
QComboBox * | m_stretchBandComboBox |
Stretch combo box. | |
QComboBox * | p_minMaxTypeSelection |
Min/Max type combo box. | |
QLineEdit * | m_stretchMinEdit |
Min. line edit. | |
QLineEdit * | m_stretchMaxEdit |
Max. line edit. | |
StretchBand | m_stretchBand |
Current stretch band. | |
Stretch * | m_preGlobalStretches |
Stretches before global button pressed. | |
Stretch * | m_chipViewportStretch |
ChipViewport's stretch. | |
MdiCubeViewport * | m_cvp |
current cubeviewport | |
Workspace * | m_workspace |
bool | m_active |
Is the tool acitve? | |
QWidget * | m_toolBarWidget |
The tool bar on which this tool resides. | |
QAction * | m_toolPadAction |
The tool pad on which this tool resides. | |
QString | m_toolIconDir |
The pathway to the icon directory. | |
ToolList * | m_toolList |
Stretch image edit tool.
This tool is part of the Qisis namespace and allows interactive editing of displayed images.
2008-05-23 Noah Hilt - Added RubberBandTool
2010-03-18 Sharmila Prasad - Exception handling and emit warning signal to the Viewportwindow to display warning status on the status bar(Track Tool)
2010-04-08 Steven Lambright - Made to work with threaded viewportbuffer and also removed map to viewport stretches due to synchronization problems.
2010-04-08 Steven Lambright - Fixed access of viewport data for statistics
2010-05-20 Steven Lambright - Re-enabled the advanced stretch... without a viewport map!
2010-06-26 Eric Hyer
2010-08-30 Eric Hyer
2010-11-22 Eric Hyer - new SIGNAL called stretchChipViewport exists for sending stretches made in CubeViewports to any ChipViewports that want to get stretched.
2010-12-01 Steven Lambright - Improved stretch copy abilities
2010-12-02 Eric Hyer - changed where stretchChipViewport is emitted.
2011-03-22 Sharmila Prasad - Add option to stretch All Bands
2011-11-04 Steven Lambright - Improved advanced stretch to allow all stretches to be changed despite combo box. References #567.
2012-01-18 Steven Lambright - Fixed a bug that caused the stretch pair line edits to not update properly in grey mode when the color mode band selection was set to all. Also, fixed layout of stretch options to correctly squeeze widgets left. Fixes #640.
2012-06-11 Steven Lambright - Fixed a bug that caused the stretch pair line edits to not update properly when switching between viewports, and another that caused the stretch to be copied the new viewport if the advanced stretch dialog is active. Fixes #771.
2015-08-07 Makayla Shepherd - No longer crashes when the user attempts to apply a stretch while the cube is still loading. This crash was caused by an unhandled exception being thrown in a connected slot. Fixes #2117.
Definition at line 85 of file StretchTool.h.
|
protectedinherited |
Enum to store the bands.
Enumerator | |
---|---|
Gray | Gray Band. |
Red | Red Band. |
Green | Green Band. |
Blue | Blue Band. |
All | All Bands. |
Definition at line 96 of file StretchTool.h.
Isis::StretchTool::StretchTool | ( | QWidget * | parent | ) |
StretchTool constructor.
parent |
Definition at line 48 of file StretchTool.cpp.
References advancedStretchChanged(), deleteFromCube(), loadStretchFromCube(), m_advancedStretch, m_chipViewportStretch, m_preGlobalStretches, m_stretchGlobal, m_stretchRegional, saveStretchToCube(), stretchChanged(), stretchGlobal(), stretchRegional(), updateTool(), and warningSignal().
Isis::StretchTool::~StretchTool | ( | ) |
Destructor.
Definition at line 94 of file StretchTool.cpp.
References m_chipViewportStretch, and m_preGlobalStretches.
|
slotinherited |
Activates the tool.
on |
Definition at line 131 of file Tool.cpp.
References Isis::Tool::addViewportConnections(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), Isis::Tool::m_active, Isis::Tool::m_toolPadAction, and Isis::Tool::removeViewportConnections().
Referenced by Isis::Tool::addTo(), Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::RubberBandTool::disable(), Isis::RubberBandTool::enable(), Isis::AdvancedTrackTool::eventFilter(), Isis::FileTool::FileTool(), Isis::RubberBandTool::RubberBandTool(), Isis::TrackTool::TrackTool(), and Isis::WindowTool::WindowTool().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
Definition at line 239 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections().
|
virtual |
Adds the stretch action to the given menu.
menu |
Reimplemented from Isis::Tool.
Definition at line 131 of file StretchTool.cpp.
References m_stretchGlobal, and m_stretchRegional.
|
inherited |
Adds the tool to the toolpad.
toolpad |
Definition at line 98 of file Tool.cpp.
References Isis::Tool::activate(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().
|
inherited |
Adds the tool to the application.
pViewPortMnWin |
Definition at line 78 of file Tool.cpp.
References Isis::Tool::addTo(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), and Isis::Tool::menuName().
Referenced by Isis::Tool::addTo(), Isis::EditTool::addTo(), Isis::FileTool::addTo(), Isis::SpecialPixelTool::addTo(), Isis::WindowTool::addTo(), Isis::ViewportMainWindow::ViewportMainWindow(), and Isis::Workspace::Workspace().
|
virtualinherited |
Adds the given workspace to the cubeviewport list.
ws |
Reimplemented in Isis::EditTool, Isis::FileTool, Isis::SpecialPixelTool, and Isis::WindowTool.
Definition at line 45 of file Tool.cpp.
References Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().
|
inherited |
toolbar |
Definition at line 112 of file Tool.cpp.
References Isis::Tool::createToolBarWidget(), Isis::Tool::disableToolBar(), and Isis::Tool::m_toolBarWidget.
Referenced by Isis::Tool::addTo().
|
inlinevirtualinherited |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::BlinkTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, and Isis::WindowTool.
Definition at line 97 of file Tool.h.
Referenced by Isis::Tool::addTo().
|
privateinherited |
Makes all the connections for the tool.
Definition at line 187 of file Tool.cpp.
References Isis::Tool::addConnections(), Isis::Tool::enableRubberBandTool(), Isis::Tool::m_cvp, Isis::Tool::m_toolPadAction, Isis::Tool::mouseButtonPress(), Isis::Tool::mouseButtonRelease(), Isis::Tool::mouseDoubleClick(), Isis::Tool::mouseMove(), and Isis::Tool::screenPixelsChanged().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
privateslot |
This is called when one of the advanced stretches changed.
Give the stretch to the viewport.
Definition at line 1019 of file StretchTool.cpp.
References Isis::Stretch::ClearPairs(), Isis::Stretch::CopyPairs(), Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::getBluStretch(), Isis::AdvancedStretchDialog::getGrayStretch(), Isis::AdvancedStretchDialog::getGrnStretch(), Isis::AdvancedStretchDialog::getRedStretch(), Isis::AdvancedStretchDialog::isRgbMode(), m_advancedStretch, m_chipViewportStretch, stretchChanged(), and stretchChipViewport().
Referenced by StretchTool().
|
privateslot |
This method is called when the stretch has changed and sets the min/max text fields to the correct values.
Does not effect All as the min/max lineedits are hidden for this option
Definition at line 1059 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Blue, Isis::Stretch::ClearPairs(), Isis::Tool::cubeViewport(), Green, m_chipViewportStretch, m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, Red, stretchChanged(), stretchChipViewport(), stretchMinMaxType(), and updateTool().
Referenced by createToolBarWidget().
|
protectedvirtual |
Creates the widget to add to the tool bar.
parent |
Reimplemented from Isis::Tool.
Definition at line 145 of file StretchTool.cpp.
References All, Blue, changeStretch(), deleteFromCube(), Green, loadStretchFromCube(), m_copyBands, m_copyButton, m_flashButton, m_globalButton, m_stretchBand, m_stretchBandComboBox, m_stretchMaxEdit, m_stretchMinEdit, m_stretchRegionalButton, p_minMaxTypeSelection, Red, saveStretchToCube(), setStretchAcrossBands(), setStretchAllViewports(), showAdvancedDialog(), stretchBandChanged(), stretchChanged(), stretchGlobal(), stretchGlobalAllBands(), stretchGlobalAllViewports(), stretchRegional(), and Isis::Tool::toolIconDir().
|
inlineprotectedinherited |
Return the current cubeviewport.
Definition at line 197 of file Tool.h.
References Isis::Tool::m_cvp.
Referenced by Isis::TrackTool::addConnections(), Isis::WindowTool::addConnections(), advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), deleteFromCube(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), loadStretchFromCube(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::SunShadowTool::mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::ScatterPlotTool::mouseMove(), Isis::LatLonGridTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::SunShadowTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::EditTool::rubberBandComplete(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), saveStretchToCube(), Isis::BandTool::setBandBin(), Isis::BandTool::setList(), setStretchAcrossBands(), setStretchAllViewports(), showAdvancedDialog(), Isis::ScatterPlotTool::showNewScatterPlotConfig(), stretchChanged(), stretchGlobal(), stretchGlobalAllBands(), stretchRegional(), Isis::EditTool::undoEdit(), updateAdvStretchDialogforAll(), updateHistograms(), Isis::TrackTool::updateLabels(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::AdvancedTrackTool::updateRow(), Isis::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), Isis::FileTool::updateTool(), Isis::FindTool::updateTool(), Isis::LatLonGridTool::updateTool(), Isis::SpecialPixelTool::updateTool(), updateTool(), Isis::SunShadowTool::updateTool(), Isis::WindowTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::EditTool::writeToCube(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
protectedinherited |
Return the list of cubeviewports.
Definition at line 390 of file Tool.cpp.
References Isis::Workspace::cubeViewportList().
Referenced by Isis::BlinkTool::advance(), Isis::SpecialPixelTool::apply(), Isis::FindTool::centerLinkedViewports(), Isis::WindowTool::changeCursor(), Isis::FileTool::closeAll(), Isis::BandTool::copyAllViewports(), Isis::BandTool::copyLinkedViewports(), Isis::MatchTool::createPoint(), Isis::BlinkTool::eventFilter(), Isis::FeatureNomenclatureTool::featuresIdentified(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), Isis::FeatureNomenclatureTool::findNomenclatureStateChanged(), Isis::FindTool::handleLinkClicked(), Isis::WindowTool::linkWindows(), Isis::RubberBandTool::mouseButtonRelease(), Isis::RubberBandTool::mouseMove(), Isis::QnetTool::openGround(), Isis::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::StereoTool::paintAllViewports(), Isis::QnetTool::paintAllViewports(), Isis::FindTool::refresh(), Isis::AbstractPlotTool::repaintViewports(), Isis::ScatterPlotTool::repaintViewports(), Isis::AbstractPlotTool::repaintViewports(), Isis::WindowTool::resizeWindows(), Isis::BlinkTool::reverse(), Isis::ZoomTool::rubberBandComplete(), Isis::MatchTool::serialNumberList(), Isis::ControlNetTool::setControlNet(), Isis::FeatureNomenclatureTool::setFontColor(), Isis::FeatureNomenclatureTool::setFontSize(), Isis::FeatureNomenclatureTool::setShowApprovedOnly(), setStretchAllViewports(), Isis::FeatureNomenclatureTool::setVectorType(), stretchGlobalAllViewports(), Isis::BlinkTool::toggleLink(), Isis::WindowTool::unlinkWindows(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::WindowTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
protectedslot |
Deletes a saved stretch from the cube.
Definition at line 552 of file StretchTool.cpp.
References Isis::Tool::cubeViewport().
Referenced by createToolBarWidget(), and StretchTool().
|
privateinherited |
Disables entire tool bar.
Definition at line 285 of file Tool.cpp.
References Isis::Tool::m_toolBarWidget.
Referenced by Isis::Tool::activate(), and Isis::Tool::addToActive().
|
protectedslot |
This method enables the RubberBandTool.
Definition at line 1362 of file StretchTool.cpp.
References Isis::RubberBandTool::enable(), and Isis::RubberBandTool::setDrawActiveViewportOnly().
Referenced by mouseButtonRelease().
|
privateinherited |
Enables entire tool bar.
Definition at line 297 of file Tool.cpp.
References Isis::Tool::cubeViewport(), Isis::Tool::m_toolBarWidget, and Isis::Tool::updateTool().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
static |
Given a viewport buffer, this calculates a histogram.
buffer |
Definition at line 1621 of file StretchTool.cpp.
References Isis::ViewportBuffer::bufferXYRect(), histFromBuffer(), and statsFromBuffer().
Referenced by histFromBuffer(), setCubeViewport(), stretchBuffer(), updateAdvStretchDialogforAll(), and updateHistograms().
|
static |
This method will calculate and return the histogram for a given region and viewport buffer.
buffer | |
rect | |
min | |
max |
Definition at line 1640 of file StretchTool.cpp.
References Isis::ViewportBuffer::bufferXYRect(), Isis::ViewportBuffer::getLine(), and Isis::IException::Unknown.
This method will calculate and return the histogram for a given cube and band.
cube | |
band | |
min | |
max |
Definition at line 1599 of file StretchTool.cpp.
References Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::read(), and Isis::Cube::sampleCount().
Referenced by stretchBand(), and stretchMinMaxType().
|
protectedslot |
Restores a saved stretch from the cube.
Definition at line 432 of file StretchTool.cpp.
References Isis::Stretch::CopyPairs(), Isis::Tool::cubeViewport(), m_advancedStretch, Isis::AdvancedStretchDialog::restoreGrayStretch(), Isis::AdvancedStretchDialog::restoreRgbStretch(), and stretchChanged().
Referenced by createToolBarWidget(), and StretchTool().
|
inlinevirtual |
This let's Tool know which Menu the actions this class has should be added to.
Removal of this results in "Ctrl+R" and "Ctrl+G" not working.
Reimplemented from Isis::Tool.
Definition at line 123 of file StretchTool.h.
|
protectedvirtualinherited |
p | |
s |
Definition at line 367 of file Tool.cpp.
Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().
|
protectedslot |
This method will call a global stretch if the right mouse button is released.
start | |
s |
Definition at line 1338 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), enableRubberBandTool(), Isis::Tool::mouseButtonRelease(), stretchChipViewport(), and stretchGlobal().
|
protectedvirtualinherited |
p |
Definition at line 358 of file Tool.cpp.
Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().
|
inlineprotectedvirtualslotinherited |
|
inlineprotectedvirtualslotinherited |
|
protectedvirtualslotinherited |
p |
Definition at line 352 of file Tool.cpp.
Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().
|
inlineprotectedvirtualslotinherited |
|
inlinevirtualinherited |
vp | |
painter |
Reimplemented in Isis::ControlNetTool, Isis::QnetTool, Isis::StereoTool, Isis::LatLonGridTool, Isis::MatchTool, Isis::AbstractPlotTool, Isis::FeatureNomenclatureTool, Isis::FindTool, Isis::RubberBandTool, Isis::ScatterPlotTool, and Isis::SunShadowTool.
|
protectedinherited |
Registers the tool to the viewport.
viewport |
Definition at line 327 of file Tool.cpp.
References Isis::Tool::m_cvp, and Isis::MdiCubeViewport::registerTool().
Referenced by Isis::Tool::addTo().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must be able to remove it's connections.
cvp |
Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.
Definition at line 247 of file Tool.h.
Referenced by Isis::Tool::removeViewportConnections().
|
privateinherited |
Removes all the connections from the tool.
Definition at line 238 of file Tool.cpp.
References Isis::Tool::m_cvp, Isis::Tool::mouseButtonPress(), Isis::Tool::mouseButtonRelease(), Isis::Tool::mouseDoubleClick(), Isis::Tool::mouseMove(), Isis::Tool::removeConnections(), and Isis::Tool::screenPixelsChanged().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
protectedslot |
This method is called when the RubberBandTool is complete.
It will get a rectangle from the RubberBandTool and stretch accordingly.
Definition at line 1269 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::RubberBandTool::rectangle(), and stretchRect().
|
inherited |
|
protectedslot |
Saves a strech to the cube.
Definition at line 618 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::getBluStretch(), Isis::AdvancedStretchDialog::getGrayStretch(), Isis::AdvancedStretchDialog::getGrnStretch(), Isis::AdvancedStretchDialog::getRedStretch(), m_advancedStretch, Isis::CubeStretch::setBandNumber(), Isis::CubeStretch::setName(), and Isis::CubeStretch::toBlob().
Referenced by createToolBarWidget(), and StretchTool().
|
inlineprotectedvirtualinherited |
|
protectedslot |
This is called when the visible area changes.
Definition at line 772 of file StretchTool.cpp.
References updateHistograms().
Referenced by stretchRequested().
|
protectedslot |
This updates the advanced stretch to use the given viewport.
cvp |
Definition at line 782 of file StretchTool.cpp.
References Isis::AdvancedStretchDialog::enable(), Isis::AdvancedStretchDialog::enableGrayMode(), Isis::AdvancedStretchDialog::enableRgbMode(), histFromBuffer(), and m_advancedStretch.
Referenced by updateTool().
|
slotinherited |
Sets the current viewport to the given cvp.
cvp |
Definition at line 160 of file Tool.cpp.
References Isis::Tool::addViewportConnections(), Isis::Tool::enableToolBar(), Isis::Tool::m_active, Isis::Tool::m_cvp, Isis::Tool::removeViewportConnections(), and Isis::Tool::updateTool().
Referenced by Isis::Tool::addTo(), and Isis::FileTool::closeAll().
|
inherited |
|
privateslot |
Sets the stretch for all the bands in the active viewport to the current stretch.
Definition at line 1373 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Blue, Isis::Stretch::ClearPairs(), Isis::Tool::cubeViewport(), Green, m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, and Red.
Referenced by createToolBarWidget().
|
privateslot |
Sets the stretch for all the viewports to the current stretch in the active viewport.
Definition at line 1424 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::Tool::cubeViewportList(), and stretchChanged().
Referenced by createToolBarWidget().
|
privateslot |
This methods shows and updates the advanced dialog.
Definition at line 1176 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), m_advancedStretch, Isis::AdvancedStretchDialog::updateStretch(), and updateTool().
Referenced by createToolBarWidget().
|
static |
This method will calculate and return the statistics for a given region and viewport buffer.
buffer | |
rect |
Definition at line 1564 of file StretchTool.cpp.
References Isis::ViewportBuffer::bufferXYRect(), Isis::ViewportBuffer::getLine(), Isis::IException::User, and Isis::ViewportBuffer::working().
Referenced by histFromBuffer(), and stretchBuffer().
|
static |
This method will calculate and return the statistics for a given cube and band.
cube | |
band |
Definition at line 1541 of file StretchTool.cpp.
References Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::read(), and Isis::Cube::sampleCount().
Referenced by stretchBand(), and stretchMinMaxType().
|
static |
This method computes the stretch over the entire cube.
cvp | |
band | Band to stretch |
Definition at line 1498 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Blue, Isis::Stretch::ClearPairs(), Green, histFromCube(), Red, and statsFromCube().
Referenced by stretchRequested().
|
privateslot |
The selected band for stretching changed.
Definition at line 1673 of file StretchTool.cpp.
References All, m_stretchBand, m_stretchBandComboBox, m_stretchMaxEdit, m_stretchMinEdit, stretchChanged(), and Isis::toInt().
Referenced by createToolBarWidget(), and updateTool().
|
static |
This method computes the stretch over a region using the viewport buffer.
buffer | |
rect |
Definition at line 1468 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), histFromBuffer(), Isis::Stretch::Pairs(), and statsFromBuffer().
Referenced by stretchRect(), and stretchRequested().
|
privateslot |
This method is called when the stretch has changed and sets the min/max text fields to the correct values.
Definition at line 935 of file StretchTool.cpp.
References All, Blue, Isis::Tool::cubeViewport(), Green, Isis::Stretch::Input(), m_advancedStretch, m_flashButton, m_preGlobalStretches, m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, Isis::Stretch::Pairs(), Red, updateAdvStretchDialogforAll(), and Isis::AdvancedStretchDialog::updateStretch().
Referenced by advancedStretchChanged(), changeStretch(), createToolBarWidget(), loadStretchFromCube(), setStretchAllViewports(), stretchBandChanged(), stretchGlobal(), stretchRect(), stretchRequested(), StretchTool(), and updateTool().
|
signal |
when a viewport is stretched, send the stretch and the viewport associated with it to any ChipViewport's that might be listening
Referenced by advancedStretchChanged(), changeStretch(), mouseButtonRelease(), and stretchRect().
|
slot |
Does a global stretch for the active viewport.
Definition at line 1191 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), and stretchGlobal().
Referenced by createToolBarWidget(), mouseButtonRelease(), stretchGlobal(), stretchGlobalAllBands(), stretchGlobalAllViewports(), and StretchTool().
|
slot |
Does a global stretch for the specified viewport.
Definition at line 1215 of file StretchTool.cpp.
References stretchChanged().
|
slot |
This resets the stretch across all bands.
Definition at line 1202 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), and stretchGlobal().
Referenced by createToolBarWidget().
|
slot |
Does a global stretch for all the viewports.
Definition at line 1225 of file StretchTool.cpp.
References Isis::Tool::cubeViewportList(), and stretchGlobal().
Referenced by createToolBarWidget().
|
private |
Sets stretch for current band in active viewport given the min/max type selection.
Definition at line 1123 of file StretchTool.cpp.
References Blue, Green, histFromCube(), m_stretchBandComboBox, m_stretchMaxEdit, m_stretchMinEdit, p_minMaxTypeSelection, Red, and statsFromCube().
Referenced by changeStretch().
|
private |
stretch the specified CubeViewport with the given rect
cvp | The CubeViewport to stretch |
rect | The rect with which to stretch the CubeViewport |
Definition at line 1288 of file StretchTool.cpp.
References All, Blue, Isis::Stretch::ClearPairs(), Green, m_chipViewportStretch, m_stretchBand, Isis::IException::Programmer, Red, stretchBuffer(), stretchChanged(), and stretchChipViewport().
Referenced by rubberBandComplete(), and stretchRegional().
|
slot |
Does a regional stretch for the active viewport.
Definition at line 1238 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), and stretchRegional().
Referenced by createToolBarWidget(), stretchRegional(), and StretchTool().
|
slot |
Does a regional stretch for the specified viewport.
Definition at line 1249 of file StretchTool.cpp.
References stretchRect().
|
protectedvirtual |
The cube viewport requested a stretch at this time, give it to the viewport.
cvp | |
bandId |
Reimplemented from Isis::Tool.
Definition at line 873 of file StretchTool.cpp.
References All, Blue, Isis::Stretch::CopyPairs(), Gray, Green, Red, screenPixelsChanged(), stretchBand(), stretchBuffer(), stretchChanged(), and updateHistograms().
|
inlineinherited |
returns the path to the icon directory.
Definition at line 113 of file Tool.h.
References Isis::Tool::m_toolIconDir.
Referenced by Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::BlinkTool::BlinkTool(), Isis::MatchTool::createActions(), Isis::QnetTool::createActions(), Isis::StereoTool::createMenus(), Isis::BandTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HistogramTool::HistogramTool(), Isis::SpecialPixelTool::SpecialPixelTool(), Isis::RubberBandComboBox::toolIconDir(), Isis::BandTool::toolPadAction(), Isis::ControlNetTool::toolPadAction(), Isis::EditTool::toolPadAction(), Isis::FeatureNomenclatureTool::toolPadAction(), Isis::HistogramTool::toolPadAction(), Isis::LatLonGridTool::toolPadAction(), Isis::MatchTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::QnetTool::toolPadAction(), Isis::ScatterPlotTool::toolPadAction(), Isis::SpatialPlotTool::toolPadAction(), Isis::SpectralPlotTool::toolPadAction(), Isis::StereoTool::toolPadAction(), toolPadAction(), Isis::SunShadowTool::toolPadAction(), Isis::FindTool::toolPadAction(), Isis::StatisticsTool::toolPadAction(), Isis::ZoomTool::toolPadAction(), Isis::WindowTool::WindowTool(), and Isis::ZoomTool::ZoomTool().
Adds the stretch action to the toolpad.
pad |
Reimplemented from Isis::Tool.
Definition at line 111 of file StretchTool.cpp.
References Isis::Tool::toolIconDir().
void Isis::StretchTool::updateAdvStretchDialogforAll | ( | void | ) |
Update the streches and corresponding histograms for all the colors Red, Green and Blue for Stretch All Mode.
Definition at line 404 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), histFromBuffer(), m_advancedStretch, and Isis::AdvancedStretchDialog::updateForRGBMode().
Referenced by stretchChanged().
|
protectedslot |
This updates the visible histograms in the advanced stretch, if present.
Definition at line 356 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), histFromBuffer(), Isis::AdvancedStretchDialog::isRgbMode(), m_advancedStretch, Isis::AdvancedStretchDialog::updateHistogram(), Isis::AdvancedStretchDialog::updateHistograms(), and updateTool().
Referenced by screenPixelsChanged(), stretchRequested(), and updateTool().
|
inlineprotectedvirtualinherited |
|
protectedvirtual |
Updates the stretch tool.
Reimplemented from Isis::Tool.
Definition at line 820 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::enabled(), Isis::AdvancedStretchDialog::isRgbMode(), m_advancedStretch, m_copyBands, m_stretchBandComboBox, m_stretchMaxEdit, m_stretchMinEdit, setCubeViewport(), stretchBandChanged(), stretchChanged(), and updateHistograms().
Referenced by changeStretch(), showAdvancedDialog(), StretchTool(), and updateHistograms().
|
signal |
Shows a warning.
This sends a signal (meant for when an exception occurs) to display the error using the warning object
pStr | |
pExStr |
Referenced by StretchTool().
|
privateinherited |
Is the tool acitve?
Definition at line 264 of file Tool.h.
Referenced by Isis::Tool::activate(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().
|
private |
The advanced dialog.
Definition at line 183 of file StretchTool.h.
Referenced by advancedStretchChanged(), loadStretchFromCube(), saveStretchToCube(), setCubeViewport(), showAdvancedDialog(), stretchChanged(), StretchTool(), updateAdvStretchDialogforAll(), updateHistograms(), and updateTool().
|
private |
ChipViewport's stretch.
Definition at line 206 of file StretchTool.h.
Referenced by advancedStretchChanged(), changeStretch(), stretchRect(), StretchTool(), and ~StretchTool().
|
private |
Copy band stretch action.
Definition at line 193 of file StretchTool.h.
Referenced by createToolBarWidget(), and updateTool().
|
private |
|
privateinherited |
current cubeviewport
Definition at line 261 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections(), Isis::Tool::cubeViewport(), Isis::Tool::registerTool(), Isis::Tool::removeViewportConnections(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().
|
private |
Button to press for global stretch.
Definition at line 188 of file StretchTool.h.
Referenced by createToolBarWidget(), and stretchChanged().
|
private |
|
private |
Stretches before global button pressed.
Definition at line 204 of file StretchTool.h.
Referenced by stretchChanged(), StretchTool(), and ~StretchTool().
|
private |
Current stretch band.
Definition at line 201 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and stretchRect().
|
private |
Stretch combo box.
Definition at line 195 of file StretchTool.h.
Referenced by createToolBarWidget(), stretchBandChanged(), stretchMinMaxType(), and updateTool().
|
private |
Global stretch action.
Definition at line 190 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Manual stretch action.
Definition at line 192 of file StretchTool.h.
|
private |
Max. line edit.
Definition at line 199 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), stretchMinMaxType(), and updateTool().
|
private |
Min. line edit.
Definition at line 198 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), stretchMinMaxType(), and updateTool().
|
private |
Regional stretch action.
Definition at line 191 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Regional Stretch Button.
Definition at line 187 of file StretchTool.h.
Referenced by createToolBarWidget().
|
privateinherited |
The tool bar on which this tool resides.
Definition at line 265 of file Tool.h.
Referenced by Isis::Tool::addToActive(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), and Isis::Tool::Tool().
|
privateinherited |
The pathway to the icon directory.
Definition at line 267 of file Tool.h.
Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().
|
privateinherited |
The tool pad on which this tool resides.
Definition at line 266 of file Tool.h.
Referenced by Isis::Tool::activate(), Isis::Tool::addTo(), Isis::Tool::addViewportConnections(), and Isis::Tool::Tool().
|
private |
Min/Max type combo box.
Definition at line 196 of file StretchTool.h.
Referenced by createToolBarWidget(), and stretchMinMaxType().