USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::ProcessExport Class Reference
[High Level Cube I/O]

#include <ProcessExport.h>

Inheritance diagram for Isis::ProcessExport:

Inheritance graph
[legend]
Collaboration diagram for Isis::ProcessExport:

Collaboration graph
[legend]
List of all members.

Detailed Description

Process class for exporting cubes.

This class allows a programmer to develop applications which export Isis cubes into another format. For example, isis2jpg or isis2tif. It is highly recommended that this object be utilized when developing export applications to ensure a consistent look-and-feel for Isis users. The class operates by passing the programmer a line of cube data at a time. It is up to the programmer to write this data to the foreign output format. An ability exists to stretch the data supplied to the programmer in one of three ways. Either an automatic linear stretch, an automatic piecewise stretch, or an manual linear stretch. There are various methods which specify how the input pixels are to be stretched to an output range. You can examine the isis2jpg application code as a guide for writing an export program. Currently this class only allows for one band of a cube to be exported.

If you would like to see ProcessExport being used in implementation, see isis2jpg.cpp

Author:
2003-03-31 Jeff Anderson

For internal use only.

Todo:
2005-02-09 Stuart Sides - write documentation for CreateWorldFile method

2005-02-09 Jeff Anderson - add coded example to class file and implementation examples

History:
2003-04-03 Jeff Anderson - Added unit test
History:
2003-04-04 Jeff Anderson - Updated documentation for SetInputRange methods
History:
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
History:
2005-01-07 Stuart Sides - Added CreateWorldFile method
History:
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
History:
2005-06-14 Drew Davidson - Overloaded StartProcess method to output directly to a stream.
History:
2005-06-15 Drew Davidson - Updated to support multi-band output.
History:
2006-02-27 Jacob Danton - Added Multiple input cube support
History:
2006-05-08 Elizabeth Miller - Modified SetInputRange() to get the min and max percent values from the userinterface (0.5 and 99.5 are still the default values)
History:
2006-05-15 Jeff Anderson - Fixed bug with multiple input cube support when the programmer didn't set a input minimum/maximum
History:
2006-05-23 Jacob Danton - Added seperate MIN/MAX values for each input channel
History:
2006-08-30 Jeff Anderson - Fixed memory leak
History:
2007-12-17 Christopher Austin - Added processes for BIL and BIP, leaving BSQ as the default, as well as fixed rounding accuracy.
History:
2008-05-12 Steven Lambright - Removed references to CubeInfo
History:
2008-06-18 Steven Koechle - Fixed Documentation Errors
History:
2008-08-14 Christopher Austin - Added the Destructor to fix memory leaks, as well as changed the EndianSwapper::Float() call to EndianSwapper::ExportFloat() in isisOut32() to fix bad float casting.
History:
2008-12-17 Steven Lambright - Changed SetOutputRange calls to use constants (i.e. instead of 65535 VALID_MAX2 is used).
History:
2009-07-27 Steven Lambright - Piecewise stretch backs off to linear if Median() == MINPCT or Median() == MAXPCT

Definition at line 104 of file ProcessExport.h.

Public Types

 BSQ
 BIL
 BIP
enum  ExportFormat { BSQ, BIL, BIP }
 Storage order enumeration. More...

Public Member Functions

 ProcessExport ()
 Constructs an Export object.
 ~ProcessExport ()
 Destructor.
void StartProcess (void funct(Isis::Buffer &in))
 This method invokes the process operation over a single input cube.
void StartProcess (void funct(std::vector< Isis::Buffer * > &in))
 This method invokes the process operation over a single input cube.
void StartProcess (std::ofstream &fout)
 Write an entire cube to an output file stream.
void SetOutputRange (const double minimum, const double maximum)
 Set output pixel range in Buffer.
void SetOutputNull (const double value)
 Set output special pixel value for NULL.
void SetOutputLis (const double value)
 Set output special pixel value for LIS.
void SetOutputLrs (const double value)
 Set output special pixel value for LRS.
void SetOutputHis (const double value)
 Set output special pixel value for HIS.
void SetOutputHrs (const double value)
 Set output special pixel value for HRS.
double OutputNull ()
 Return the output special pixel value for NULL.
double OutputLis ()
 Return the output special pixel value for LIS.
double OutputLrs ()
 Return the output special pixel value for LRS.
double OutputHis ()
 Return the output special pixel value for HIS.
double OutputHrs ()
 Return the output special pixel value for HRS.
void SetInputRange ()
 Set input pixel range from user.
void SetInputRange (const double minimum, const double maximum)
 Set input pixel range from to a linear stretch.
void SetInputRange (const double minimum, const double maximum, const int index)
 Set input pixel range from to a linear stretch.
void SetInputRange (const double minimum, const double middle, const double maximum)
 Set input pixel range from to a piecewise linear stretch.
void SetInputRange (const double minimum, const double middle, const double maximum, const int index)
 Set input pixel range from to a piecewise linear stretch.
void CreateWorldFile (const std::string &worldFile)
 Create a standard world file for the input cube.
void SetOutputEndian (enum ByteOrder endianness)
 Set byte endianness of the output cube.
void SetOutputType (Isis::PixelType pixelIn)
 Set output pixel bit type in Buffer.
double GetInputMinimum (const int n=0)
 Get the valid minimum pixel value for the Nth input cube.
double GetInputMaximum (const int n=0)
 Get the valid maximum pixel value for the Nth input cube.
double GetOutputMinimum ()
 Get the valid minimum pixel value to be written to the output file.
double GetOutputMaximum ()
 Get the valid maximum pixel value to be written to the output file.
void SetFormat (ExportFormat format)
 Sets the storage order of the output file.
void StartProcess (void funct())
 In the base class, this method will invoked a user-specified function exactly one time.
virtual void EndProcess ()
 End the processing sequence and cleans up by closing cubes, freeing memory, etc.
Isis::CubeSetInputCube (const std::string &parameter, const int requirements=0)
 Opens an input cube specified by the user and verifies requirements are met.
Isis::CubeSetInputCube (const std::string &fname, const Isis::CubeAttributeInput &att, int requirements=0)
 Opens an input cube specified by the programmer and verifies requirements are met.
void ClearInputCubes ()
 This method clears the input cube list.
Isis::CubeSetOutputCube (const std::string &parameter)
 Allocates a user-specified output cube whose size matches the first input cube.
Isis::CubeSetOutputCube (const std::string &parameter, const int nsamps, const int nlines, const int nbands=1)
 Allocates a user specified output cube whose size is specified by the programmer.
Isis::CubeSetOutputCube (const std::string &fname, const Isis::CubeAttributeOutput &att, const int nsamps, const int nlines, const int nbands=1)
 Allocates a output cube whose name and size is specified by the programmer.
void PropagateLabels (const bool prop)
 This method allows the programmer to turn on/off the propagation of labels from the 1st input cube to any of the output cubes.
void PropagateLabels (const std::string &cube)
 This method allows the programmer to propagate labels from a specific secondary cube.
void PropagateTables (const bool prop)
 This method allows the programmer to propagate input tables to the output cube (default is true).
void PropagatePolygons (const bool prop)
 This method allows the programmer to propagate input blobs to the output cube (default is true).
void PropagateHistory (const bool prop)
 This method allows the programmer to propagate history to the output cube (default is true).
void PropagateOriginalLabel (const bool prop)
 This method allows the programmer to propagate original labels to the output cube (default is true).
Isis::ProgressProgress ()
 This method returns a pointer to a Progress object.
