Isis 3 Programmer Reference
Isis::StretchTool Class Reference

Stretch image edit tool. More...

#include <StretchTool.h>

Inheritance diagram for Isis::StretchTool:
Inheritance graph
Collaboration diagram for Isis::StretchTool:
Collaboration graph

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)
 
RubberBandToolrubberBandTool ()
 
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

QActiontoolPadAction (ToolPad *pad)
 Adds the stretch action to the toolpad. More...
 
QWidgetcreateToolBarWidget (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...
 
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport. More...
 
CubeViewportListcubeViewportList () 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...
 
Workspaceworkspace ()
 

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

AdvancedStretchDialogm_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...
 
QActionm_stretchGlobal
 Global stretch action. More...
 
QActionm_stretchRegional
 Regional stretch action. More...
 
QActionm_stretchManual
 Manual stretch action. More...
 
QActionm_copyBands
 Copy band stretch action. More...
 
QComboBoxm_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...
 
Stretchm_preGlobalStretches
 Stretches before global button pressed. More...
 
Stretchm_chipViewportStretch
 ChipViewport's stretch. More...
 
MdiCubeViewportm_cvp
 current cubeviewport More...
 
Workspacem_workspace
 
bool m_active
 Is the tool acitve? More...
 
QWidgetm_toolBarWidget
 The tool bar on which this tool resides. More...
 
QActionm_toolPadAction
 The tool pad on which this tool resides. More...
 
QString m_toolIconDir
 The pathway to the icon directory. More...
 
ToolListm_toolList
 

Detailed Description

Stretch image edit tool.

This tool is part of the Qisis namespace and allows interactive editing of displayed images.

Author
????-??-?? Unknown
History:
2008-05-23 Noah Hilt - Added RubberBandTool
History:
2010-03-18 Sharmila Prasad - Exception handling and emit warning signal to the Viewportwindow to display warning status on the status bar(Track Tool)
History:
2010-04-08 Steven Lambright - Made to work with threaded viewportbuffer and also removed map to viewport stretches due to synchronization problems.
History:
2010-04-08 Steven Lambright - Fixed access of viewport data for statistics
History:
2010-05-20 Steven Lambright - Re-enabled the advanced stretch... without a viewport map!
History:
2010-06-26 Eric Hyer
History:
2010-08-30 Eric Hyer
  • Added RGB support for stretchRegional
  • stretchRegional and rubberBandComplete now use the new private method stretchRect in order to avoid duplicate code.
History:
2010-11-22 Eric Hyer - new SIGNAL called stretchChipViewport exists for sending stretches made in CubeViewports to any ChipViewports that want to get stretched.
History:
2010-12-01 Steven Lambright - Improved stretch copy abilities
History:
2010-12-02 Eric Hyer - changed where stretchChipViewport is emitted.
History:
2011-03-22 Sharmila Prasad - Add option to stretch All Bands
History:
2011-11-04 Steven Lambright - Improved advanced stretch to allow all stretches to be changed despite combo box. References #567.
History:
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.
History:
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.
History:
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.

Member Typedef Documentation

◆ CubeViewportList

typedef QVector< MdiCubeViewport * > Isis::Tool::CubeViewportList
protectedinherited

A list of cubeviewports.

Definition at line 205 of file Tool.h.

Member Enumeration Documentation

◆ StretchBand

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.

Constructor & Destructor Documentation

◆ StretchTool()

◆ ~StretchTool()

Isis::StretchTool::~StretchTool ( )

Destructor.

Definition at line 94 of file StretchTool.cpp.

References m_chipViewportStretch, and m_preGlobalStretches.

Member Function Documentation

◆ activate

◆ addConnections()

virtual void Isis::Tool::addConnections ( MdiCubeViewport cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must add the connections for it.

Parameters
cvp

Reimplemented in Isis::WindowTool, and Isis::TrackTool.

Definition at line 239 of file Tool.h.

Referenced by Isis::Tool::addViewportConnections().

◆ addTo() [1/4]

void Isis::StretchTool::addTo ( QMenu menu)
virtual

Adds the stretch action to the given menu.

Parameters
menu

Reimplemented from Isis::Tool.

Definition at line 131 of file StretchTool.cpp.

References m_stretchGlobal, and m_stretchRegional.

◆ addTo() [2/4]

void Isis::Tool::addTo ( ToolPad toolpad)
inherited

Adds the tool to the toolpad.

Parameters
toolpad

Definition at line 98 of file Tool.cpp.

References Isis::Tool::activate(), Isis::ToolPad::addAction(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().

◆ addTo() [3/4]

◆ addTo() [4/4]

void Isis::Tool::addTo ( Workspace ws)
virtualinherited

Adds the given workspace to the cubeviewport list.

Parameters
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().

◆ addToActive()

void Isis::Tool::addToActive ( QToolBar toolbar)
inherited

◆ addToPermanent()

virtual void Isis::Tool::addToPermanent ( QToolBar toolbar)
inlinevirtualinherited

◆ addViewportConnections()

◆ advancedStretchChanged

◆ changeStretch

◆ createToolBarWidget()

◆ cubeViewport()

MdiCubeViewport* Isis::Tool::cubeViewport ( ) const
inlineprotectedinherited

Return the current cubeviewport.

Returns
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().

◆ cubeViewportList()

Tool::CubeViewportList * Isis::Tool::cubeViewportList ( ) const
protectedinherited

Return the list of cubeviewports.

Returns
CubeViewportList*

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().

◆ deleteFromCube

void Isis::StretchTool::deleteFromCube ( )
protectedslot

◆ disableToolBar()

void Isis::Tool::disableToolBar ( )
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().

◆ enableRubberBandTool

void Isis::StretchTool::enableRubberBandTool ( )
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().

◆ enableToolBar()

void Isis::Tool::enableToolBar ( )
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().

◆ histFromBuffer() [1/2]

Histogram Isis::StretchTool::histFromBuffer ( ViewportBuffer buffer)
static

Given a viewport buffer, this calculates a histogram.

Parameters
buffer
Returns
Histogram

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().

◆ histFromBuffer() [2/2]

Histogram Isis::StretchTool::histFromBuffer ( ViewportBuffer buffer,
QRect  rect,
double  min,
double  max 
)
static

This method will calculate and return the histogram for a given region and viewport buffer.

Parameters
buffer
rect
min
max
Returns
Histogram

Definition at line 1560 of file StretchTool.cpp.

References Isis::Histogram::AddData(), Isis::ViewportBuffer::bufferXYRect(), Isis::ViewportBuffer::getLine(), and Isis::IException::Unknown.

◆ histFromCube()

Histogram Isis::StretchTool::histFromCube ( Cube cube,
int  band,
double  min,
double  max 
)
static

This method will calculate and return the histogram for a given cube and band.

Parameters
cube
band
min
max
Returns
Histogram

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().

◆ loadStretchFromCube

◆ menuName()

QString Isis::StretchTool::menuName ( ) const
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.

Returns
Name of the Menu

Reimplemented from Isis::Tool.

Definition at line 123 of file StretchTool.h.

◆ mouseButtonPress()

void Isis::Tool::mouseButtonPress ( QPoint  p,
Qt::MouseButton  s 
)
protectedvirtualinherited
Parameters
p
s

Definition at line 367 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ mouseButtonRelease

void Isis::StretchTool::mouseButtonRelease ( QPoint  start,
Qt::MouseButton  s 
)
protectedslot

This method will call a global stretch if the right mouse button is released.

Parameters
start
s

Definition at line 1258 of file StretchTool.cpp.

References Isis::Tool::cubeViewport(), enableRubberBandTool(), Isis::Tool::mouseButtonRelease(), stretchChipViewport(), and stretchGlobal().

◆ mouseDoubleClick()

void Isis::Tool::mouseDoubleClick ( QPoint  p)
protectedvirtualinherited
Parameters
p

Definition at line 358 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ mouseMove

void Isis::Tool::mouseMove ( QPoint  p)
protectedvirtualslotinherited
Parameters
p

Definition at line 352 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ paintViewport()

virtual void Isis::Tool::paintViewport ( MdiCubeViewport vp,
QPainter *  painter 
)
inlinevirtualinherited

◆ registerTool()

void Isis::Tool::registerTool ( MdiCubeViewport viewport)
protectedinherited

Registers the tool to the viewport.

Parameters
viewport

Definition at line 327 of file Tool.cpp.

References Isis::Tool::m_cvp, and Isis::MdiCubeViewport::registerTool().

Referenced by Isis::Tool::addTo().

◆ removeConnections()

virtual void Isis::Tool::removeConnections ( MdiCubeViewport cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must be able to remove it's connections.

Parameters
cvp

Reimplemented in Isis::WindowTool, Isis::TrackTool, and Isis::MeasureTool.

Definition at line 247 of file Tool.h.

Referenced by Isis::Tool::removeViewportConnections().

◆ removeViewportConnections()

void Isis::Tool::removeViewportConnections ( )
privateinherited

◆ rubberBandComplete

void Isis::StretchTool::rubberBandComplete ( )
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().

◆ saveStretchToCube

◆ screenPixelsChanged

void Isis::StretchTool::screenPixelsChanged ( )
protectedslot

This is called when the visible area changes.

Definition at line 747 of file StretchTool.cpp.

References updateHistograms().

Referenced by stretchRequested().

◆ setCubeViewport [1/2]

◆ setCubeViewport [2/2]

void Isis::Tool::setCubeViewport ( MdiCubeViewport cvp)
slotinherited

◆ setStretchAcrossBands

◆ setStretchAllViewports

◆ showAdvancedDialog

void Isis::StretchTool::showAdvancedDialog ( )
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().

◆ statsFromBuffer()

Statistics Isis::StretchTool::statsFromBuffer ( ViewportBuffer buffer,
QRect  rect 
)
static

This method will calculate and return the statistics for a given region and viewport buffer.

Parameters
buffer
rect
Returns
Statistics

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().

◆ statsFromCube()

Statistics Isis::StretchTool::statsFromCube ( Cube cube,
int  band 
)
static

This method will calculate and return the statistics for a given cube and band.

Parameters
cube
band
Returns
Statistics

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().

◆ stretchBand()

◆ stretchBandChanged

void Isis::StretchTool::stretchBandChanged ( int  )
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().

◆ stretchBuffer()

Stretch Isis::StretchTool::stretchBuffer ( ViewportBuffer buffer,
QRect  rect 
)
static

◆ stretchChanged

◆ stretchChipViewport

void Isis::StretchTool::stretchChipViewport ( Stretch ,
CubeViewport  
)
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().

◆ stretchGlobal [1/2]

void Isis::StretchTool::stretchGlobal ( )
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().

◆ stretchGlobal [2/2]

void Isis::StretchTool::stretchGlobal ( CubeViewport cvp)
slot

Does a global stretch for the specified viewport.

Definition at line 1135 of file StretchTool.cpp.

References stretchChanged(), and Isis::CubeViewport::stretchKnownGlobal().

◆ stretchGlobalAllBands

void Isis::StretchTool::stretchGlobalAllBands ( )
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().

◆ stretchGlobalAllViewports

void Isis::StretchTool::stretchGlobalAllViewports ( )
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().

◆ stretchRect()

◆ stretchRegional [1/2]

void Isis::StretchTool::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().

◆ stretchRegional [2/2]

void Isis::StretchTool::stretchRegional ( CubeViewport cvp)
slot

Does a regional stretch for the specified viewport.

Definition at line 1169 of file StretchTool.cpp.

References stretchRect().

◆ stretchRequested()

◆ toolIconDir()

QString Isis::Tool::toolIconDir ( ) const
inlineinherited

◆ toolPadAction()

QAction * Isis::StretchTool::toolPadAction ( ToolPad pad)
protectedvirtual

Adds the stretch action to the toolpad.

Parameters
pad
Returns
QAction*

Reimplemented from Isis::Tool.

Definition at line 111 of file StretchTool.cpp.

References Isis::Tool::toolIconDir().

◆ updateAdvStretchDialogforAll()

void Isis::StretchTool::updateAdvStretchDialogforAll ( void  )

◆ updateHistograms

◆ updateTool()

◆ warningSignal

void Isis::StretchTool::warningSignal ( std::string &  pStr,
const std::string  pExStr 
)
signal

Shows a warning.

This sends a signal (meant for when an exception occurs) to display the error using the warning object

Parameters
pStr
pExStr

Referenced by StretchTool().

Member Data Documentation

◆ m_active

bool Isis::Tool::m_active
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().

◆ m_advancedStretch

◆ m_chipViewportStretch

Stretch* Isis::StretchTool::m_chipViewportStretch
private

◆ m_copyBands

QAction* Isis::StretchTool::m_copyBands
private

Copy band stretch action.

Definition at line 192 of file StretchTool.h.

Referenced by createToolBarWidget(), and updateTool().

◆ m_copyButton

QToolButton* Isis::StretchTool::m_copyButton
private

Copy Button.

Definition at line 184 of file StretchTool.h.

Referenced by createToolBarWidget().

◆ m_cvp

◆ m_flashButton

QPushButton* Isis::StretchTool::m_flashButton
private

Button to press for global stretch.

Definition at line 187 of file StretchTool.h.

Referenced by createToolBarWidget(), and stretchChanged().

◆ m_globalButton

QToolButton* Isis::StretchTool::m_globalButton
private

Global Button.

Definition at line 185 of file StretchTool.h.

Referenced by createToolBarWidget().

◆ m_preGlobalStretches

Stretch* Isis::StretchTool::m_preGlobalStretches
private

Stretches before global button pressed.

Definition at line 202 of file StretchTool.h.

Referenced by stretchChanged(), StretchTool(), and ~StretchTool().

◆ m_stretchBand

StretchBand Isis::StretchTool::m_stretchBand
private

Current stretch band.

Definition at line 199 of file StretchTool.h.

Referenced by changeStretch(), createToolBarWidget(), setStretchAcrossBands(), stretchBandChanged(), stretchChanged(), and stretchRect().

◆ m_stretchBandComboBox

QComboBox* Isis::StretchTool::m_stretchBandComboBox
private

Stretch combo box.

Definition at line 194 of file StretchTool.h.

Referenced by createToolBarWidget(), stretchBandChanged(), and updateTool().

◆ m_stretchGlobal

QAction* Isis::StretchTool::m_stretchGlobal
private

Global stretch action.

Definition at line 189 of file StretchTool.h.

Referenced by addTo(), and StretchTool().

◆ m_stretchManual

QAction* Isis::StretchTool::m_stretchManual
private

Manual stretch action.

Definition at line 191 of file StretchTool.h.

◆ m_stretchMaxEdit

QLineEdit* Isis::StretchTool::m_stretchMaxEdit
private

◆ m_stretchMinEdit

QLineEdit* Isis::StretchTool::m_stretchMinEdit
private

◆ m_stretchRegional

QAction* Isis::StretchTool::m_stretchRegional
private

Regional stretch action.

Definition at line 190 of file StretchTool.h.

Referenced by addTo(), and StretchTool().

◆ m_stretchRegionalButton

QToolButton* Isis::StretchTool::m_stretchRegionalButton
private

Regional Stretch Button.

Definition at line 186 of file StretchTool.h.

Referenced by createToolBarWidget().

◆ m_toolBarWidget

QWidget* Isis::Tool::m_toolBarWidget
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().

◆ m_toolIconDir

QString Isis::Tool::m_toolIconDir
privateinherited

The pathway to the icon directory.

Definition at line 267 of file Tool.h.

Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().

◆ m_toolPadAction

QAction* Isis::Tool::m_toolPadAction
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().


The documentation for this class was generated from the following files: