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. More... | |
void | stretchGlobal (CubeViewport *) |
Does a global stretch for the specified viewport. More... | |
void | stretchGlobalAllBands () |
This resets the stretch across all bands. More... | |
void | stretchGlobalAllViewports () |
Does a global stretch for all the viewports. More... | |
void | stretchRegional () |
Does a regional stretch for the active viewport. More... | |
void | stretchRegional (CubeViewport *) |
Does a regional stretch for the specified viewport. More... | |
void | activate (bool) |
Activates the tool. More... | |
void | setCubeViewport (MdiCubeViewport *cvp) |
Sets the current viewport to the given cvp. More... | |
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 More... | |
void | warningSignal (std::string &pStr, const std::string pExStr) |
Shows a warning. More... | |
void | clearWarningSignal () |
void | toolActivated () |
void | viewportChanged () |
Public Member Functions | |
StretchTool (QWidget *parent) | |
StretchTool constructor. More... | |
~StretchTool () | |
Destructor. More... | |
void | addTo (QMenu *menu) |
Adds the stretch action to the given menu. More... | |
void | updateAdvStretchDialogforAll (void) |
Update the streches and corresponding histograms for all the colors Red, Green and Blue for Stretch All Mode. More... | |
QString | menuName () const |
This let's Tool know which Menu the actions this class has should be added to. More... | |
void | addTo (ViewportMainWindow *mw) |
Adds the tool to the application. More... | |
void | addTo (ToolPad *toolpad) |
Adds the tool to the toolpad. More... | |
virtual void | addTo (Workspace *ws) |
Adds the given workspace to the cubeviewport list. More... | |
virtual void | addToPermanent (QToolBar *toolbar) |
void | addToActive (QToolBar *toolbar) |
QString | toolIconDir () const |
returns the path to the icon directory. More... | |
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. More... | |
static Stretch | stretchBand (CubeViewport *cvp, StretchBand band) |
This method computes the stretch over the entire cube. More... | |
static Statistics | statsFromCube (Cube *cube, int band) |
This method will calculate and return the statistics for a given cube and band. More... | |
static Statistics | statsFromBuffer (ViewportBuffer *buffer, QRect rect) |
This method will calculate and return the statistics for a given region and viewport buffer. More... | |
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. More... | |
static Histogram | histFromBuffer (ViewportBuffer *buffer) |
Given a viewport buffer, this calculates a histogram. More... | |
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. More... | |
Protected Types | |
typedef QVector< MdiCubeViewport *> | CubeViewportList |
A list of cubeviewports. More... | |
Protected Slots | |
void | mouseButtonRelease (QPoint p, Qt::MouseButton s) |
This method will call a global stretch if the right mouse button is released. More... | |
void | enableRubberBandTool () |
This method enables the RubberBandTool. More... | |
void | screenPixelsChanged () |
This is called when the visible area changes. More... | |
void | updateHistograms () |
This updates the visible histograms in the advanced stretch, if present. More... | |
void | rubberBandComplete () |
This method is called when the RubberBandTool is complete. More... | |
void | setCubeViewport (CubeViewport *) |
This updates the advanced stretch to use the given viewport. More... | |
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. More... | |
QWidget * | createToolBarWidget (QStackedWidget *parent) |
Creates the widget to add to the tool bar. More... | |
void | updateTool () |
Updates the stretch tool. More... | |
void | stretchRequested (MdiCubeViewport *cvp, int bandId) |
The cube viewport requested a stretch at this time, give it to the viewport. More... | |
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. More... | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. More... | |
CubeViewportList * | cubeViewportList () const |
Return the list of cubeviewports. More... | |
virtual void | addConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must add the connections for it. More... | |
virtual void | removeConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must be able to remove it's connections. More... | |
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. More... | |
void | advancedStretchChanged () |
This is called when one of the advanced stretches changed. More... | |
void | changeStretch () |
This method is called when the stretch has changed and sets the min/max text fields to the correct values. More... | |
void | showAdvancedDialog () |
This methods shows and updates the advanced dialog. More... | |
void | setStretchAcrossBands () |
Sets the stretch for all the bands in the active viewport to the current stretch. More... | |
void | setStretchAllViewports () |
Sets the stretch for all the viewports to the current stretch in the active viewport. More... | |
void | stretchBandChanged (int) |
The selected band for stretching changed. More... | |
Private Member Functions | |
void | stretchRect (CubeViewport *cvp, QRect rect) |
stretch the specified CubeViewport with the given rect More... | |
Private Attributes | |
AdvancedStretchDialog * | m_advancedStretch |
The advanced dialog. More... | |
QToolButton * | m_copyButton |
Copy Button. More... | |
QToolButton * | m_globalButton |
Global Button. More... | |
QToolButton * | m_stretchRegionalButton |
Regional Stretch Button. More... | |
QPushButton * | m_flashButton |
Button to press for global stretch. More... | |
QAction * | m_stretchGlobal |
Global stretch action. More... | |
QAction * | m_stretchRegional |
Regional stretch action. More... | |
QAction * | m_stretchManual |
Manual stretch action. More... | |
QAction * | m_copyBands |
Copy band stretch action. More... | |
QComboBox * | m_stretchBandComboBox |
Stretch combo box. More... | |
QLineEdit * | m_stretchMinEdit |
Min. line edit. More... | |
QLineEdit * | m_stretchMaxEdit |
Max. line edit. More... | |
StretchBand | m_stretchBand |
Current stretch band. More... | |
Stretch * | m_preGlobalStretches |
Stretches before global button pressed. More... | |
Stretch * | m_chipViewportStretch |
ChipViewport's stretch. More... | |
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 99 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 110 of file StretchTool.h.
Isis::StretchTool::StretchTool | ( | QWidget * | parent | ) |
StretchTool constructor.
parent |
Definition at line 42 of file StretchTool.cpp.
References advancedStretchChanged(), m_advancedStretch, m_chipViewportStretch, m_preGlobalStretches, m_stretchGlobal, m_stretchRegional, stretchChanged(), stretchGlobal(), stretchRegional(), updateTool(), and warningSignal().
Isis::StretchTool::~StretchTool | ( | ) |
Destructor.
Definition at line 82 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(), Isis::WindowTool::WindowTool(), and Isis::Workspace::Workspace().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
Definition at line 253 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections().
|
inherited |
Adds the tool to the application.
pViewPortMnWin |
Definition at line 78 of file Tool.cpp.
References Isis::ViewportMainWindow::activeToolBar(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), Isis::ViewportMainWindow::getMenu(), Isis::Tool::menuName(), Isis::ViewportMainWindow::permanentToolBar(), Isis::ViewportMainWindow::toolPad(), and Isis::ViewportMainWindow::workspace().
Referenced by Isis::WindowTool::addTo(), Isis::SpecialPixelTool::addTo(), Isis::FileTool::addTo(), Isis::EditTool::addTo(), Isis::ViewportMainWindow::ViewportMainWindow(), and Isis::Workspace::Workspace().
|
inherited |
Adds the tool to the toolpad.
toolpad |
Definition at line 98 of file Tool.cpp.
References Isis::Tool::activate(), Isis::ToolPad::addAction(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().
|
virtual |
Adds the stretch action to the given menu.
menu |
Reimplemented from Isis::Tool.
Definition at line 119 of file StretchTool.cpp.
References m_stretchGlobal, and m_stretchRegional.
|
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(), and Isis::Workspace::Workspace().
|
inlinevirtualinherited |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, and Isis::WindowTool.
Definition at line 111 of file Tool.h.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
privateslot |
This is called when one of the advanced stretches changed.
Give the stretch to the viewport.
Definition at line 623 of file StretchTool.cpp.
References Isis::CubeViewport::blueStretch(), Isis::Stretch::ClearPairs(), Isis::Stretch::CopyPairs(), Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::getBluStretch(), Isis::AdvancedStretchDialog::getGrayStretch(), Isis::AdvancedStretchDialog::getGrnStretch(), Isis::AdvancedStretchDialog::getRedStretch(), Isis::CubeViewport::grayStretch(), Isis::CubeViewport::greenStretch(), Isis::AdvancedStretchDialog::isRgbMode(), m_advancedStretch, m_chipViewportStretch, Isis::CubeViewport::redStretch(), Isis::CubeViewport::stretchBlue(), stretchChanged(), stretchChipViewport(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), and Isis::CubeViewport::stretchRed().
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 663 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Blue, Isis::CubeViewport::blueStretch(), Isis::Stretch::ClearPairs(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), m_chipViewportStretch, m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, Red, Isis::CubeViewport::redStretch(), Isis::CubeViewport::stretchBlue(), stretchChanged(), stretchChipViewport(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), Isis::CubeViewport::stretchRed(), and updateTool().
Referenced by createToolBarWidget().
|
protectedvirtual |
Creates the widget to add to the tool bar.
parent |
Reimplemented from Isis::Tool.
Definition at line 133 of file StretchTool.cpp.
References All, Blue, changeStretch(), Green, m_copyBands, m_copyButton, m_flashButton, m_globalButton, m_stretchBand, m_stretchBandComboBox, m_stretchMaxEdit, m_stretchMinEdit, m_stretchRegionalButton, Red, setStretchAcrossBands(), setStretchAllViewports(), showAdvancedDialog(), stretchBandChanged(), stretchChanged(), stretchGlobal(), stretchGlobalAllBands(), stretchGlobalAllViewports(), stretchRegional(), and Isis::Tool::toolIconDir().
|
inlineprotectedinherited |
Return the current cubeviewport.
Definition at line 211 of file Tool.h.
References Isis::Tool::m_cvp.
Referenced by Isis::WindowTool::addConnections(), Isis::TrackTool::addConnections(), advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::ControlNetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::EditTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::ScatterPlotTool::mouseMove(), Isis::SunShadowTool::mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::SunShadowTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::WindowTool::removeConnections(), Isis::TrackTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::EditTool::rubberBandComplete(), rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), 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::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::BandTool::updateTool(), Isis::SunShadowTool::updateTool(), Isis::AbstractPlotTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::FileTool::updateTool(), Isis::EditTool::updateTool(), Isis::FindTool::updateTool(), 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::StereoTool::paintAllViewports(), Isis::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::QnetTool::paintAllViewports(), Isis::FindTool::refresh(), 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::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
protectedslot |
This method enables the RubberBandTool.
Definition at line 912 of file StretchTool.cpp.
References Isis::RubberBandTool::enable(), and Isis::RubberBandTool::setDrawActiveViewportOnly().
Referenced by mouseButtonRelease().
|
static |
Given a viewport buffer, this calculates a histogram.
buffer |
Definition at line 1171 of file StretchTool.cpp.
References Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), Isis::ViewportBuffer::bufferXYRect(), and statsFromBuffer().
Referenced by 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 1190 of file StretchTool.cpp.
References _FILEINFO_, Isis::Histogram::AddData(), 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 1149 of file StretchTool.cpp.
References Isis::Histogram::AddData(), Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::read(), Isis::Cube::sampleCount(), and Isis::Brick::SetBasePosition().
Referenced by stretchBand().
|
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 137 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 888 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().
|
protectedvirtualslotinherited |
p |
Definition at line 352 of file Tool.cpp.
Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().
|
inlinevirtualinherited |
vp | |
painter |
Reimplemented in Isis::QnetTool, Isis::MatchTool, Isis::FindTool, Isis::FeatureNomenclatureTool, Isis::RubberBandTool, Isis::ControlNetTool, Isis::StereoTool, Isis::SunShadowTool, Isis::AbstractPlotTool, and Isis::ScatterPlotTool.
|
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 261 of file Tool.h.
Referenced by Isis::Tool::removeViewportConnections().
|
protectedslot |
This method is called when the RubberBandTool is complete.
It will get a rectangle from the RubberBandTool and stretch accordingly.
Definition at line 819 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::RubberBandTool::rectangle(), and stretchRect().
|
protectedslot |
This is called when the visible area changes.
Definition at line 376 of file StretchTool.cpp.
References updateHistograms().
Referenced by stretchRequested().
|
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().
|
protectedslot |
This updates the advanced stretch to use the given viewport.
cvp |
Definition at line 386 of file StretchTool.cpp.
References Isis::CubeViewport::blueBuffer(), Isis::CubeViewport::blueStretch(), Isis::AdvancedStretchDialog::enable(), Isis::AdvancedStretchDialog::enableGrayMode(), Isis::AdvancedStretchDialog::enableRgbMode(), Isis::CubeViewport::grayBuffer(), Isis::CubeViewport::grayStretch(), Isis::CubeViewport::greenBuffer(), Isis::CubeViewport::greenStretch(), histFromBuffer(), Isis::CubeViewport::isGray(), m_advancedStretch, Isis::CubeViewport::redBuffer(), Isis::CubeViewport::redStretch(), and Isis::ViewportBuffer::working().
Referenced by updateTool().
|
privateslot |
Sets the stretch for all the bands in the active viewport to the current stretch.
Definition at line 923 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Blue, Isis::CubeViewport::blueStretch(), Isis::Stretch::ClearPairs(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, Red, Isis::CubeViewport::redStretch(), Isis::CubeViewport::setAllBandStretches(), Isis::CubeViewport::stretchBlue(), Isis::CubeViewport::stretchGreen(), and Isis::CubeViewport::stretchRed().
Referenced by createToolBarWidget().
|
privateslot |
Sets the stretch for all the viewports to the current stretch in the active viewport.
Definition at line 974 of file StretchTool.cpp.
References Isis::CubeViewport::blueStretch(), Isis::Stretch::CopyPairs(), Isis::Tool::cubeViewport(), Isis::Tool::cubeViewportList(), Isis::CubeViewport::grayStretch(), Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), Isis::CubeViewport::redStretch(), Isis::CubeViewport::stretchBlue(), stretchChanged(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), and Isis::CubeViewport::stretchRed().
Referenced by createToolBarWidget().
|
privateslot |
This methods shows and updates the advanced dialog.
Definition at line 725 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 1114 of file StretchTool.cpp.
References _FILEINFO_, 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 1091 of file StretchTool.cpp.
References Isis::Statistics::AddData(), Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::read(), Isis::Cube::sampleCount(), and Isis::Brick::SetBasePosition().
Referenced by stretchBand().
|
static |
This method computes the stretch over the entire cube.
cvp | |
band | Band to stretch |
Definition at line 1048 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), Blue, Isis::CubeViewport::blueBand(), Isis::CubeViewport::blueStretch(), Isis::Stretch::ClearPairs(), Isis::CubeViewport::cube(), Isis::CubeViewport::grayBand(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenBand(), Isis::CubeViewport::greenStretch(), histFromCube(), Red, Isis::CubeViewport::redBand(), Isis::CubeViewport::redStretch(), and statsFromCube().
Referenced by Isis::IndependentCubeViewport::restretch(), and stretchRequested().
|
privateslot |
The selected band for stretching changed.
Definition at line 1223 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 1018 of file StretchTool.cpp.
References Isis::Stretch::AddPair(), Isis::Statistics::BestMaximum(), Isis::Statistics::BestMinimum(), histFromBuffer(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::Stretch::Pairs(), Isis::Histogram::Percent(), statsFromBuffer(), and Isis::Statistics::ValidPixels().
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 539 of file StretchTool.cpp.
References All, Blue, Isis::CubeViewport::blueStretch(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenStretch(), Isis::Stretch::Input(), Isis::CubeViewport::isGray(), m_advancedStretch, m_flashButton, m_preGlobalStretches, m_stretchBand, m_stretchMaxEdit, m_stretchMinEdit, Isis::Stretch::Pairs(), Red, Isis::CubeViewport::redStretch(), Isis::CubeViewport::stretchBlue(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), Isis::CubeViewport::stretchKnownGlobal(), Isis::CubeViewport::stretchRed(), updateAdvStretchDialogforAll(), and Isis::AdvancedStretchDialog::updateStretch().
Referenced by advancedStretchChanged(), changeStretch(), createToolBarWidget(), 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 741 of file StretchTool.cpp.
References Isis::Tool::cubeViewport().
Referenced by createToolBarWidget(), mouseButtonRelease(), stretchGlobalAllBands(), stretchGlobalAllViewports(), and StretchTool().
|
slot |
Does a global stretch for the specified viewport.
Definition at line 765 of file StretchTool.cpp.
References stretchChanged(), and Isis::CubeViewport::stretchKnownGlobal().
|
slot |
This resets the stretch across all bands.
Definition at line 752 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::CubeViewport::forgetStretches(), and stretchGlobal().
Referenced by createToolBarWidget().
|
slot |
Does a global stretch for all the viewports.
Definition at line 775 of file StretchTool.cpp.
References Isis::Tool::cubeViewportList(), and stretchGlobal().
Referenced by createToolBarWidget().
|
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 838 of file StretchTool.cpp.
References _FILEINFO_, All, Blue, Isis::CubeViewport::blueBuffer(), Isis::CubeViewport::blueStretch(), Isis::Stretch::ClearPairs(), Isis::Stretch::CopyPairs(), Isis::CubeViewport::grayBuffer(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenBuffer(), Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), m_chipViewportStretch, m_stretchBand, Isis::IException::Programmer, Red, Isis::CubeViewport::redBuffer(), Isis::CubeViewport::redStretch(), Isis::CubeViewport::stretchBlue(), stretchBuffer(), stretchChanged(), stretchChipViewport(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), and Isis::CubeViewport::stretchRed().
Referenced by rubberBandComplete(), and stretchRegional().
|
slot |
Does a regional stretch for the active viewport.
Definition at line 788 of file StretchTool.cpp.
References Isis::Tool::cubeViewport().
Referenced by createToolBarWidget(), and StretchTool().
|
slot |
Does a regional stretch for the specified viewport.
Definition at line 799 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 477 of file StretchTool.cpp.
References All, Blue, Isis::CubeViewport::blueBuffer(), Isis::CubeViewport::blueStretch(), Isis::Stretch::CopyPairs(), Gray, Isis::CubeViewport::grayBuffer(), Isis::CubeViewport::grayStretch(), Green, Isis::CubeViewport::greenBuffer(), Isis::CubeViewport::greenStretch(), Isis::ViewportBuffer::hasEntireCube(), Red, Isis::CubeViewport::redBuffer(), Isis::CubeViewport::redStretch(), screenPixelsChanged(), stretchBand(), Isis::CubeViewport::stretchBlue(), stretchBuffer(), stretchChanged(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), Isis::CubeViewport::stretchRed(), and updateHistograms().
|
inlineinherited |
returns the path to the icon directory.
Definition at line 127 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::PanTool::createToolBarWidget(), Isis::BandTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HistogramTool::HistogramTool(), Isis::SpecialPixelTool::SpecialPixelTool(), Isis::RubberBandComboBox::toolIconDir(), Isis::PanTool::toolPadAction(), Isis::ScatterPlotTool::toolPadAction(), Isis::HistogramTool::toolPadAction(), Isis::BandTool::toolPadAction(), Isis::SunShadowTool::toolPadAction(), Isis::SpectralPlotTool::toolPadAction(), Isis::SpatialPlotTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::StereoTool::toolPadAction(), Isis::ControlNetTool::toolPadAction(), Isis::ZoomTool::toolPadAction(), Isis::EditTool::toolPadAction(), Isis::FeatureNomenclatureTool::toolPadAction(), Isis::StatisticsTool::toolPadAction(), Isis::FindTool::toolPadAction(), toolPadAction(), Isis::MatchTool::toolPadAction(), Isis::QnetTool::toolPadAction(), Isis::WindowTool::WindowTool(), and Isis::ZoomTool::ZoomTool().
Adds the stretch action to the toolpad.
pad |
Reimplemented from Isis::Tool.
Definition at line 99 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 349 of file StretchTool.cpp.
References Isis::CubeViewport::blueBuffer(), Isis::CubeViewport::blueStretch(), Isis::Tool::cubeViewport(), Isis::CubeViewport::greenBuffer(), Isis::CubeViewport::greenStretch(), histFromBuffer(), Isis::CubeViewport::isGray(), m_advancedStretch, Isis::CubeViewport::redBuffer(), Isis::CubeViewport::redStretch(), Isis::AdvancedStretchDialog::updateForRGBMode(), and Isis::ViewportBuffer::working().
Referenced by stretchChanged().
|
protectedslot |
This updates the visible histograms in the advanced stretch, if present.
Definition at line 302 of file StretchTool.cpp.
References Isis::CubeViewport::blueBuffer(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayBuffer(), Isis::CubeViewport::greenBuffer(), histFromBuffer(), Isis::CubeViewport::isGray(), Isis::AdvancedStretchDialog::isRgbMode(), m_advancedStretch, Isis::CubeViewport::redBuffer(), Isis::AdvancedStretchDialog::updateHistogram(), Isis::AdvancedStretchDialog::updateHistograms(), updateTool(), Isis::Statistics::ValidPixels(), and Isis::ViewportBuffer::working().
Referenced by screenPixelsChanged(), stretchRequested(), and updateTool().
|
protectedvirtual |
Updates the stretch tool.
Reimplemented from Isis::Tool.
Definition at line 424 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::enabled(), Isis::CubeViewport::isGray(), 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().
|
private |
The advanced dialog.
Definition at line 193 of file StretchTool.h.
Referenced by advancedStretchChanged(), setCubeViewport(), showAdvancedDialog(), stretchChanged(), StretchTool(), updateAdvStretchDialogforAll(), updateHistograms(), and updateTool().
|
private |
ChipViewport's stretch.
Definition at line 215 of file StretchTool.h.
Referenced by advancedStretchChanged(), changeStretch(), stretchRect(), StretchTool(), and ~StretchTool().
|
private |
Copy band stretch action.
Definition at line 203 of file StretchTool.h.
Referenced by createToolBarWidget(), and updateTool().
|
private |
|
private |
Button to press for global stretch.
Definition at line 198 of file StretchTool.h.
Referenced by createToolBarWidget(), and stretchChanged().
|
private |
|
private |
Stretches before global button pressed.
Definition at line 213 of file StretchTool.h.
Referenced by stretchChanged(), StretchTool(), and ~StretchTool().
|
private |
Current stretch band.
Definition at line 210 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and stretchRect().
|
private |
Stretch combo box.
Definition at line 205 of file StretchTool.h.
Referenced by createToolBarWidget(), stretchBandChanged(), and updateTool().
|
private |
Global stretch action.
Definition at line 200 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Manual stretch action.
Definition at line 202 of file StretchTool.h.
|
private |
Max. line edit.
Definition at line 208 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and updateTool().
|
private |
Min. line edit.
Definition at line 207 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and updateTool().
|
private |
Regional stretch action.
Definition at line 201 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Regional Stretch Button.
Definition at line 197 of file StretchTool.h.
Referenced by createToolBarWidget().