std::string MissionData (const std::string &mission, const std::string &file, bool highestVersion=false)
 This method reads the mission specific data directory from the user preference file, makes sure that mission is available in the Isis installation, and the attaches the provided input file to the directory in order to create a full file specification.
void WriteHistory (Cube &cube)
 Writes out the History blob to the cube.

Protected Member Functions

void StartProcessBSQ (void funct(std::vector< Isis::Buffer * > &in))
 A single line of input data from each input cube will be passed to the line processing function.
void StartProcessBIL (void funct(std::vector< Isis::Buffer * > &in))
 A single line of input data from each input cube will be passed to the line processing function.
void StartProcessBIP (void funct(std::vector< Isis::Buffer * > &in))
 A single band of input data from each input cube will be passed to the band processing function.

Protected Attributes

ExportFormat p_format
 Current storage order.
double p_outputMinimum
 Desired minimum pixel value in the Buffer.
double p_outputMiddle
 Middle pixel value (minimum+maximun)/2.0 in the Buffer.
double p_outputMaximum
 Desired maximum pixel value in the Buffer.
std::vector< double > p_inputMinimum
 Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer.
std::vector< double > p_inputMiddle
 Middle pixel value in the input cube to be mapped to the (minimum+maximum)/2.0 value in the Buffer.
std::vector< double > p_inputMaximum
 Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer.
EndianSwapperp_endianSwap
 Object to swap the endianness of the raw output to either MSB or LSB.
ByteOrder p_endianType
PixelType p_pixelType
 The byte order of the output file The bits per pixel of the output image.
std::vector< Stretch * > p_str
 Stretch object to ensure a reasonable range of pixel values in the output data.
double p_Null
double p_Lis
 Holds the output NULL value.
double p_Lrs
 Holds the output LIS value.
double p_His
 Holds the output LRS value.
double p_Hrs
 Holds the output HIS value.
bool p_Null_Set
 Holds the output HRS value.
bool p_Lis_Set
 Indicates if p_Null has been set or not.
bool p_Lrs_Set
 Indicates if p_Lis has been set or not.
bool p_His_Set
 Indicates if p_Lrs has been set or not.
bool p_Hrs_Set
 Indicates if p_His has been set or not.
Isis::Progressp_progress
 Pointer to a Progress object.
bool p_propagateLabels
 Flag indicating if labels are be propagated to output cubes.
bool p_propagateTables
 Flag indicating if tables are be propagated to output cubes.
bool p_propagatePolygons
 Flag indicating if blobs are be propagated to output cubes.
bool p_propagateHistory
 Flag indicating if history is to be propagated to output cubes.
bool p_propagateOriginalLabel
 Flag indicating if original lable is to be propagated to output cubes.
std::vector< Isis::Cube * > InputCubes
 A vector of pointers to opened Cube objects.
std::vector< Isis::Cube * > OutputCubes
 A vector of pointers to allocated Cube objects.

Private Member Functions

void isisOut8 (Buffer &in, std::ofstream &fout)
 Write a buffer of 8-bit pixel data to a stream.
void isisOut16s (Buffer &in, std::ofstream &fout)
 Write a buffer of 16-bit signed pixel data to a stream.
void isisOut16u (Buffer &in, std::ofstream &fout)
 Write a bufferof 16-bit unsigned pixel data to a stream.
void isisOut32 (Buffer &in, std::ofstream &fout)
 Write a buffer of 32-bit floating point pixel data to a stream.
void InitProcess ()
 Set cube up for processing.


Member Enumeration Documentation

enum Isis::ProcessExport::ExportFormat

Storage order enumeration.

Definition at line 109 of file ProcessExport.h.


Constructor & Destructor Documentation

Isis::ProcessExport::ProcessExport (  ) 

Constructs an Export object.

Definition at line 40 of file ProcessExport.cpp.

References Isis::IsLsb(), p_endianSwap, p_His_Set, p_Hrs_Set, p_inputMaximum, p_inputMiddle, p_inputMinimum, p_Lis_Set, p_Lrs_Set, p_Null_Set, p_outputMaximum, p_outputMiddle, p_outputMinimum, Isis::Process::p_progress, SetFormat(), SetOutputEndian(), SetOutputType(), and Isis::Progress::SetText().

Isis::ProcessExport::~ProcessExport (  ) 

Destructor.

Definition at line 68 of file ProcessExport.cpp.

References p_endianSwap, and p_str.


Member Function Documentation

void Isis::Process::ClearInputCubes (  )  [inherited]

This method clears the input cube list.

It is most commonly used in applications which need to generate an output cube without an input cube, however, propogation of input characteristics are known. For example, creating the initial cube for a mosaic.

Definition at line 579 of file Process.cpp.

References Isis::Process::InputCubes.

Referenced by Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessGroundPolygons::SetOutputCube(), and Isis::ProcessMapMosaic::StartProcess().

void Isis::ProcessExport::CreateWorldFile ( const std::string &  worldFile  ) 

Create a standard world file for the input cube.

This method creates a standard world file from the mapping group of the input cube.

Parameters:
worldFile [in] Reference to a string containing the name of a file to write the world information to.

Definition at line 1178 of file ProcessExport.cpp.

References e, Isis::Process::InputCubes, proj, Isis::Projection::Resolution(), Isis::Projection::SetWorld(), Isis::Projection::XCoord(), and Isis::Projection::YCoord().

void Isis::Process::EndProcess (  )  [virtual, inherited]

End the processing sequence and cleans up by closing cubes, freeing memory, etc.

Reimplemented in Isis::ProcessByBoxcar, Isis::ProcessByBrick, Isis::ProcessByTile, Isis::ProcessGroundPolygons, Isis::ProcessImportPds, and Isis::ProcessPolygons.

Definition at line 444 of file Process.cpp.

References Isis::Process::InputCubes, and Isis::Process::OutputCubes.

Referenced by Isis::ProcessPolygons::EndProcess(), Isis::ProcessImportPds::EndProcess(), Isis::ProcessByBrick::EndProcess(), Isis::ProcessByBoxcar::EndProcess(), and Isis::Process::~Process().

double Isis::ProcessExport::GetInputMaximum ( const int  n = 0  )  [inline]

Get the valid maximum pixel value for the Nth input cube.

Definition at line 141 of file ProcessExport.h.

References p_inputMaximum.

double Isis::ProcessExport::GetInputMinimum ( const int  n = 0  )  [inline]

Get the valid minimum pixel value for the Nth input cube.

Definition at line 139 of file ProcessExport.h.

References p_inputMinimum.

double Isis::ProcessExport::GetOutputMaximum (  )  [inline]

Get the valid maximum pixel value to be written to the output file.

Definition at line 145 of file ProcessExport.h.

References p_outputMaximum.

double Isis::ProcessExport::GetOutputMinimum (  )  [inline]

Get the valid minimum pixel value to be written to the output file.

Definition at line 143 of file ProcessExport.h.

References p_outputMinimum.

void Isis::ProcessExport::InitProcess (  )  [private]

Set cube up for processing.

Also sets the cube up to be processed by performing the necessary stretches.

Definition at line 636 of file ProcessExport.cpp.

References _FILEINFO_, Isis::Progress::CheckStatus(), Isis::Process::InputCubes, Isis::IsValidPixel(), Isis::iException::Message(), p_format, p_His, p_His_Set, p_Hrs, p_Hrs_Set, p_inputMaximum, p_inputMiddle, p_inputMinimum, p_Lis, p_Lis_Set, p_Lrs, p_Lrs_Set, p_Null, p_Null_Set, p_outputMaximum, p_outputMiddle, p_outputMinimum, Isis::Process::p_progress, p_str, and Isis::Progress::SetMaximumSteps().

