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 | saveStretchToCube () |
Saves a strech to the cube. More... | |
void | deleteFromCube () |
Deletes a saved stretch from the cube. More... | |
void | loadStretchFromCube () |
Restores a saved stretch from the cube. 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... | |
void | addViewportConnections () |
Makes all the connections for the tool. More... | |
void | removeViewportConnections () |
Removes all the connections from the tool. More... | |
void | enableToolBar () |
Enables entire tool bar. More... | |
void | disableToolBar () |
Disables entire tool bar. 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... | |
MdiCubeViewport * | m_cvp |
current cubeviewport More... | |
Workspace * | m_workspace |
bool | m_active |
Is the tool acitve? More... | |
QWidget * | m_toolBarWidget |
The tool bar on which this tool resides. More... | |
QAction * | m_toolPadAction |
The tool pad on which this tool resides. More... | |
QString | m_toolIconDir |
The pathway to the icon directory. More... | |
ToolList * | m_toolList |
Stretch image edit tool.
This tool is part of the Qisis namespace and allows interactive editing of displayed images.
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(), Isis::WindowTool::WindowTool(), and Isis::Workspace::Workspace().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::WindowTool, and Isis::TrackTool.
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::ToolPad::addAction(), 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::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::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::WindowTool, Isis::SpecialPixelTool, Isis::FileTool, and Isis::EditTool.
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::WindowTool, Isis::SpecialPixelTool, Isis::HelpTool, Isis::FileTool, Isis::BlinkTool, and Isis::AdvancedTrackTool.
Definition at line 97 of file Tool.h.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
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 994 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 1034 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 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, 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::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::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), Isis::FileTool::updateTool(), Isis::FindTool::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::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 527 of file StretchTool.cpp.
References Isis::PvlObject::beginObject(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::Cube::deleteBlob(), Isis::CubeViewport::grayBand(), Isis::Cube::isReadOnly(), Isis::Cube::label(), and Isis::Cube::reopen().
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 1282 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 1541 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 1560 of file StretchTool.cpp.
References 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 1519 of file StretchTool.cpp.
References Isis::Histogram::AddData(), Isis::Buffer::DoubleBuffer(), Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::read(), Isis::Cube::sampleCount(), and Isis::Brick::SetBasePosition().
Referenced by stretchBand().
|
protectedslot |
Restores a saved stretch from the cube.
Definition at line 407 of file StretchTool.cpp.
References Isis::PvlObject::beginObject(), Isis::CubeViewport::blueBand(), Isis::CubeViewport::blueStretch(), Isis::Stretch::CopyPairs(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayBand(), Isis::CubeViewport::grayStretch(), Isis::CubeViewport::greenBand(), Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), Isis::Cube::label(), m_advancedStretch, Isis::Cube::readCubeStretch(), Isis::CubeViewport::redBand(), Isis::CubeViewport::redStretch(), Isis::AdvancedStretchDialog::restoreGrayStretch(), Isis::AdvancedStretchDialog::restoreRgbStretch(), Isis::CubeViewport::stretchBlue(), stretchChanged(), Isis::CubeViewport::stretchGray(), Isis::CubeViewport::stretchGreen(), and Isis::CubeViewport::stretchRed().
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 1258 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::SunShadowTool, Isis::ScatterPlotTool, Isis::RubberBandTool, Isis::FindTool, Isis::FeatureNomenclatureTool, Isis::AbstractPlotTool, Isis::MatchTool, Isis::StereoTool, Isis::QnetTool, and Isis::ControlNetTool.
|
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::WindowTool, Isis::TrackTool, and Isis::MeasureTool.
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 1189 of file StretchTool.cpp.
References Isis::Tool::cubeViewport(), Isis::RubberBandTool::rectangle(), and stretchRect().
|
protectedslot |
Saves a strech to the cube.
Definition at line 593 of file StretchTool.cpp.
References Isis::PvlObject::beginObject(), Isis::CubeViewport::blueBand(), Isis::CubeViewport::blueStretch(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::AdvancedStretchDialog::getBluStretch(), Isis::AdvancedStretchDialog::getGrayStretch(), Isis::AdvancedStretchDialog::getGrnStretch(), Isis::AdvancedStretchDialog::getRedStretch(), Isis::CubeViewport::grayBand(), Isis::CubeViewport::grayStretch(), Isis::CubeViewport::greenBand(), Isis::CubeViewport::greenStretch(), Isis::CubeViewport::isGray(), Isis::Cube::isReadOnly(), Isis::Cube::label(), m_advancedStretch, Isis::CubeViewport::redBand(), Isis::CubeViewport::redStretch(), Isis::Cube::reopen(), Isis::CubeStretch::setBandNumber(), Isis::CubeStretch::setName(), Isis::CubeStretch::toBlob(), and Isis::Cube::write().
Referenced by createToolBarWidget(), and StretchTool().
|
protectedslot |
This is called when the visible area changes.
Definition at line 747 of file StretchTool.cpp.
References updateHistograms().
Referenced by stretchRequested().
|
protectedslot |
This updates the advanced stretch to use the given viewport.
cvp |
Definition at line 757 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().
|
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().
|
privateslot |
Sets the stretch for all the bands in the active viewport to the current stretch.
Definition at line 1293 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 1344 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 1096 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 1484 of file StretchTool.cpp.
References Isis::Statistics::AddData(), 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 1461 of file StretchTool.cpp.
References Isis::Statistics::AddData(), Isis::Buffer::DoubleBuffer(), 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 1418 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(), Isis::Histogram::Percent(), 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 1593 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 1388 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 910 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(), 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 1111 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 1135 of file StretchTool.cpp.
References stretchChanged(), and Isis::CubeViewport::stretchKnownGlobal().
|
slot |
This resets the stretch across all bands.
Definition at line 1122 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 1145 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 1208 of file StretchTool.cpp.
References 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 1158 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 1169 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 848 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 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::PanTool::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::MatchTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::PanTool::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 379 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 331 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 795 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().
|
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 182 of file StretchTool.h.
Referenced by advancedStretchChanged(), loadStretchFromCube(), saveStretchToCube(), setCubeViewport(), showAdvancedDialog(), stretchChanged(), StretchTool(), updateAdvStretchDialogforAll(), updateHistograms(), and updateTool().
|
private |
ChipViewport's stretch.
Definition at line 204 of file StretchTool.h.
Referenced by advancedStretchChanged(), changeStretch(), stretchRect(), StretchTool(), and ~StretchTool().
|
private |
Copy band stretch action.
Definition at line 192 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 187 of file StretchTool.h.
Referenced by createToolBarWidget(), and stretchChanged().
|
private |
|
private |
Stretches before global button pressed.
Definition at line 202 of file StretchTool.h.
Referenced by stretchChanged(), StretchTool(), and ~StretchTool().
|
private |
Current stretch band.
Definition at line 199 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and stretchRect().
|
private |
Stretch combo box.
Definition at line 194 of file StretchTool.h.
Referenced by createToolBarWidget(), stretchBandChanged(), and updateTool().
|
private |
Global stretch action.
Definition at line 189 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Manual stretch action.
Definition at line 191 of file StretchTool.h.
|
private |
Max. line edit.
Definition at line 197 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and updateTool().
|
private |
Min. line edit.
Definition at line 196 of file StretchTool.h.
Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and updateTool().
|
private |
Regional stretch action.
Definition at line 190 of file StretchTool.h.
Referenced by addTo(), and StretchTool().
|
private |
Regional Stretch Button.
Definition at line 186 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().