Isis 3 Programmer Reference
Isis::Reduce Class Reference

Reduce the pixel dimensions of an image. More...

#include <Reduce.h>

Inheritance diagram for Isis::Reduce:
Inheritance graph
Collaboration diagram for Isis::Reduce:
Collaboration graph

Public Member Functions

 Reduce (Isis::Cube *pInCube, const double sampleScale, const double lineScale)
 Constructor. More...
 
 ~Reduce ()
 Destructor. More...
 
Isis::PvlGroup UpdateOutputLabel (Isis::Cube *pOutCube)
 Create label for the reduced output image. More...
 
void setInputBoundary (int startSample, int endSample, int startLine, int endLine)
 Parameters to input image sub area. More...
 

Protected Attributes

Isis::CubemInCube
 Input image. More...
 
double mdSampleScale
 Sample scale. More...
 
double mdLineScale
 Line scale. More...
 
int miStartSample
 Input start sample. More...
 
int miEndSample
 Input end sample. More...
 
int miStartLine
 Input start line. More...
 
int miEndLine
 Input end line. More...
 
double mdLine
 Line index. More...
 
int miOutputSamples
 Output Samples. More...
 
int miOutputLines
 Output Lines. More...
 
int miInputSamples
 Input Samples. More...
 
int miInputLines
 Input Lines. More...
 
int miInputBands
 Input Bands. More...
 
int miBandIndex
 Band Index. More...
 
Isis::Portalm_iPortal
 Input portal. More...
 

Detailed Description

Reduce the pixel dimensions of an image.

Reduce the pixel dimensions of an image. Has the functionality to reduce only a sub area in input image to output

Author
1995-11-06 Jeff Anderson
History:

2011-04-15 Sharmila Prasad - Ported the class from "reduce" app to base object class.

2011-05-10 Sharmila Prasad - Fixed error while setting input bands and moved static members to data members in Average class.

2011-05-11 Sharmila Prasad - Use Portal instead of LineMgr to read Line & added API setInputBoundary to reduce subarea of an image

2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.

2012-02-01 Sharmila Prasad - Remove unused band data member Fixes #00681

2013-01-16 Tracie Sucharski - Fixed bug caused by a round off error when calculating scales when output line and sample are entered. This resulted in output bands beyond band 1 being NULL in the output cube. This only happened with certain values of output lines and scales. Also, fixed the the swapping of output samples and lines in the Results group in the print.prt file. Fixes #1385.

Definition at line 42 of file Reduce.h.

Constructor & Destructor Documentation

◆ Reduce()

Isis::Reduce::Reduce ( Isis::Cube pInCube,
const double  sampleScale,
const double  lineScale 
)

Constructor.

Reduce Constructor.

Author
Sharmila Prasad (4/26/2011)
Parameters
pInCube- Input cube
psBands- Bands list
sampleScale- Sample scale
lineScale- Line scale
History:
2013-01-16 Tracie Sucharski - Use rounding instead of ceil function to prevent errors that were caused by round off. The reduce application would get ons, onl from the user, calculate scale and pass the scale in to this class, which would calculate ons, onl, which could be different from the user entered values.

Definition at line 26 of file Reduce.cpp.

References Isis::Cube::sampleCount().

◆ ~Reduce()

Isis::Reduce::~Reduce ( )

Destructor.

Author
Sharmila Prasad (5/11/2011)

Definition at line 60 of file Reduce.cpp.

Member Function Documentation

◆ setInputBoundary()

void Isis::Reduce::setInputBoundary ( int  startSample,
int  endSample,
int  startLine,
int  endLine 
)

Parameters to input image sub area.

Parameters to input image sub area to be reduced.

Author
Sharmila Prasad (5/11/2011)
Parameters
startSample- input image start sample
endSample- input image end sample
startLine- input image start line
endLine- input image end line
History:
2013-01-16 Tracie Sucharski - Use rounding instead of ceil function to prevent errors that were caused by round off. The reduce application would get ons, onl from the user, calculate scale and pass the scale in to this class, which would calculate ons, onl, which could be different from the user entered values.

Definition at line 81 of file Reduce.cpp.

Referenced by Isis::FileTool::saveAsReducedCube().

◆ UpdateOutputLabel()

Isis::PvlGroup Isis::Reduce::UpdateOutputLabel ( Isis::Cube pOutCube)

Create label for the reduced output image.

Update the Mapping, Instrument, and AlphaCube groups in the output cube label.

Parameters
pOutCube- Resulting reduced output cube
pResultsGrp- This is the Results group that will go into the application log file. This group must be created by the calling application. Information will be added to it if the Mapping or Instrument groups are deleted from the output image label

Definition at line 106 of file Reduce.cpp.

References Isis::SubArea::SetSubArea(), Isis::toString(), and Isis::SubArea::UpdateLabel().

Referenced by Isis::FileTool::saveAsReducedCube().

Member Data Documentation

◆ m_iPortal

Isis::Portal* Isis::Reduce::m_iPortal
protected

Input portal.

Definition at line 72 of file Reduce.h.

◆ mdLine

double Isis::Reduce::mdLine
mutableprotected

Line index.

Definition at line 65 of file Reduce.h.

◆ mdLineScale

double Isis::Reduce::mdLineScale
protected

Line scale.

Definition at line 60 of file Reduce.h.

◆ mdSampleScale

double Isis::Reduce::mdSampleScale
protected

Sample scale.

Definition at line 59 of file Reduce.h.

◆ miBandIndex

int Isis::Reduce::miBandIndex
mutableprotected

Band Index.

Definition at line 71 of file Reduce.h.

◆ miEndLine

int Isis::Reduce::miEndLine
protected

Input end line.

Definition at line 64 of file Reduce.h.

◆ miEndSample

int Isis::Reduce::miEndSample
protected

Input end sample.

Definition at line 62 of file Reduce.h.

◆ miInputBands

int Isis::Reduce::miInputBands
protected

Input Bands.

Definition at line 70 of file Reduce.h.

◆ miInputLines

int Isis::Reduce::miInputLines
protected

Input Lines.

Definition at line 69 of file Reduce.h.

◆ miInputSamples

int Isis::Reduce::miInputSamples
protected

Input Samples.

Definition at line 68 of file Reduce.h.

◆ mInCube

Isis::Cube* Isis::Reduce::mInCube
protected

Input image.

Definition at line 58 of file Reduce.h.

◆ miOutputLines

int Isis::Reduce::miOutputLines
protected

Output Lines.

Definition at line 67 of file Reduce.h.

◆ miOutputSamples

int Isis::Reduce::miOutputSamples
protected

Output Samples.

Definition at line 66 of file Reduce.h.

◆ miStartLine

int Isis::Reduce::miStartLine
protected

Input start line.

Definition at line 63 of file Reduce.h.

◆ miStartSample

int Isis::Reduce::miStartSample
protected

Input start sample.

Definition at line 61 of file Reduce.h.


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