Referenced by StartProcess(), StartProcessBIL(), StartProcessBIP(), and StartProcessBSQ().

void Isis::ProcessExport::isisOut16s ( Buffer in,
std::ofstream &  fout 
) [private]

Write a buffer of 16-bit signed pixel data to a stream.

This method takes a buffer of data and assumes that it is 16-bit signed pixel data. It will apply the necessary endian swap to the data and write it out to the output file buffer that the user specifies. The user can only expect to access this method indirectly by calling the StartProcess method.

Parameters:
&in Reference to a single buffer of pixel data. Note that this buffer will already have had the necessary stretching operations, though it will have the native endianness of the system.
&fout Name of the file stream to which the buffer of pixel data will be written.

Definition at line 1059 of file ProcessExport.cpp.

References in, p_endianSwap, Isis::EndianSwapper::ShortInt(), and Isis::Buffer::size().

Referenced by StartProcess().

void Isis::ProcessExport::isisOut16u ( Buffer in,
std::ofstream &  fout 
) [private]

Write a bufferof 16-bit unsigned pixel data to a stream.

This method takes a buffer of data and assumes that it is 16-bit unsigned pixel data. It will apply the necessary endian swap to the data and write it out to the output file buffer that the user specifies. The user can only expect to access this method indirectly by calling the StartProcess method.

Parameters:
&in Reference to a single buffer of pixel data. Note that this buffer will already have had the necessary stretching operations, though it will have the native endianness of the system.
&fout Name of the file stream to which the buffer of pixel data will be written.

Definition at line 1105 of file ProcessExport.cpp.

References in, p_endianSwap, Isis::Buffer::size(), and Isis::EndianSwapper::UnsignedShortInt().

Referenced by StartProcess().

void Isis::ProcessExport::isisOut32 ( Buffer in,
std::ofstream &  fout 
) [private]

Write a buffer of 32-bit floating point pixel data to a stream.

This method takes a buffer of data and assumes that it is 32-bit floating point pixel data. It will apply the necessary endian swap to the data and write it out to the output file buffer that the user specifies. The user can only expect to access this method indirectly by calling the StartProcess method.

Parameters:
&in Reference to a single buffer of pixel data. Note that this buffer will already have had the necessary stretching operations, though it will have the native endianness of the system.
&fout Name of the file stream to which the buffer of pixel data will be written.

Definition at line 1145 of file ProcessExport.cpp.

References Isis::EndianSwapper::ExportFloat(), in, p_endianSwap, and Isis::Buffer::size().

Referenced by StartProcess().

void Isis::ProcessExport::isisOut8 ( Buffer in,
std::ofstream &  fout 
) [private]

Write a buffer of 8-bit pixel data to a stream.

This method takes a buffer of data and assumes that it is 8 bit pixel data. It will apply the necessary endian swap to the data and write it out to the output file buffer that the user specifies. The user can only expect to access this method indirectly by calling the StartProcess method

Parameters:
&in Reference to a single buffer of pixel data. Note that this buffer will already have had the necessary stretching operations, though it will have the native endianness of the system.
&fout Name of the file stream to which the buffer of pixel data will be written.

Definition at line 1022 of file ProcessExport.cpp.

References in, and Isis::Buffer::size().

Referenced by StartProcess().

string Isis::Process::MissionData ( const std::string &  mission,
const std::string &  file,
bool  highestVersion = false 
) [inherited]

This method reads the mission specific data directory from the user preference file, makes sure that mission is available in the Isis installation, and the attaches the provided input file to the directory in order to create a full file specification.

Parameters:
mission Name of the mission data directory
file Name of the file to attach to the end of the directory
highestVersion If set to true the method will return the highest version number of the given file. Therefore, file must contain question marks such as "file???.dat". See the Filename class for more information on versioned files. Defaults to false.

Definition at line 555 of file Process.cpp.

References _FILEINFO_, Isis::Filename::Exists(), Isis::Filename::Expanded(), Isis::PvlObject::FindGroup(), Isis::Filename::HighestVersion(), Isis::iException::Message(), and Isis::Preference::Preferences().

double Isis::ProcessExport::OutputHis (  ) 

Return the output special pixel value for HIS.

Definition at line 544 of file ProcessExport.cpp.

References p_His, p_His_Set, and p_outputMaximum.

Referenced by Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::OutputHrs (  ) 

Return the output special pixel value for HRS.

Definition at line 552 of file ProcessExport.cpp.

References p_Hrs, p_Hrs_Set, and p_outputMaximum.

Referenced by Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::OutputLis (  ) 

Return the output special pixel value for LIS.

Definition at line 528 of file ProcessExport.cpp.

References p_Lis, p_Lis_Set, and p_outputMinimum.

Referenced by Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::OutputLrs (  ) 

Return the output special pixel value for LRS.

Definition at line 536 of file ProcessExport.cpp.

References p_Lrs, p_Lrs_Set, and p_outputMinimum.

Referenced by Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::OutputNull (  ) 

Return the output special pixel value for NULL.

Definition at line 520 of file ProcessExport.cpp.

References p_Null, p_Null_Set, and p_outputMinimum.

Referenced by Isis::ProcessExportPds::StandardImageImage().

Isis::Progress* Isis::Process::Progress (  )  [inline, inherited]

This method returns a pointer to a Progress object.

Returns:
Progress*

Definition at line 211 of file Process.h.

References Isis::Process::p_progress.

Referenced by Isis::ProcessMapMosaic::SetOutputCube(), and Isis::ProcessMapMosaic::StartProcess().

void Isis::Process::PropagateHistory ( const bool  prop  )  [inherited]

This method allows the programmer to propagate history to the output cube (default is true).

Parameters:
prop Flag indicating if history is to be propagated to output cubes.

Definition at line 524 of file Process.cpp.

References Isis::Process::p_propagateHistory.

Referenced by Isis::ProcessMapMosaic::SetOutputCube().

void Isis::Process::PropagateLabels ( const std::string &  cube  )  [inherited]

This method allows the programmer to propagate labels from a specific secondary cube.

Parameters:
cube iString containing the name of the cube containing the labels to propagate.

Definition at line 482 of file Process.cpp.

References Isis::PvlObject::AddGroup(), g, incube, Isis::Process::OutputCubes, and pvl().

void Isis::Process::PropagateLabels ( const bool  prop  )  [inherited]

This method allows the programmer to turn on/off the propagation of labels from the 1st input cube to any of the output cubes.

By default, propagation occurs automatically in the Process class when a call to either of the SetOutputCube methods is invoked. If the program * requires no propagation then utilize this method. This method can be invoked between successive calls of SetOutputCube so that some cube will have labels propagated while others will not.

Parameters:
prop Flag indicating if labels are be propagated to output cubes.

Definition at line 471 of file Process.cpp.

References Isis::Process::p_propagateLabels.

Referenced by Isis::ProcessMapMosaic::SetOutputCube().

void Isis::Process::PropagateOriginalLabel ( const bool  prop  )  [inherited]

This method allows the programmer to propagate original labels to the output cube (default is true).

Parameters:
prop Flag indicating if original labels is to be propagated to output cubes.

Definition at line 535 of file Process.cpp.

References Isis::Process::p_propagateOriginalLabel.

Referenced by Isis::ProcessMapMosaic::SetOutputCube().

void Isis::Process::PropagatePolygons ( const bool  prop  )  [inherited]

This method allows the programmer to propagate input blobs to the output cube (default is true).

Parameters:
prop Flag indicating if input blobs are to be propagated to output cubes.

Definition at line 514 of file Process.cpp.

References Isis::Process::p_propagatePolygons.

Referenced by Isis::ProcessMapMosaic::SetOutputCube().

void Isis::Process::PropagateTables ( const bool  prop  )  [inherited]

This method allows the programmer to propagate input tables to the output cube (default is true).

Parameters:
prop Flag indicating if input tables are to be propagated to output cubes.

Definition at line 503 of file Process.cpp.

References Isis::Process::p_propagateTables.

Referenced by Isis::ProcessMapMosaic::SetOutputCube().

void Isis::ProcessExport::SetFormat ( ExportFormat  format  )  [inline]

Sets the storage order of the output file.

Definition at line 148 of file ProcessExport.h.

References p_format.

Referenced by ProcessExport().

Isis::Cube * Isis::Process::SetInputCube ( const std::string &  fname,
const Isis::CubeAttributeInput att,
int  requirements = 0 
) [inherited]

Opens an input cube specified by the programmer and verifies requirements are met.

Parameters:
fname Programmer specified work file. For example, "myfile.cub".
att The cube attributes to use when opening the input cube.
requirements Same as requirements on SetInputCube. See that method for more details. Defaults to 0
Returns:
Cube*
Exceptions:
Isis::iException::Message 

Reimplemented in Isis::ProcessByBrick.

Definition at line 72 of file Process.cpp.

References _FILEINFO_, Isis::AllMatchOrOne, Isis::BandMatchOrOne, Isis::Cube::Bands(), Isis::CubeAttributeInput::Bands(), cube, e, Isis::Process::InputCubes, Isis::Cube::Lines(), Isis::iException::Message(), Isis::OneBand, Isis::Cube::Open(), Isis::ReadWrite, Isis::Cube::Samples(), Isis::Cube::SetVirtualBands(), Isis::SizeMatch, and Isis::SpatialMatch.

Isis::Cube * Isis::Process::SetInputCube ( const std::string &  parameter,
const int  requirements = 0 
) [inherited]

Opens an input cube specified by the user and verifies requirements are met.

Returns:
Cube*
Parameters:
parameter User parameter to obtain file to open. Typically, the value is "FROM". For example, the user can specify on the command line FROM=myfile.cub and this method will attempt to open the cube "myfile.cub" if the parameter was set to "FROM".
requirements Use to specify requirements for the input file. The following are requirments are checked against 1) ic_base::SizeMatch checks to make sure the input cube has the same bands, samples, and lines as the first input cube open using this method, 2) ic_base::SpatialMatch checks to make sure the input cube has the same samples and lines as the first input cube, 3) ic_base::Georeferenced checks to make sure latitude/longitudes can be obtained from the input cube, 4) ic_base::FullyGeoreferenced checks to make sure latitude/longitude, phase/incidence/emission, and other geometric parameters can be obtained from the input cube, 5) ic_base::OneBand checks to make sure the input cube has exactly one band. Note, that these requirements can be logically or'ed. For example, ic_base::SpatialMatch | ic_base::georeferenced. Defaults to 0
Exceptions:
Isis::iException::Message 

Reimplemented in Isis::ProcessByBrick, Isis::ProcessByLine, Isis::ProcessBySample, and Isis::ProcessBySpectra.

Definition at line 214 of file Process.cpp.

References IsisAml::GetFilename(), IsisAml::GetInputAttribute(), and Isis::Application::GetUserInterface().

Referenced by Isis::ProcessMosaic::SetInputCube(), Isis::ProcessBySample::SetInputCube(), Isis::ProcessByLine::SetInputCube(), Isis::ProcessByBrick::SetInputCube(), and Isis::ProcessGroundPolygons::SetOutputCube().

void Isis::ProcessExport::SetInputRange ( const double  minimum,
const double  middle,
const double  maximum,
const int  index 
)

Set input pixel range from to a piecewise linear stretch.

This method allows the programmer to define what range of input pixels in the input cube get mapped to the output range in the Buffer. By default the output range is 0.0 to 1.0 (can be overridden using the SetOutputRange method). This version of SetInputRange allows the programmer to perform a piecewise linear stretch. That is,"minimum:0.0 middle:0.5 maximum:1.0". The pixels from the input cube between minimum and middle are mapped to 0.0 and 0.5 linearly, while pixels between middle and maximum are mapped to 0.5 and 1.0 linearly. Those outside the range of minimum and maximum are mapped to 0.0 and 1.0 respectively. If you are uncertain about how stretches operate see the Stretch object. If the input range is never set, no stretch will occur.

Parameters:
minimum Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer
middle Middle pixel value in the input cube to be mapped to the (minimum+maximum)/2.0 value in the Buffer
maximum Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer
index The index of the channel you are setting
Exceptions:
Isis::iException::Message 

Definition at line 209 of file ProcessExport.cpp.

References _FILEINFO_, Isis::Process::InputCubes, Isis::iException::Message(), p_inputMaximum, p_inputMiddle, and p_inputMinimum.

void Isis::ProcessExport::SetInputRange ( const double  minimum,
const double  middle,
const double  maximum 
)

Set input pixel range from to a piecewise linear stretch.

This method allows the programmer to define what range of input pixels in the input cube get mapped to the output range in the Buffer. By default the output range is 0.0 to 1.0 (can be overridden using the SetOutputRange method). This version of SetInputRange allows the programmer to perform a piecewise linear stretch. That is,"minimum:0.0 middle:0.5 maximum:1.0". The pixels from the input cube between minimum and middle are mapped to 0.0 and 0.5 linearly, while pixels between middle and maximum are mapped to 0.5 and 1.0 linearly. Those outside the range of minimum and maximum are mapped to 0.0 and 1.0 respectively. If you are uncertain about how stretches operate see the Stretch object. If the input range is never set, no stretch will occur.

Parameters:
minimum Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer
middle Middle pixel value in the input cube to be mapped to the (minimum+maximum)/2.0 value in the Buffer
maximum Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer
Exceptions:
Isis::iException::Message 

Definition at line 161 of file ProcessExport.cpp.

References _FILEINFO_, Isis::Process::InputCubes, Isis::iException::Message(), p_inputMaximum, p_inputMiddle, and p_inputMinimum.

void Isis::ProcessExport::SetInputRange ( const double  minimum,
const double  maximum,
const int  index 
)

Set input pixel range from to a linear stretch.

This method allows the programmer to define what range of input pixels in the input cube get mapped to the output range in the Buffer. By default the output range is 0.0 to 1.0 (can be overridden using the SetOutputRange method). This version of SetInputRange allows the programmer to perform a simple linear stretch. That is, "minimum:0.0 maximum:1.0" or minimum is mapped to 0.0, maximum is mapped to 1.0 everything inbetween is mapped linearly (e.g., (minimum+maximum)/2.0:0.5). Also, everything less than the minimum is mapped to 0.0 and everything more than the maximum is mapped to 1.0. If you are uncertain about how stretches operate see the Stretch object. If the input range is never set, no stretch will occur.

Parameters:
minimum Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer
maximum Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer
index The index of the channel you are setting
Exceptions:
Isis::iException::Message 

Definition at line 130 of file ProcessExport.cpp.

References SetInputRange().

void Isis::ProcessExport::SetInputRange ( const double  minimum,
const double  maximum 
)

Set input pixel range from to a linear stretch.

This method allows the programmer to define what range of input pixels in the input cube get mapped to the output range in the Buffer. By default the output range is 0.0 to 1.0 (can be overridden using the SetOutputRange method). This version of SetInputRange allows the programmer to perform a simple linear stretch. That is, "minimum:0.0 maximum:1.0" or minimum is mapped to 0.0, maximum is mapped to 1.0 everything inbetween is mapped linearly (e.g., (minimum+maximum)/2.0:0.5). Also, everything less than the minimum is mapped to 0.0 and everything more than the maximum is mapped to 1.0. If you are uncertain about how stretches operate see the Stretch object. If the input range is never set, no stretch will occur.

Parameters:
minimum Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer
maximum Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer
Exceptions:
Isis::iException::Message 

Definition at line 101 of file ProcessExport.cpp.

References SetInputRange().

void Isis::ProcessExport::SetInputRange (  ) 

Set input pixel range from user.

This method performs the same function as SetInputRange(min,max) and SetInputRange(min,mid,max). However, the information for min/mid/max is obtained from the user via the command line. Therefore you must include the following parameter group in your application XML file:

       <group name="Stretch Options">
         <parameter name="STRETCH">
           <type>string</type>
           <default>
             <item>LINEAR</item>
           </default>
           <brief>Type of stretch</brief>
           <description>
             This parameter is used to select one of three ways to stretch
             (or map) output pixels.  They are LINEAR, PIECEWISE, or MANUAL.
           </description>

           <list>
             <option value="LINEAR">
               <brief> Linear stretch </brief>
               <description>
                 A minimum and maximum are automatically computed based on
                 the statistics of the selected band.  A histogram of the
                 band is used to pick the minimum at 0.5% of the data and
                 the maximum at 99.5% of the data. Input pixels less than
                 or equal to the minimum are stretched to black while
                 pixels greater than the or equal to the maximum are
                 stretched to white. A linear mapping occurs between the
                 minimum and maximum.
               </description>
               <inclusions>
                 <item>MINPERCENT</item>
                 <item>MAXPERCENT</item>
               </inclusions>
               <exclusions>
                 <item>MINIMUM</item>
                 <item>MAXIMUM</item>
               </exclusions>
             </option>
             <option value="PIECEWISE">
               <brief> Piecewise-linear stretch </brief>
               <description>
                 This option is similar to the LINEAR option. A minimum and
                 maximum are automatically computed. Additionally, the
                 median is computed and it is mapped to the middle gray
                 value (halfway between white and black). Therefore, it is
                 a piecewise-linear stretch with input pixels mapped
                 linearly between either 1) the minimum/median or 2) the
                 median/maximum. This option is  useful for contrast
                 stretching cubes with skewed histograms to ensure a
                 balanced contrast.
               </description>
               <inclusions>
                 <item>MINPERCENT</item>
                 <item>MAXPERCENT</item>
               </inclusions>
               <exclusions>
                 <item>MINIMUM</item>
                 <item>MAXIMUM</item>
               </exclusions>
             </option>
             <option value="MANUAL">
               <brief> Manual stretch </brief>
               <description>
                 This option allows you to pick your own stretch.  You must
                 enter a value for MINIMUM and MAXIMUM
               </description>
               <inclusions>
                 <item>MINIMUM</item>
                 <item>MAXIMUM</item>
               </inclusions>
               <exclusions>
                 <item>MINPERCENT</item>
                 <item>MAXPERCENT</item>
               </exclusions>
             </option>
           </list>
         </parameter>

         <parameter name="MINIMUM">
           <type>double</type>
           <brief>Minimum pixel value</brief>
           <description>
             The minimum input pixel value which will be mapped to black.
           </description>
           <lessThan>
            <item>MAXIMUM</item>
           </lessThan>
         </parameter>

         <parameter name="MAXIMUM">
           <type>double</type>
           <brief>Maximum pixel value</brief>
           <description>
             The maximum input pixel value which will be mapped to white.
           </description>
           <greaterThan>
             <item>MINIMUM</item>
           </greaterThan>
         </parameter>

         <parameter name="MINPERCENT">
           <type>double</type>
           <brief>Minimum Percent</brief>
           <description>
             The percentage of data in the histogram used to compute
             the minimum pixel value in the stretch.
           </description>
           <default><item>0.5</item></default>
           <lessThan>
             <item>MAXPERCENT</item>
           </lessThan>
         </parameter>

         <parameter name="MAXPERCENT">
           <type>double</type>
           <brief>Maximum Percent</brief>
           <description>
             The percentage of data in the histogram used to compute
             the maximum pixel value in the stretch.
           </description>
           <default><item>99.5</item></default>
           <greaterThan>
             <item>MINPERCENT</item>
           </greaterThan>
         </parameter>
       </group>

Definition at line 367 of file ProcessExport.cpp.

References IsisAml::Clear(), IsisAml::GetDouble(), IsisAml::GetString(), Isis::Application::GetUserInterface(), Isis::Process::InputCubes, Isis::Histogram::Median(), Isis::NULL8, p_inputMaximum, p_inputMiddle, p_inputMinimum, Isis::Histogram::Percent(), and IsisAml::PutDouble().

Referenced by SetInputRange().

Isis::Cube * Isis::Process::SetOutputCube ( const std::string &  fname,
const Isis::CubeAttributeOutput att,
const int  ns,
const int  nl,
const int  nb = 1 
) [inherited]

Allocates a output cube whose name and size is specified by the programmer.

Returns:
Cube*
Parameters:
fname Name of the output cube to allocate
att The cube attributes to use when creating the output cube.
ns Number of samples to allocate
nl Number of lines to allocate
nb Number of bands to allocate
Exceptions:
Isis::iException::Message 

Definition at line 305 of file Process.cpp.

References _FILEINFO_, Isis::PvlObject::AddGroup(), Isis::CubeAttributeOutput::AttachedLabel(), base, Isis::CubeAttributeOutput::ByteOrder(), cube, Isis::CubeAttributeOutput::DetachedLabel(), e, Isis::CubeAttributeOutput::FileFormat(), incube, Isis::Process::InputCubes, Isis::PvlContainer::IsNamed(), Isis::CubeAttributeOutput::Maximum(), Isis::iException::Message(), Isis::CubeAttributeOutput::Minimum(), mult, Isis::PvlContainer::Name(), Isis::PvlObject::Object(), Isis::PvlObject::Objects(), Isis::Process::OutputCubes, Isis::Process::p_propagateLabels, Isis::Process::p_propagateOriginalLabel, Isis::Process::p_propagatePolygons, Isis::Process::p_propagateTables, Isis::CubeAttributeOutput::PixelType(), Isis::CubeAttributeOutput::PropagateMinimumMaximum(), Isis::CubeAttributeOutput::PropagatePixelType(), Isis::Cube::SetDimensions(), and Isis::Process::WriteHistory().

Isis::Cube * Isis::Process::SetOutputCube ( const std::string &  parameter,
const int  ns,
const int  nl,
const int  nb = 1 
) [inherited]

Allocates a user specified output cube whose size is specified by the programmer.

Returns:
Cube*
Parameters:
parameter User specified output file. For example, "TO" is a popular user parameter. If the user specified TO=output.cub, then this routine would allocate the file output.cub with size specified by the first opened input cube. The output pixel type will be propagated from the first loaded input cube or will use the value in the application XML file for pixelType.
ns Number of samples to allocate
nl Number of lines to allocate
nb Number of bands to allocate
Exceptions:
Isis::iException::Message 

Reimplemented in Isis::ProcessPolygons.

Definition at line 273 of file Process.cpp.

References _FILEINFO_, IsisAml::GetFilename(), IsisAml::GetOutputAttribute(), Isis::Application::GetUserInterface(), Isis::iException::Message(), and Isis::Process::SetOutputCube().

Isis::Cube * Isis::Process::SetOutputCube ( const std::string &  parameter  )  [inherited]

Allocates a user-specified output cube whose size matches the first input cube.

Returns:
Cube*
Parameters:
parameter User specified output file. For example, "TO" is a popular user parameter. If the user specified TO=output.cub, then this routine would allocate the file output.cub with size specified by the first opened input cube. The output pixel type will be propagated from the first loaded input cube or will use the value in the application XML file for pixelType.
Exceptions:
Isis::iException::Message 

Reimplemented in Isis::ProcessImport, Isis::ProcessMapMosaic, and Isis::ProcessMosaic.

Definition at line 237 of file Process.cpp.

References _FILEINFO_, Isis::Process::InputCubes, Isis::iException::Message(), nb, nl, and ns.

Referenced by Isis::ProcessPolygons::SetOutputCube(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessImport::SetOutputCube(), Isis::ProcessGroundPolygons::SetOutputCube(), and Isis::Process::SetOutputCube().

void Isis::ProcessExport::SetOutputEndian ( enum ByteOrder  byteOrderIn  ) 

Set byte endianness of the output cube.

This method allows the programmer to specify whether the first byte of data output from the ProcessExport will be the most significant byte or the least significant byte. If the user does not explicitly set the endianness, it will default to that of the current system architecture

Parameters:
byteOrderIn enumeration of the endianness (MSB or LSB)

Definition at line 609 of file ProcessExport.cpp.

References p_endianSwap, and p_endianType.

Referenced by ProcessExport().

void Isis::ProcessExport::SetOutputHis ( const double  value  ) 

Set output special pixel value for HIS.

Sets the value for output special pixel HISs. HIS pixels values from the input cube will be set to this value. Be default this value will be set to the maximum out value set with SetOutputRange

Parameters:
value The output pixel value for all HIS pixels

Definition at line 496 of file ProcessExport.cpp.

References p_His, and p_His_Set.

void Isis::ProcessExport::SetOutputHrs ( const double  value  ) 

Set output special pixel value for HRS.

Sets the value for output special pixel HRSs. HRS pixels values from the input cube will be set to this value. Be default this value will be set to the maximum out value set with SetOutputRange

Parameters:
value The output pixel value for all HRS pixels

Definition at line 511 of file ProcessExport.cpp.

References p_Hrs, and p_Hrs_Set.

void Isis::ProcessExport::SetOutputLis ( const double  value  ) 

Set output special pixel value for LIS.

Sets the value for output special pixel LISs. LIS pixels values from the input cube will be set to this value. Be default this value will be set to the minimum out value set with SetOutputRange

Parameters:
value The output pixel value for all LIS pixels

Definition at line 466 of file ProcessExport.cpp.

References p_Lis, and p_Lis_Set.

void Isis::ProcessExport::SetOutputLrs ( const double  value  ) 

Set output special pixel value for LRS.

Sets the value for output special pixel LRSs. LRS8 pixels values from the input cube will be set to this value. Be default this value will be set to the minimum out value set with SetOutputRange

Parameters:
value The output pixel value for all LRS pixels

Definition at line 481 of file ProcessExport.cpp.

References p_Lrs, and p_Lrs_Set.

void Isis::ProcessExport::SetOutputNull ( const double  value  ) 

Set output special pixel value for NULL.

Sets the value for output special pixel NULLs. NULL pixels values from the input cube will be set to this value. Be default this value will be set to the minimum out value set with SetOutputRange

Parameters:
value The output pixel value for all NULL pixels

Definition at line 451 of file ProcessExport.cpp.

References p_Null, and p_Null_Set.

void Isis::ProcessExport::SetOutputRange ( const double  minimum,
const double  maximum 
)

Set output pixel range in Buffer.

This method allows the programmer to specify the acceptable range of values contained in the Buffer. If this method is never invoked, all pixel values received in the Buffer of the export function will be in the range of 0.0 to 1.0. However, this can be overridden, for example, to 0.0 and 255.0, by invoking this method.

Parameters:
minimum Desired minimum pixel value in the Buffer
maximum Desired maximum pixel value in the Buffer
Exceptions:
Isis::iException::Message 

Definition at line 429 of file ProcessExport.cpp.

References _FILEINFO_, Isis::iException::Message(), p_outputMaximum, p_outputMiddle, and p_outputMinimum.

Referenced by SetOutputType().

void Isis::ProcessExport::SetOutputType ( Isis::PixelType  pixelIn  ) 

Set output pixel bit type in Buffer.

This method specifies the type of pixel data that is going to be output. Essentially, it is a convenience method that will automatically calculate the necessary output range based on the minimum and maximum values of the bit type that is specified. Currently, the method only supported data types are Isis::UnsignedByte (Range of 0 to 255), Isis::SignedWord (Range of -32768 to 32767), Isis::UnsignedWord (Range of 0 to 65535), and Isis::Real (Range from the minimum floating-point value to the maximum floating-point value supported in C++; -FLT_MAX to FLT_MAX), since these are the only formats that can be output by ProcessExport. If neither this method nor the SetOutputRange method is invoked, all pixel values received in the Buffer of the export function will be in the range of 0.0 to 1.0.

Parameters:
pixelIn this is an enumeration of the different pixel types. The only values that are recognized as valid are Isis::UnsignedByte, Isis::SignedWord, Isis::UnsignedWord, and Isis::Real.
Exceptions:
Isis::iException::Message 

Definition at line 580 of file ProcessExport.cpp.

References _FILEINFO_, Isis::iException::Message(), p_pixelType, SetOutputRange(), Isis::VALID_MAX1, Isis::VALID_MAX2, Isis::VALID_MAXU2, Isis::VALID_MIN1, Isis::VALID_MIN2, and Isis::VALID_MINU2.

Referenced by ProcessExport().

void Isis::Process::StartProcess ( void   funct()  )  [inline, inherited]

In the base class, this method will invoked a user-specified function exactly one time.

In derived classes such as ProcessByLine, the StartProcess will invoke a user-specified function for every line in a cube.

Parameters:
funct() Name of your processing function

Definition at line 180 of file Process.h.

void Isis::ProcessExport::StartProcess ( std::ofstream &  fout  ) 

Write an entire cube to an output file stream.

Just as with the other invocation of the StartProcess method, this will process an input cube buffer by buffer. Unlike the other invocation, this method takes care of writing the input data to an output file stream specified by the user instead of relying on an external function.

Parameters:
&fout An open stream to which the pixel data will be written. After calling this method once, the stream will contain all of the pixel data from the input cube.

Definition at line 965 of file ProcessExport.cpp.

References _FILEINFO_, Isis::BufferManager::begin(), Isis::Progress::CheckStatus(), Isis::BufferManager::end(), InitProcess(), Isis::Process::InputCubes, isisOut16s(), isisOut16u(), isisOut32(), isisOut8(), Isis::iException::Message(), Isis::BufferManager::next(), p_format, p_pixelType, Isis::Process::p_progress, p_str, and Isis::Buffer::size().

void Isis::ProcessExport::StartProcess ( void   funct(std::vector< Isis::Buffer * > &in)  ) 

This method invokes the process operation over a single input cube.

In the cases of BSQ and BIL this is a process by line. In the case of BIP, this is a process by band. A single buffer of input data will be padd to the buffer processing function. Note the data will be stretched based on the invocations of the SetInputRange and SetpOutputRange methods.

Parameters:
funct (Isis::Buffer &b) Name of your buffer processing function. The buffer in will contain stretched input cube pixels for an entire buffer. These pixels must be written to the foreign output file (e.g, jpg, tif, etc).

Definition at line 747 of file ProcessExport.cpp.

References _FILEINFO_, Isis::iException::Message(), p_format, StartProcessBIL(), StartProcessBIP(), and StartProcessBSQ().

void Isis::ProcessExport::StartProcess ( void   funct(Isis::Buffer &in)  ) 

This method invokes the process operation over a single input cube.

In the cases of BSQ and BIL this is a process by line. In the case of BIP, this is a process by band. A single buffer of input data will be padd to the buffer processing function. Note the data will be stretched based on the invocations of the SetInputRange and SetpOutputRange methods.

Parameters:
funct (Isis::Buffer &b) Name of your buffer processing function. The buffer in will contain stretched input cube pixels for an entire buffer. These pixels must be written to the foreign output file (e.g, jpg, tif, etc).

Definition at line 696 of file ProcessExport.cpp.

References _FILEINFO_, Isis::BufferManager::begin(), Isis::Progress::CheckStatus(), Isis::BufferManager::end(), InitProcess(), Isis::Process::InputCubes, Isis::iException::Message(), Isis::BufferManager::next(), p_format, Isis::Process::p_progress, p_str, and Isis::Buffer::size().

void Isis::ProcessExport::StartProcessBIL ( void   funct(std::vector< Isis::Buffer * > &in)  )  [protected]

A single line of input data from each input cube will be passed to the line processing function.

Note the data will be stretched based on the invocations of the SetInputRange and SetOutputRange methods.

Parameters:
funct (Isis::Buffer &b) Name of your line processing function. The buffer in will contain stretched input cube pixels for an entire line of each input cube. These pixels must be written to the foreign output file (e.g, jpg, tif, etc).

Definition at line 844 of file ProcessExport.cpp.

References _FILEINFO_, Isis::Progress::CheckStatus(), iline, InitProcess(), Isis::Process::InputCubes, line, Isis::iException::Message(), Isis::Process::p_progress, and p_str.

Referenced by StartProcess().

void Isis::ProcessExport::StartProcessBIP ( void   funct(std::vector< Isis::Buffer * > &in)  )  [protected]

A single band of input data from each input cube will be passed to the band processing function.

Note the data will be stretched based on the invocations of the SetInputRange and SetOutputRange methods.

Parameters:
funct (Isis::Buffer &b) Name of your band processing function. The buffer in will contain stretched input cube pixels for an entire line of each input cube. These pixels must be written to the foreign output file (e.g, jpg, tif, etc).

Definition at line 905 of file ProcessExport.cpp.

References _FILEINFO_, band, bands, Isis::BufferManager::begin(), Isis::Progress::CheckStatus(), InitProcess(), Isis::Process::InputCubes, Isis::iException::Message(), Isis::Process::p_progress, and p_str.

Referenced by StartProcess().

void Isis::ProcessExport::StartProcessBSQ ( void   funct(std::vector< Isis::Buffer * > &in)  )  [protected]

A single line of input data from each input cube will be passed to the line processing function.

Note the data will be stretched based on the invocations of the SetInputRange and SetOutputRange methods.

Parameters:
funct (Isis::Buffer &b) Name of your line processing function. The buffer in will contain stretched input cube pixels for an entire line of each input cube. These pixels must be written to the foreign output file (e.g, jpg, tif, etc).

Definition at line 782 of file ProcessExport.cpp.

References _FILEINFO_, Isis::Progress::CheckStatus(), iline, InitProcess(), Isis::Process::InputCubes, line, Isis::iException::Message(), Isis::Process::p_progress, and p_str.

Referenced by StartProcess().

void Isis::Process::WriteHistory ( Cube cube  )  [inherited]

Writes out the History blob to the cube.

Definition at line 591 of file Process.cpp.

References Isis::History::AddEntry(), cube, Isis::Process::InputCubes, Isis::Process::p_propagateHistory, and Isis::Cube::Write().

Referenced by Isis::Process::SetOutputCube(), and Isis::ProcessMapMosaic::StartProcess().


Member Data Documentation

std::vector<Isis::Cube *> Isis::Process::InputCubes [protected, inherited]

A vector of pointers to opened Cube objects.

The pointers are established in the SetInputCube/SetInputWorkCube methods.

Definition at line 160 of file Process.h.

Referenced by Isis::Process::ClearInputCubes(), CreateWorldFile(), Isis::Process::EndProcess(), InitProcess(), Isis::ProcessExportPds::LineBytes(), Isis::ProcessExportPds::OutputLabel(), Isis::ProcessRubberSheet::QuadTree(), Isis::ProcessByBrick::SetBrickSize(), Isis::ProcessByBrick::SetInputBrickSize(), Isis::ProcessMosaic::SetInputCube(), Isis::Process::SetInputCube(), SetInputRange(), Isis::ProcessGroundPolygons::SetOutputCube(), Isis::Process::SetOutputCube(), Isis::ProcessRubberSheet::SlowGeom(), Isis::ProcessRubberSheet::SlowQuad(), Isis::ProcessExportPds::StandardAllMapping(), Isis::ProcessExportPds::StandardImageImage(), Isis::ProcessRubberSheet::StartProcess(), Isis::ProcessMosaic::StartProcess(), Isis::ProcessMapMosaic::StartProcess(), StartProcess(), Isis::ProcessByTile::StartProcess(), Isis::ProcessBySpectra::StartProcess(), Isis::ProcessBySample::StartProcess(), Isis::ProcessByQuickFilter::StartProcess(), Isis::ProcessByLine::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBoxcar::StartProcess(), StartProcessBIL(), StartProcessBIP(), StartProcessBSQ(), and Isis::Process::WriteHistory().

std::vector<Isis::Cube *> Isis::Process::OutputCubes [protected, inherited]

A vector of pointers to allocated Cube objects.

The pointers are established in the SetOutputCube method.

Definition at line 166 of file Process.h.

Referenced by Isis::ProcessPolygons::AppendOutputCube(), Isis::ProcessPolygons::DoWork(), Isis::ProcessImportPds::EndProcess(), Isis::Process::EndProcess(), Isis::ProcessPolygons::FillPolygon(), Isis::ProcessImport::ProcessBil(), Isis::ProcessImport::ProcessBip(), Isis::ProcessImport::ProcessBsq(), Isis::Process::PropagateLabels(), Isis::ProcessByBrick::SetBrickSize(), Isis::ProcessByBrick::SetOutputBrickSize(), Isis::ProcessPolygons::SetOutputCube(), Isis::ProcessMosaic::SetOutputCube(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessGroundPolygons::SetOutputCube(), Isis::Process::SetOutputCube(), Isis::ProcessRubberSheet::StartProcess(), Isis::ProcessMosaic::StartProcess(), Isis::ProcessMapMosaic::StartProcess(), Isis::ProcessByTile::StartProcess(), Isis::ProcessBySpectra::StartProcess(), Isis::ProcessBySample::StartProcess(), Isis::ProcessByQuickFilter::StartProcess(), Isis::ProcessByLine::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBoxcar::StartProcess(), and Isis::ProcessImportPds::TranslatePdsProjection().

EndianSwapper* Isis::ProcessExport::p_endianSwap [protected]

Object to swap the endianness of the raw output to either MSB or LSB.

Definition at line 171 of file ProcessExport.h.

Referenced by isisOut16s(), isisOut16u(), isisOut32(), ProcessExport(), SetOutputEndian(), and ~ProcessExport().

ExportFormat Isis::ProcessExport::p_format [protected]

Current storage order.

Definition at line 148 of file ProcessExport.h.

Referenced by InitProcess(), SetFormat(), and StartProcess().

double Isis::ProcessExport::p_His [protected]

Holds the output LRS value.

Definition at line 183 of file ProcessExport.h.

Referenced by InitProcess(), OutputHis(), and SetOutputHis().

bool Isis::ProcessExport::p_His_Set [protected]

Indicates if p_Lrs has been set or not.

Definition at line 189 of file ProcessExport.h.

Referenced by InitProcess(), OutputHis(), ProcessExport(), and SetOutputHis().

double Isis::ProcessExport::p_Hrs [protected]

Holds the output HIS value.

Definition at line 184 of file ProcessExport.h.

Referenced by InitProcess(), OutputHrs(), and SetOutputHrs().

bool Isis::ProcessExport::p_Hrs_Set [protected]

Indicates if p_His has been set or not.

Definition at line 190 of file ProcessExport.h.

Referenced by InitProcess(), OutputHrs(), ProcessExport(), and SetOutputHrs().

std::vector<double> Isis::ProcessExport::p_inputMaximum [protected]

Maximum pixel value in the input cube to be mapped to the maximum value in the Buffer.

Definition at line 169 of file ProcessExport.h.

Referenced by GetInputMaximum(), InitProcess(), ProcessExport(), SetInputRange(), and Isis::ProcessExportPds::StandardImageImage().

std::vector<double> Isis::ProcessExport::p_inputMiddle [protected]

Middle pixel value in the input cube to be mapped to the (minimum+maximum)/2.0 value in the Buffer.

Definition at line 166 of file ProcessExport.h.

Referenced by InitProcess(), ProcessExport(), and SetInputRange().

std::vector<double> Isis::ProcessExport::p_inputMinimum [protected]

Minimum pixel value in the input cube to be mapped to the minimum value in the Buffer.

Definition at line 164 of file ProcessExport.h.

Referenced by GetInputMinimum(), InitProcess(), ProcessExport(), SetInputRange(), and Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::p_Lis [protected]

Holds the output NULL value.

Definition at line 181 of file ProcessExport.h.

Referenced by InitProcess(), OutputLis(), and SetOutputLis().

bool Isis::ProcessExport::p_Lis_Set [protected]

Indicates if p_Null has been set or not.

Definition at line 187 of file ProcessExport.h.

Referenced by InitProcess(), OutputLis(), ProcessExport(), and SetOutputLis().

double Isis::ProcessExport::p_Lrs [protected]

Holds the output LIS value.

Definition at line 182 of file ProcessExport.h.

Referenced by InitProcess(), OutputLrs(), and SetOutputLrs().

bool Isis::ProcessExport::p_Lrs_Set [protected]

Indicates if p_Lis has been set or not.

Definition at line 188 of file ProcessExport.h.

Referenced by InitProcess(), OutputLrs(), ProcessExport(), and SetOutputLrs().

bool Isis::ProcessExport::p_Null_Set [protected]

Holds the output HRS value.

Definition at line 186 of file ProcessExport.h.

Referenced by InitProcess(), OutputNull(), ProcessExport(), and SetOutputNull().

double Isis::ProcessExport::p_outputMaximum [protected]

Desired maximum pixel value in the Buffer.

Definition at line 162 of file ProcessExport.h.

Referenced by GetOutputMaximum(), InitProcess(), OutputHis(), OutputHrs(), ProcessExport(), SetOutputRange(), and Isis::ProcessExportPds::StandardImageImage().

double Isis::ProcessExport::p_outputMiddle [protected]

Middle pixel value (minimum+maximun)/2.0 in the Buffer.

Definition at line 160 of file ProcessExport.h.

Referenced by InitProcess(), ProcessExport(), and SetOutputRange().

double Isis::ProcessExport::p_outputMinimum [protected]

Desired minimum pixel value in the Buffer.

Definition at line 159 of file ProcessExport.h.

Referenced by GetOutputMinimum(), InitProcess(), OutputLis(), OutputLrs(), OutputNull(), ProcessExport(), SetOutputRange(), and Isis::ProcessExportPds::StandardImageImage().

PixelType Isis::ProcessExport::p_pixelType [protected]

The byte order of the output file The bits per pixel of the output image.

Definition at line 175 of file ProcessExport.h.

Referenced by SetOutputType(), Isis::ProcessExportPds::StandardImageImage(), and StartProcess().

Isis::Progress* Isis::Process::p_progress [protected, inherited]

Pointer to a Progress object.

Definition at line 134 of file Process.h.

Referenced by InitProcess(), Isis::Process::Process(), Isis::ProcessImport::ProcessBil(), Isis::ProcessImport::ProcessBip(), Isis::ProcessImport::ProcessBsq(), ProcessExport(), Isis::ProcessImport::ProcessImport(), Isis::Process::Progress(), Isis::ProcessRubberSheet::StartProcess(), Isis::ProcessMosaic::StartProcess(), StartProcess(), Isis::ProcessByQuickFilter::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBoxcar::StartProcess(), StartProcessBIL(), StartProcessBIP(), StartProcessBSQ(), and Isis::Process::~Process().

bool Isis::Process::p_propagateHistory [protected, inherited]

Flag indicating if history is to be propagated to output cubes.

Definition at line 150 of file Process.h.

Referenced by Isis::Process::Process(), Isis::Process::PropagateHistory(), Isis::ProcessMapMosaic::StartProcess(), and Isis::Process::WriteHistory().

bool Isis::Process::p_propagateLabels [protected, inherited]

Flag indicating if labels are be propagated to output cubes.

Definition at line 138 of file Process.h.

Referenced by Isis::Process::Process(), Isis::Process::PropagateLabels(), and Isis::Process::SetOutputCube().

bool Isis::Process::p_propagateOriginalLabel [protected, inherited]

Flag indicating if original lable is to be propagated to output cubes.

Definition at line 154 of file Process.h.

Referenced by Isis::Process::Process(), Isis::Process::PropagateOriginalLabel(), and Isis::Process::SetOutputCube().

bool Isis::Process::p_propagatePolygons [protected, inherited]

Flag indicating if blobs are be propagated to output cubes.

Definition at line 146 of file Process.h.

Referenced by Isis::Process::Process(), Isis::Process::PropagatePolygons(), and Isis::Process::SetOutputCube().

bool Isis::Process::p_propagateTables [protected, inherited]

Flag indicating if tables are be propagated to output cubes.

Definition at line 142 of file Process.h.

Referenced by Isis::Process::Process(), Isis::Process::PropagateTables(), and Isis::Process::SetOutputCube().

std::vector<Stretch *> Isis::ProcessExport::p_str [protected]

Stretch object to ensure a reasonable range of pixel values in the output data.

Definition at line 177 of file ProcessExport.h.

Referenced by InitProcess(), StartProcess(), StartProcessBIL(), StartProcessBIP(), StartProcessBSQ(), and ~ProcessExport().


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