Isis 3 Programmer Reference
Isis::ProcessImport Class Reference

Byte swapper. More...

#include <ProcessImport.h>

Inheritance diagram for Isis::ProcessImport:
Inheritance graph
Collaboration diagram for Isis::ProcessImport:
Collaboration graph

Public Types

enum  VAXDataType { VAX_REAL , VAX_INT }
 
enum  VAXSpecialPixel {
  VAX_MIN4 , VAX_NULL4 , VAX_LRS4 , VAX_LIS4 ,
  VAX_HIS4 , VAX_HRS4
}
 
enum  Interleave {
  InterleaveUndefined , JP2 , BSQ , BIL ,
  BIP
}
 This enum includes how the document should be read: by BSQ, BIL, BIP, JP2, or InterleaveUndefined. More...
 

Public Member Functions

 ProcessImport ()
 Constructs an Import object.
 
virtual ~ProcessImport ()
 Destroys the Import object.
 
virtual void StartProcess ()
 Process the input file and write it to the output.
 
virtual void StartProcess (void funct(Isis::Buffer &out))
 Process the input file and send data to method.
 
void SetInputFile (const QString &file)
 Sets the name of the input file to be read in the import StartProcess method and verifies its existance.
 
QString InputFile ()
 Sets the name of the input file to be read in the import StartProcess method and verifies its existance.
 
Isis::CubeSetOutputCube (const QString &parameter)
 Create the output file.
 
Isis::CubeSetOutputCube (const QString &parameter, UserInterface &ui)
 Create the output file.
 
virtual Isis::CubeSetOutputCube (const QString &fname, Isis::CubeAttributeOutput &att)
 Create the output file.
 
void SetAttributes (CubeAttributeOutput &att)
 Given a CubeAttributeOutput object, set min/max to propagate if propagating min/max attributes was requested and set the pixel type to propagate if pixel type propagation was requested.
 
void SetPixelType (const Isis::PixelType type)
 Sets the pixel type of the input file.
 
Isis::PixelType PixelType ()
 Returns the pixel type.
 
void SetDimensions (const int ns, const int nl, const int nb)
 Sets the physical size of the input cube.
 
int Samples ()
 Returns the number of samples.
 
int Lines ()
 Returns the number of lines.
 
int Bands ()
 Returns the number of bands.
 
void SetByteOrder (const Isis::ByteOrder order)
 Sets the byte order of the input file.
 
Isis::ByteOrder ByteOrder ()
 Returns the byte order.
 
bool IsVAXSpecial (unsigned int *vax, VAXSpecialPixel pix)
 Determines if the VAX encoded pixel value is special or not.
 
double VAXConversion (void *ibuf)
 Conversion routine which translates VAX_REAL to IEEE_REAL.
 
void SetSuffixOffset (int samples, int lines, int coreBands, int itemBytes)
 
void SetSuffixPixelType (const Isis::PixelType type)
 
void SetVAXConvert (const bool vax_convert)
 Sets the VAX flag of the input cube.
 
void SetFileHeaderBytes (const int bytes)
 This method sets the number of bytes in the header of a file.
 
void SetFileTrailerBytes (const int bytes)
 This method sets the number of bytes in the trailer of a file.
 
void SetDataHeaderBytes (const int bytes)
 This method sets the number of bytes in the header of each datablock of a file.
 
void SetDataTrailerBytes (const int bytes)
 This method sets the number of bytes in the trailer of each datablock of a file.
 
void SetDataPrefixBytes (const int bytes)
 This method sets the number of bytes at the beginning of each data record of a file.
 
void SetDataSuffixBytes (const int bytes)
 This method sets the number of bytes at the end of each data record of a file.
 
void SaveFileHeader ()
 This method marks the file header to be saved.
 
void SaveFileTrailer ()
 This method marks the file trailer to be saved.
 
void SaveDataHeader ()
 This method marks the data block headers to be saved.
 
void SaveDataTrailer ()
 This method marks the data block trailers to be saved.
 
void SaveDataPrefix ()
 This method marks the data prefix to be saved.
 
void SaveDataSuffix ()
 This method marks the data suffix to be saved.
 
int FileHeaderBytes () const
 This method returns the number of file header bytes.
 
int FileTrailerBytes () const
 This method returns the number of file trailer bytes.
 
int DataHeaderBytes () const
 This method returns the number of data header bytes.
 
int DataTrailerBytes () const
 This method returns the number of data trailer bytes.
 
int DataPrefixBytes () const
 This method returns the number of data prefix bytes.
 
int DataSuffixBytes () const
 This method returns the number of data duffix bytes.
 
char * FileHeader ()
 This method returns a pointer to the file header.
 
char * FileTrailer ()
 This method returns a pointer to the file trailer.
 
std::vector< char * > DataHeader ()
 This method returns a pointer to the data header.
 
std::vector< char * > DataTrailer ()
 This method returns a pointer to the data trailer.
 
std::vector< std::vector< char * > > DataPrefix ()
 This method returns a pointer to the data prefix.
 
std::vector< std::vector< char * > > DataSuffix ()
 This method returns a pointer to the data suffix.
 
void SetOrganization (const ProcessImport::Interleave org)
 Sets the organization of the input cube.
 
Interleave Organization () const
 Gets the organization of the input cube.
 
void SetBase (const double base)
 Sets the core base of the input cube.
 
void SetMultiplier (const double mult)
 Sets the core multiplier of the input cube.
 
void SetBase (const std::vector< double > base)
 Sets band dependent core base.
 
void SetMultiplier (const std::vector< double > mult)
 Sets band dependent core multiplier.
 
void SetSpecialValues (const double null, const double lrs, const double lis, const double hrs, const double his)
 Sets a mapping of input pixel values to output special pixel values.
 
void SetNull (const double null_min, const double null_max)
 Sets the range that will be considered Isis::Null.
 
void SetLRS (const double lrs_min, const double lrs_max)
 Sets the range that will be considered Isis::Null.
 
void SetLIS (const double lis_min, const double lis_max)
 Sets the range that will be considered Isis::Null.
 
void SetHRS (const double hrs_min, const double hrs_max)
 Sets the range that will be considered Isis::Null.
 
void SetHIS (const double his_min, const double his_max)
 Sets the range that will be considered Isis::Null.
 
double TestPixel (const double pixel)
 Tests the pixel.
 
void ProcessBsq (void funct(Isis::Buffer &out)=NULL)
 Process the import data as a band sequential file.
 
void ProcessBil (void funct(Isis::Buffer &out)=NULL)
 Function to process files stored as Band Interleaved by Line.
 
void ProcessBip (void funct(Isis::Buffer &out)=NULL)
 Function to process files stored as Band Interleaved by Pixel.
 
void ProcessJp2 (void funct(Isis::Buffer &out)=NULL)
 Function to process files containing compressed JPEG2000 data (which is always BSQ but is processed as BIL with one or more lines stored sequentially for each band).
 
void CheckPixelRange (QString pixelName, double min, double max)
 Checks the special pixel range of the given against all other special pixel value ranges, making sure none overlap.
 
virtual 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.
 
virtual void Finalize ()
 Cleans up by closing cubes and freeing memory for owned cubes.
 
virtual Isis::CubeSetInputCube (const QString &parameter, const int requirements=0)
 Opens an input cube specified by the user and verifies requirements are met.
 
virtual Isis::CubeSetInputCube (const QString &fname, const Isis::CubeAttributeInput &att, int requirements=0)
 Opens an input cube specified by the programmer and verifies requirements are met.
 
virtual void SetInputCube (Isis::Cube *inCube, int requirements=0)
 Set the InputCube vector to an opened Cube which was dynamically allocated.
 
virtual Isis::CubeSetOutputCube (const QString &parameter, const int nsamps, const int nlines, const int nbands=1)
 Allocates a user specified output cube whose size is specified by the programmer.
 
virtual Isis::CubeSetOutputCube (const QString &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.
 
virtual Isis::CubeSetOutputCubeStretch (const QString &parameter, UserInterface *ui=nullptr)
 Allocates a user-specified output cube whose size matches the first input cube.
 
virtual Isis::CubeSetOutputCubeStretch (const QString &parameter, const int nsamps, const int nlines, const int nbands=1, UserInterface *ui=nullptr)
 Allocates a user specified output cube whose size is specified by the programmer.
 
void AddInputCube (Cube *cube, bool owned=true)
 
void AddOutputCube (Cube *cube, bool owned=true)
 
void CheckRequirements (const Cube *cube, const int requirements)
 Checks to make sure the input cube meets the inputted requirements.
 
void ClearCubes ()
 Close owned cubes from the list and clear the list.
 
void ClearInputCubes ()
 Close owned input cubes from the list and clear the list.
 
void ClearOutputCubes ()
 Close owned output cubes from the list and clear the list.
 
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 QString &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 PropagateTables (const QString &fromName, const QList< QString > &tableNames=QList< QString >())
 Propagate the tables from the cube with the given filename to the output cube.
 
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.
 
QString MissionData (const QString &mission, const QString &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.
 
void CalculateStatistics ()
 Calculates and stores off statistics on every band of every cube added to this process via the SetInputCube method.
 
std::vector< Isis::Statistics * > BandStatistics (const unsigned index)
 Get the vector of Statistics objects for each band separately of a specified input cube.
 
Isis::StatisticsCubeStatistics (const unsigned index)
 Get the Statistics object for all bands of a specified input cube.
 

Protected Attributes

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< std::vector< Isis::Statistics * > > p_bandStats
 Holds the calculated statistics for each band separately of every input cubei after the CalculateStatistics method is called.
 
std::vector< Isis::Statistics * > p_cubeStats
 Holds the calculated statistics for every band together of every input cubei after the CalculateStatistics method is called.
 
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.
 
QSet< Isis::Cube * > * m_ownedCubes
 A list of cubes owned by this instant.
 

Private Attributes

QString p_inFile
 Input file name.
 
Isis::PixelType p_pixelType
 Pixel type of input data.
 
Isis::PixelType p_suffixPixelType
 The pixel type of the suffix data.
 
int p_ns
 Number of samples.
 
int p_nl
 Number of lines.
 
int p_nb
 Number of bands.
 
Isis::ByteOrder p_byteOrder
 Byte order of data.
 
int p_suffixData
 The number of bytes past the file header bytes where the suffix data bands are stored.
 
int p_fileHeaderBytes
 The number of bytes of non-image data at the beginning of a file.
 
int p_fileTrailerBytes
 The number of bytes of non-image data at the end of a file.
 
int p_dataHeaderBytes
 Number of bytes of non-image data after the file header and before the image data of each data block, such as band header data in a band sequential file.
 
int p_dataTrailerBytes
 Number of bytes of non-image data after the image data of each data block, such as band trailer data in a band sequential file.
 
int p_dataPreBytes
 Number of bytes of non-image data preceding each data record, such as line prefix data in a band sequential file.
 
int p_dataPostBytes
 Number of bytes of non-image data following each data record, such as line suffix data in a band sequential file.
 
bool p_saveFileHeader
 Flag indicating whether to save the file header or not.
 
bool p_saveDataHeader
 Flag indicating whether to save the data header or not.
 
bool p_saveDataTrailer
 Flag indicating whether to save the data trailer or not.
 
bool p_saveDataPre
 Flag indicating whether to save the data prefix or not.
 
bool p_saveDataPost
 Flag indicating whether to save the data suffix or not.
 
bool p_saveFileTrailer
 Flag indicating whether to save the file trailer or not.
 
char * p_fileHeader
 The file header.
 
std::vector< char * > p_dataHeader
 The data header.
 
std::vector< char * > p_dataTrailer
 The data trailer.
 
std::vector< std::vector< char * > > p_dataPre
 The data prefix.
 
std::vector< std::vector< char * > > p_dataPost
 The data suffix.
 
char * p_fileTrailer
 The file trailer.
 
bool p_vax_convert
 
ProcessImport::Interleave p_organization
 The format of the input file.
 
std::vector< double > p_base
 An array containing the core base for each band.
 
std::vector< double > p_mult
 An array containing the core multiplier for each band.
 
double p_null_min
 The pixel value which is the lower bound of NULL data.
 
double p_null_max
 The pixel value which is the upper bound of NULL data.
 
double p_hrs_min
 The pixel value which is the lower bound of HRS data.
 
double p_hrs_max
 The pixel value which is the upper bound of HRS data.
 
double p_his_min
 The pixel value which is the lower bound of HIS data.
 
double p_his_max
 The pixel value which is the upper bound of HIS data.
 
double p_lrs_min
 The pixel value which is the lower bound of LRS data.
 
double p_lrs_max
 The pixel value which is the upper bound of LRS data.
 
double p_lis_min
 The pixel value which is the lower bound of LIS data.
 
double p_lis_max
 The pixel value which is the upper bound of LIS data.
 

Detailed Description

Byte swapper.

This class is used to import an image into Isis. It is a powerful base class which can be used to skip over header bytes, trailer bytes, prefix and/or suffix bytes. By deriving off of this class it can be used to Import vicar, PDS, fits, or many other standard format images.

Here is an example of how to use ProcessImport

Import p;
p.SetInputFile("myfile.raw");
p.SetDimensions(512,512,1);
p.SetPixelType(Isis::SignedWord);
p.SetByteOrder(Isis::Lsb);
p.SetOutputCube("TO");
p.StartProcess();
p.EndProcess();

If you would like to see ProcessImport being used in implementation, see raw2isis.cpp or for a class that implements ProcessImport, see ProcessImportPds

Author
2002-08-06 Tracie Sucharski
History

2003-01-24 Tracie Sucharski - Fixed bug in processing 8bit data. In the Swap method needed to return unsigned char, not char.

2003-02-13 Stuart Sides - Added a unit test.

2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...

2003-05-30 Stuart Sides - Fixed compiler error after -O1 flag was added to g++

2003-09-10 Tracie Sucharski - Complete redesign to handle different raw file formats.

2003-10-09 Stuart Sides - Added capabilities for reading PDS files.

2003-10-10 Stuart Sides - Added capabilities to get the translation files from the user preferences BASE directory.

2003-10-10 Stuart Sides - Fixed bug for PDS files. When the image name was explicitly given the open statement was attempting to open the label file.

2003-10-16 Stuart Sides - Added a section for debuging all the parameters which can be set before processing starts.

2003-10-16 Stuart Sides - Added a second parameter to the Pvl constructor in SetVicarFile. This allows the vicar label to be read into a Pvl without modifying the repeated "PROPERTY" keyword.

2003-10-23 Stuart Sides - Added new member functions AddImportLabel()"and"AddImportLabel(Pvl). AddImportLabel() uses the original label file to create a Pvl and write it to the output cube label. AddImportLabel(Pvl) uses the Pvl argument to write the import label to the output cube.

2004-01-21 Jeff Anderson - Modified SetOutputCube method to propagate the input pixel type, base, and multipliers to the output cube. The old method always generated real pixel values in the output.

2004-01-22 Jeff Anderson - Modified the SetVicarFile method to return the vicar labels internalized in a Pvl object.

2004-02-04 Jeff Anderson - Modified SetPdsFile method to allow for SPECTRAL_QUBE objects to handle Themis data.

2004-02-05 Jeff Anderson - Refactored the class

2004-02-10 Stuart Sides - Added new member AddLabel

2004-02-10 Stuart Sides - Modified the SetOutputCube member to create a real output file by default if the number of core base and multipliers is more than one.

2005-02-09 Elizabeth Ribelin - Modified file to support Doxygen documentation

2005-04-08 Leah Dahmer - added missing documentation.

2006-04-21 Brendan George - Implemented ProcessBil()

2006-10-26 Stuart Sides - Added unsigned 16 bit ability

2007-10-05 Steven Lambright - Added StartProcess method that passes data back to a function instead of writing it out to a file.

2007-11-13 Janet Barrett - Added the ProcessBip capability

2008-02-22 Steven Lambright - Fixed a memory leak and improved the way the destructor detects allocated pointers.

2008-08-18 Jeannie Walldren - Modified documentation and added method SetFileTrailerBytes().

2008-09-16 Christopher Austin - Added error throwing for the setting of special pixel ranges that overlap by adding CheckPixelRange().

2009-12-14 Janet Barrett - Added capability to import JPEG2000 files.

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

2012-11-21 Kimberly Oyama and Steven Lambright - Modified the ProcessBil() and ProcessBip() methods to use the BoxcarCachingAlgorithm instead of the RegionalCachingAlgorithm. Also added unit tests to exercise the modified methods. Fixes #819.

2013-03-12 Steven Lambright and Tracie Sucharski - Added support for 64 bit input data. Note: Possibility of lost precision since ouput is in 32 bit.

2013-03-27 Jeannie Backer - Added programmer comments and documentation. Changed parameter name from "parameter" to "fname" in SetOutputCube() method. References #1248.

2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Added virtual keyword to destructor. References #2215.

2016-02-23 Tyler Wilson - Added VAXConversion(...) and IsVAXSpecial(...) routines for importing Galileo NIMS qubs which were originally saved in VAX format. Also added SetSuffixOffset for reading suffix band data from NIMS cubes. References #2368.

2016-04-20 Jeannie Backer - Merged Janet Barret's changes to handle SignedInteger imports. Brought code closer to coding standards.

2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.

2017-05-29 Kristin Berry - Added support for data trailers in BIP files and fixed a typo so that DataTrailerBytes() will return the correct value. References #3888.

2018-05-01 Jesse Mapel - Changed data suffix and prefix in BIP files. Previously, data suffixes and prefixes were for each band before/after each line. Now, data suffixes and prefixes are before/after each sample. For a RGB, 3-band image with n samples a line of data was previously | Header | R prefix | G prefix | B prefix | R 1 | G 1 | B 1| ... | R n | G n | B n| R suffix | G suffix | B suffix | Trailer |. Now it is | Header | Prefix 1 | R 1 | G 1 | B 1 | Suffix 1 | ... | Prefix n | R n | G n | B n | Suffix n | Trailer |. This change was made to accomodate Rosetta VIRTIS-m calibrated data files and has no impact on other supported BIP files. Fixes #5398.

2018-07-19 Tyler Wilson - Added support for 4-byte UnsignedInteger special pixel values.

Definition at line 155 of file ProcessImport.h.

Member Enumeration Documentation

◆ Interleave

This enum includes how the document should be read: by BSQ, BIL, BIP, JP2, or InterleaveUndefined.

Enumerator
InterleaveUndefined 

Undefined.

JP2 

Jpeg 2000 Format (always band sequential).

BSQ 

Band Sequential Format (i.e.

Band Interleaved). The first line of data is followed immediately by the next line in the same spectral band.

BIL 

Band Interleaved By Line Format (i.e.

Row Interleaved). The first line of data is followed immediately by the first line of data in the next band.

BIP 

Band Interleaved By Pixel Format (i.e.

Pixel Interleaved). The first pixel for all bands is followed by the second pixel for all bands.

Definition at line 278 of file ProcessImport.h.

◆ VAXDataType

enum Isis::ProcessImport::VAXDataType

Definition at line 157 of file ProcessImport.h.

◆ VAXSpecialPixel

enum Isis::ProcessImport::VAXSpecialPixel

Definition at line 163 of file ProcessImport.h.

Constructor & Destructor Documentation

◆ ProcessImport()

◆ ~ProcessImport()

Isis::ProcessImport::~ProcessImport ( )
virtual

Destroys the Import object.

Definition at line 78 of file ProcessImport.cpp.

References p_dataHeader, p_dataPost, p_dataPre, p_dataTrailer, p_fileHeader, and p_fileTrailer.

Member Function Documentation

◆ AddInputCube()

void Isis::Process::AddInputCube ( Cube * cube,
bool owned = true )
inherited

Definition at line 476 of file Process.cpp.

◆ AddOutputCube()

void Isis::Process::AddOutputCube ( Cube * cube,
bool owned = true )
inherited

Definition at line 482 of file Process.cpp.

◆ Bands()

int Isis::ProcessImport::Bands ( )
inline

Returns the number of bands.

Returns
The number of bands

Definition at line 226 of file ProcessImport.h.

References p_nb.

◆ BandStatistics()

std::vector< Isis::Statistics * > Isis::Process::BandStatistics ( const unsigned index)
inlineinherited

Get the vector of Statistics objects for each band separately of a specified input cube.

Parameters
indexThe index of the input cube in InputCubes
Returns
vector<Statistics*> A list of statistics ordered by band

Definition at line 279 of file Process.h.

References Isis::Process::p_bandStats.

◆ ByteOrder()

Isis::ByteOrder Isis::ProcessImport::ByteOrder ( )
inline

Returns the byte order.

Returns
Byte order of the data

Definition at line 237 of file ProcessImport.h.

References p_byteOrder.

◆ CalculateStatistics()

void Isis::Process::CalculateStatistics ( )
inherited

Calculates and stores off statistics on every band of every cube added to this process via the SetInputCube method.

The newly calculated statistics are stored in two ways: as a vector where each entry is a single Statistics object for every band of a particular input cube, and as a vector where each entry is a vector of Statistics objects, for each band separately, of a particular input cube.

Definition at line 858 of file Process.cpp.

References Isis::Cube::bandCount(), Isis::Progress::CheckStatus(), Isis::Buffer::DoubleBuffer(), Isis::Process::InputCubes, Isis::Cube::lineCount(), Isis::Process::p_bandStats, Isis::Process::p_cubeStats, Isis::Cube::read(), Isis::LineManager::SetLine(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), Isis::Buffer::size(), and Isis::toString().

◆ CheckPixelRange()

void Isis::ProcessImport::CheckPixelRange ( QString pixelName,
double pixelMin,
double pixelMax )

Checks the special pixel range of the given against all other special pixel value ranges, making sure none overlap.

Parameters
pixelNameName of the special pixel type to be displayed in the error message.
pixelMinThe minimum value of the special pixel range
pixelMaxThe maximum value of the special pixel range

Definition at line 1098 of file ProcessImport.cpp.

References p_his_max, p_his_min, p_hrs_max, p_hrs_min, p_lis_max, p_lis_min, p_lrs_max, p_lrs_min, p_null_max, p_null_min, Isis::toString(), and Isis::IException::User.

Referenced by SetHIS(), SetHRS(), SetLIS(), SetLRS(), and SetNull().

◆ CheckRequirements()

void Isis::Process::CheckRequirements ( const Cube * cube,
const int requirements )
inherited

Checks to make sure the input cube meets the inputted requirements.

Parameters
cubeCube to check
requirementsUse to specify requirements for the input file. The following 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

Definition at line 513 of file Process.cpp.

References Isis::Cube::bandCount(), Isis::Cube::fileName(), Isis::Process::InputCubes, Isis::Cube::lineCount(), Isis::Cube::sampleCount(), and Isis::IException::User.

Referenced by Isis::Process::SetInputCube(), and Isis::Process::SetInputCube().

◆ ClearCubes()

void Isis::Process::ClearCubes ( )
inherited

Close owned cubes from the list and clear the list.

Definition at line 603 of file Process.cpp.

References Isis::Process::ClearInputCubes(), Isis::Process::ClearOutputCubes(), and Isis::Process::m_ownedCubes.

Referenced by Isis::Process::Finalize().

◆ ClearInputCubes()

void Isis::Process::ClearInputCubes ( )
inherited

Close owned input cubes from the list and clear the list.

Definition at line 614 of file Process.cpp.

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

Referenced by Isis::Process::ClearCubes(), Isis::ProcessGroundPolygons::SetStatCubes(), and Isis::ProcessMapMosaic::StartProcess().

◆ ClearOutputCubes()

void Isis::Process::ClearOutputCubes ( )
inherited

Close owned output cubes from the list and clear the list.

Definition at line 629 of file Process.cpp.

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

Referenced by Isis::Process::ClearCubes().

◆ CubeStatistics()

Isis::Statistics * Isis::Process::CubeStatistics ( const unsigned index)
inlineinherited

Get the Statistics object for all bands of a specified input cube.

Parameters
indexThe index of the input cube in InputCubes
Returns
Statistics* Collections of statistics gathered on all bands

Definition at line 293 of file Process.h.

References Isis::Process::p_cubeStats.

◆ DataHeader()

std::vector< char * > Isis::ProcessImport::DataHeader ( )

This method returns a pointer to the data header.

A data header is a block of non-image data at the beginning of each data block (for BSQ data blocks are bands). This is not included in the file header and does not include any record headers, such as line prefixes. In order to retrieve this data, the data header bytes must be set and the data header must be saved via SetDataHeaderBytes() and SaveDataHeader(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
vector <char*> Vector of pointers to data headers for each block, if saved.
Exceptions
Isis::iException::Message"Data header was not saved. Use SaveDataHeader()."
See also
SetDataHeaderBytes()
SaveDataHeader()

Definition at line 807 of file ProcessImport.cpp.

References p_dataHeader, p_saveDataHeader, and Isis::IException::Programmer.

◆ DataHeaderBytes()

int Isis::ProcessImport::DataHeaderBytes ( ) const

This method returns the number of data header bytes.

Definition at line 705 of file ProcessImport.cpp.

References p_dataHeaderBytes.

◆ DataPrefix()

std::vector< std::vector< char * > > Isis::ProcessImport::DataPrefix ( )

This method returns a pointer to the data prefix.

A data prefix is a block of non-image data at the beginning of each data record (for BSQ data records are lines). This is not included in the file header or the data header. In order to retrieve this data, the data prefix bytes must be set and the data prefix must be saved via SetDataPrefixBytes() and SaveDataPrefix(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
vector <vector <char*> > Two-dimensional vector of pointers to data prefixes for each record, if saved.
Exceptions
Isis::iException::Message"Data prefix was not saved. Use SaveDataPrefix()."
See also
SetDataPrefixBytes()
SaveDataPrefix()

Definition at line 863 of file ProcessImport.cpp.

References p_dataPre, p_saveDataPre, and Isis::IException::Programmer.

◆ DataPrefixBytes()

int Isis::ProcessImport::DataPrefixBytes ( ) const

This method returns the number of data prefix bytes.

Definition at line 721 of file ProcessImport.cpp.

References p_dataPreBytes.

Referenced by Isis::ProcessImportFits::setProcessFileStructure().

◆ DataSuffix()

std::vector< std::vector< char * > > Isis::ProcessImport::DataSuffix ( )

This method returns a pointer to the data suffix.

A data suffix is a block of non-image data at the end of each data record (for BSQ data records are lines). This is not included in the file trailer or the data trailer. In order to retrieve this data, the data suffix bytes must be set and the data suffix must be saved via SetDataSuffixBytes() and SaveDataSuffix(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
vector <vector <char*> > Two-dimensional vector of pointers to data suffixes for each record, if saved.
Exceptions
Isis::iException::Message"Data suffix was not saved. Use SaveDataSuffix()."
See also
SetDataSuffixBytes()
SaveDataSuffix()

Definition at line 891 of file ProcessImport.cpp.

References p_dataPost, p_saveDataPost, and Isis::IException::Programmer.

◆ DataSuffixBytes()

int Isis::ProcessImport::DataSuffixBytes ( ) const

This method returns the number of data duffix bytes.

Definition at line 729 of file ProcessImport.cpp.

References p_dataPostBytes.

Referenced by Isis::ProcessImportFits::setProcessFileStructure().

◆ DataTrailer()

std::vector< char * > Isis::ProcessImport::DataTrailer ( )

This method returns a pointer to the data trailer.

A data trailer is a block of non-image data at the end each data block (for BSQ data blocks are bands). This is not included in the file trailer and does not include any record trailers, such as line suffixes. In order to retrieve this data, the data trailer bytes must be set and the data trailer must be saved via SetDataTrailerBytes() and SaveDataTrailer(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
vector <char*> Vector of pointers to data trailers for each block, if saved.
Exceptions
Isis::iException::Message"Data trailer was not saved. Use SaveDataTrailer()."
See also
SetDataTrailerBytes()
SaveDataTrailer()

Definition at line 835 of file ProcessImport.cpp.

References p_dataTrailer, p_saveDataTrailer, and Isis::IException::Programmer.

◆ DataTrailerBytes()

int Isis::ProcessImport::DataTrailerBytes ( ) const

This method returns the number of data trailer bytes.

Definition at line 713 of file ProcessImport.cpp.

References p_dataTrailerBytes.

Referenced by Isis::ProcessImportPds::ProcessPdsQubeLabel().

◆ EndProcess()

◆ FileHeader()

char * Isis::ProcessImport::FileHeader ( )

This method returns a pointer to the file header.

A file header is a block of non-image data at the beginning of the entire file. This does not include any section headers, such as band headers or line prefixes. In order to retrieve this data, the file header bytes must be set and the file header must be saved via SetFileHeaderBytes() and SaveFileHeader(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
char* Pointer to file header, if saved.
Exceptions
Isis::iException::Message"File header was not saved. Use SaveFileHeader()."
See also
SetFileHeaderBytes()
SaveFileHeader()

Definition at line 753 of file ProcessImport.cpp.

References p_fileHeader, p_saveFileHeader, and Isis::IException::Programmer.

◆ FileHeaderBytes()

int Isis::ProcessImport::FileHeaderBytes ( ) const

This method returns the number of file header bytes.

Definition at line 688 of file ProcessImport.cpp.

References p_fileHeaderBytes.

◆ FileTrailer()

char * Isis::ProcessImport::FileTrailer ( )

This method returns a pointer to the file trailer.

A file trailer is a block of non-image data at the end of the entire file. This does not include any section trailers, such as band trailers or line suffixes. In order to retrieve this data, the file trailer bytes must be set and the file trailer must be saved via SetFileTrailerBytes() and SaveFileTrailer(), respectively. This method must be called only after StartProcess() has returned and before EndProcess() is called.

Returns
char* Pointer to file trailer, if saved.
Exceptions
Isis::iException::Message"File trailer was not saved. Use SaveFileTrailer()."
See also
SetFileTrailerBytes()
SaveFileTrailer()

Definition at line 779 of file ProcessImport.cpp.

References p_fileTrailer, p_saveFileTrailer, and Isis::IException::Programmer.

◆ FileTrailerBytes()

int Isis::ProcessImport::FileTrailerBytes ( ) const

This method returns the number of file trailer bytes.

Definition at line 697 of file ProcessImport.cpp.

References p_fileTrailerBytes.

◆ Finalize()

void Isis::Process::Finalize ( )
virtualinherited

◆ InputFile()

QString Isis::ProcessImport::InputFile ( )

Sets the name of the input file to be read in the import StartProcess method and verifies its existance.

Parameters
fileThe name of the input file to import.
Exceptions
Isis::iException::Message"File does not exist."

Definition at line 2319 of file ProcessImport.cpp.

References p_inFile, and Isis::IException::Programmer.

Referenced by Isis::ProcessImportFits::setProcessFileStructure().

◆ IsVAXSpecial()

bool Isis::ProcessImport::IsVAXSpecial ( unsigned int * vax,
VAXSpecialPixel pix )

Determines if the VAX encoded pixel value is special or not.

Parameters
vaxA pointer to a VAX pixel
pixAn enumerated value indicating the VAX pixel type
Returns
bool Returns true if the bit pattern for the enumerated type matches that pointed to by vax. Returns false otherwise.

Definition at line 118 of file ProcessImport.cpp.

◆ Lines()

int Isis::ProcessImport::Lines ( )
inline

Returns the number of lines.

Returns
The number of lines

Definition at line 217 of file ProcessImport.h.

References p_nl.

◆ MissionData()

QString Isis::Process::MissionData ( const QString & mission,
const QString & 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
missionName of the mission data directory
fileName of the file to attach to the end of the directory
highestVersionIf 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 788 of file Process.cpp.

References Isis::FileName::expanded(), Isis::FileName::fileExists(), Isis::FileName::highestVersion(), Isis::IException::Io, and Isis::FileName::original().

◆ Organization()

ProcessImport::Interleave Isis::ProcessImport::Organization ( ) const

Gets the organization of the input cube.

Definition at line 928 of file ProcessImport.cpp.

References p_organization.

Referenced by Isis::ProcessImportFits::setProcessFileStructure().

◆ PixelType()

Isis::PixelType Isis::ProcessImport::PixelType ( )
inline

Returns the pixel type.

Returns
The pixel type of input data

Definition at line 197 of file ProcessImport.h.

References p_pixelType.

◆ ProcessBil()

void Isis::ProcessImport::ProcessBil ( void functIsis::Buffer &out = NULL)

Function to process files stored as Band Interleaved by Line.

Parameters
functMethod that accepts Isis::Buffer as an input parameter, processes the image, and has no return value.
Exceptions
Isis::iException::Message"Cannot open input file."
Isis::iException::Message"Cannot read file. Position[]. Byte count[]"

Definition at line 1626 of file ProcessImport.cpp.

References Isis::Progress::CheckStatus(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, p_base, p_byteOrder, p_dataHeaderBytes, p_dataPost, p_dataPostBytes, p_dataPre, p_dataPreBytes, p_fileHeader, p_fileHeaderBytes, p_fileTrailer, p_fileTrailerBytes, p_inFile, p_mult, p_nb, p_nl, p_ns, p_pixelType, Isis::Process::p_progress, p_saveDataPost, p_saveDataPre, p_saveFileHeader, p_saveFileTrailer, p_suffixData, Isis::Progress::SetMaximumSteps(), Isis::SizeOf(), TestPixel(), Isis::toString(), and VAXConversion().

Referenced by StartProcess(), and StartProcess().

◆ ProcessBip()

void Isis::ProcessImport::ProcessBip ( void functIsis::Buffer &out = NULL)

Function to process files stored as Band Interleaved by Pixel.

Parameters
functMethod that accepts Isis::Buffer as an input parameter, processes the image, and has no return value.
Exceptions
Isis::iException::Message"Cannot open input file."
Isis::iException::Message"Cannot read file. Position[]. Byte count[]"

Definition at line 1871 of file ProcessImport.cpp.

References Isis::Progress::CheckStatus(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, p_base, p_byteOrder, p_dataHeaderBytes, p_dataPost, p_dataPostBytes, p_dataPre, p_dataPreBytes, p_dataTrailer, p_dataTrailerBytes, p_fileHeader, p_fileHeaderBytes, p_fileTrailer, p_fileTrailerBytes, p_inFile, p_mult, p_nb, p_nl, p_ns, p_pixelType, Isis::Process::p_progress, p_saveDataPost, p_saveDataPre, p_saveDataTrailer, p_saveFileHeader, p_saveFileTrailer, p_suffixData, Isis::Progress::SetMaximumSteps(), Isis::SizeOf(), TestPixel(), Isis::toString(), and VAXConversion().

Referenced by StartProcess(), and StartProcess().

◆ ProcessBsq()

void Isis::ProcessImport::ProcessBsq ( void functIsis::Buffer &out = NULL)

Process the import data as a band sequential file.

Parameters
functMethod that accepts Isis::Buffer as an input parameter, processes the image, and has no return value.
Exceptions
Isis::iException::Message"Cannot open input file."
Isis::iException::Message"Cannot read file. Position[]. Byte count[]"

Definition at line 1363 of file ProcessImport.cpp.

References Isis::Progress::CheckStatus(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, p_base, p_byteOrder, p_dataHeader, p_dataHeaderBytes, p_dataPost, p_dataPostBytes, p_dataPre, p_dataPreBytes, p_dataTrailer, p_dataTrailerBytes, p_fileHeader, p_fileHeaderBytes, p_fileTrailer, p_fileTrailerBytes, p_inFile, p_mult, p_nb, p_nl, p_ns, p_pixelType, Isis::Process::p_progress, p_saveDataHeader, p_saveDataPost, p_saveDataPre, p_saveDataTrailer, p_saveFileHeader, p_saveFileTrailer, p_suffixData, Isis::Progress::SetMaximumSteps(), Isis::SizeOf(), TestPixel(), Isis::toString(), and VAXConversion().

Referenced by StartProcess(), and StartProcess().

◆ ProcessJp2()

void Isis::ProcessImport::ProcessJp2 ( void functIsis::Buffer &out = NULL)

Function to process files containing compressed JPEG2000 data (which is always BSQ but is processed as BIL with one or more lines stored sequentially for each band).

There is no need to set up an Isis::EndianSwapper because JP2 data is always assumed to be in MSB format. The Kakadu library does an automatic byte swap for the current architecture.

Parameters
functMethod that accepts Isis::Buffer as an input parameter, processes the image, and has no return value.
Exceptions
Isis::iException::Message"Cannot open input file."
Isis::iException::Message"Cannot read file. Position[]. Byte count[]"

Definition at line 2123 of file ProcessImport.cpp.

References Isis::Progress::CheckStatus(), Isis::IsValidPixel(), Isis::Process::OutputCubes, p_base, p_dataPost, p_dataPostBytes, p_dataPre, p_dataPreBytes, p_inFile, p_mult, p_nb, p_nl, p_ns, p_pixelType, Isis::Process::p_progress, p_saveDataPost, p_saveDataPre, Isis::Progress::SetMaximumSteps(), Isis::SizeOf(), and TestPixel().

Referenced by StartProcess(), and StartProcess().

◆ Progress()

Isis::Progress * Isis::Process::Progress ( )
inlineinherited

This method returns a pointer to a Progress object.

Returns
Progress*

Definition at line 259 of file Process.h.

References Isis::Process::p_progress.

Referenced by Isis::Equalization::applyCorrection(), and Isis::ProcessMapMosaic::StartProcess().

◆ PropagateHistory()

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

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

Parameters
propFlag indicating if history is to be propagated to output cubes.

Definition at line 755 of file Process.cpp.

References Isis::Process::p_propagateHistory.

◆ PropagateLabels() [1/2]

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
propFlag indicating if labels are be propagated to output cubes.

Definition at line 652 of file Process.cpp.

References Isis::Process::p_propagateLabels.

◆ PropagateLabels() [2/2]

void Isis::Process::PropagateLabels ( const QString & cube)
inherited

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

Parameters
cubeIString containing the name of the cube containing the labels to propagate.

Definition at line 664 of file Process.cpp.

References Isis::PvlObject::findObject(), and Isis::Process::OutputCubes.

◆ PropagateOriginalLabel()

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
propFlag indicating if original labels is to be propagated to output cubes.

Definition at line 767 of file Process.cpp.

References Isis::Process::p_propagateOriginalLabel.

◆ PropagatePolygons()

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
propFlag indicating if input blobs are to be propagated to output cubes.

Definition at line 744 of file Process.cpp.

References Isis::Process::p_propagatePolygons.

◆ PropagateTables() [1/2]

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
propFlag indicating if input tables are to be propagated to output cubes.

Definition at line 693 of file Process.cpp.

References Isis::Process::p_propagateTables.

◆ PropagateTables() [2/2]

void Isis::Process::PropagateTables ( const QString & fromName,
const QList< QString > & tableNames = QList<QString>() )
inherited

Propagate the tables from the cube with the given filename to the output cube.

This is done at the time this method is called, not during normal processing. The names of the tables to propagate can be provided through the second paramter, by specifing a list of table names. Not providing any list (or providing an empty list) will propagate all tables.

Parameters
fromNameQString of the name of the cube containing the tables to propagate.
tableNamesList of QStrings of the names of the tables to propagate; default is empty, which indicates that all tables will be propagated.
History
2016-11-30 Ian Humphrey - Added tableNames parameter so that only specified tables will be propagated when calling this method. Note that a default of an empty QList is used to propagate all tables. References #4433.

Definition at line 714 of file Process.cpp.

References Isis::Cube::close(), Isis::Cube::label(), Isis::PvlObject::object(), Isis::Cube::open(), Isis::Process::OutputCubes, and Isis::Cube::read().

◆ Samples()

int Isis::ProcessImport::Samples ( )
inline

Returns the number of samples.

Returns
The number of samples

Definition at line 208 of file ProcessImport.h.

References p_ns.

◆ SaveDataHeader()

void Isis::ProcessImport::SaveDataHeader ( )

This method marks the data block headers to be saved.

A data header is a block of non-image data at the beginning of each data block (for BSQ data blocks are bands). This is not included in the file header and does not include any record headers, such as line prefixes. Each of the header blocks will be saved inside StartProcess(). It must be called after setting the size with SetDataHeaderBytes() and before StartProcess() is called. This data will only be available via DataHeader() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"Data header bytes equals 0. There is nothing to save. Use SetDataHeaderBytes() first."
See also
SetDataHeaderBytes()
DataHeader()

Definition at line 588 of file ProcessImport.cpp.

References p_dataHeaderBytes, p_saveDataHeader, and Isis::IException::Programmer.

◆ SaveDataPrefix()

void Isis::ProcessImport::SaveDataPrefix ( )

This method marks the data prefix to be saved.

A data prefix is a block of non-image data at the beginning of each data record (for BSQ data records are lines). This is not included in the file header or the data header. Each of the data prefixes will be saved inside StartProcess(). It must be called after setting the size with SetDataPrefixBytes() and before StartProcess() is called. This data will only be available via DataPrefix() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"Data prefix bytes equals 0. There is nothing to save. Use SetDataPrefixBytes() first."
See also
SetDataPrefixBytes()
DataPrefix()

Definition at line 645 of file ProcessImport.cpp.

References p_dataPreBytes, p_saveDataPre, and Isis::IException::Programmer.

◆ SaveDataSuffix()

void Isis::ProcessImport::SaveDataSuffix ( )

This method marks the data suffix to be saved.

A data suffix is a block of non-image data at the end of each data record (for BSQ data records are lines). This is not included in the file trailer or the data trailer. Each of the data suffixes will be saved inside StartProcess(). It must be called after setting the size with SetDataPrefixBytes() and before StartProcess() is called. This data will only be available via DataPrefix() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"Data suffix bytes equals 0. There is nothing to save. Use SetDataSuffixBytes() first."
See also
SetDataSuffixBytes()
DataSuffix()

Definition at line 674 of file ProcessImport.cpp.

References p_dataPostBytes, p_saveDataPost, and Isis::IException::Programmer.

◆ SaveDataTrailer()

void Isis::ProcessImport::SaveDataTrailer ( )

This method marks the data block trailers to be saved.

A data trailer is a block of non-image data at the end of each data block (for BSQ data blocks are bands). This is not included in the file trailer and does not include any record trailers, such as line suffixes. Each of the trailer blocks will be saved inside StartProcess(). It must be called after setting the size with SetDataTrailerBytes() and before StartProcess() is called. This data will only be available via DataTrailer() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"Data trailer bytes equals 0. There is nothing to save. Use SetDataTrailerBytes() first."
See also
SetDataTrailerBytes()
DataTrailer()

Definition at line 617 of file ProcessImport.cpp.

References p_dataTrailerBytes, p_saveDataTrailer, and Isis::IException::Programmer.

Referenced by Isis::ProcessImportPds::ProcessPdsQubeLabel().

◆ SaveFileHeader()

void Isis::ProcessImport::SaveFileHeader ( )

This method marks the file header to be saved.

A file header is a block of non-image data at the beginning of the entire file. This does not include any section headers, such as band headers or line prefixes. The file header will be saved inside StartProcess(). It must be called after setting the size with SetFileHeaderBytes() and before StartProcess() is called. This data will only be available via FileHeader() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"File header bytes equals 0. There is nothing to save. Use SetFileHeaderBytes() first."
See also
SetFileHeaderBytes()
FileHeader()

Definition at line 532 of file ProcessImport.cpp.

References p_fileHeaderBytes, p_saveFileHeader, and Isis::IException::Programmer.

◆ SaveFileTrailer()

void Isis::ProcessImport::SaveFileTrailer ( )

This method marks the file trailer to be saved.

A file trailer is a block of non-image data at the end of the entire file. This does not include any section trailers, such as band trailers or line suffixes. The file trailer will be saved inside StartProcess(). It must be called after setting the size with SetFileTrailerBytes() and before StartProcess() is called. This data will only be available via FileTrailer() after StartProcess() has returned and before EndProcess() is called.

Exceptions
Isis::iException::Message"File trailer bytes equals 0. There is nothing to save. Use SetFileTrailerBytes() first."
See also
SetFileTrailerBytes()
FileTrailer()

Definition at line 559 of file ProcessImport.cpp.

References p_fileTrailerBytes, p_saveFileTrailer, and Isis::IException::Programmer.

◆ SetAttributes()

void Isis::ProcessImport::SetAttributes ( CubeAttributeOutput & att)

Given a CubeAttributeOutput object, set min/max to propagate if propagating min/max attributes was requested and set the pixel type to propagate if pixel type propagation was requested.

Parameters
parameterThe parameter name that holds the output file name.
Exceptions
Isis::iException::Message"Unsupported pixel type."

Definition at line 1198 of file ProcessImport.cpp.

References p_base, p_mult, p_pixelType, Isis::PixelTypeName(), and Isis::IException::Programmer.

Referenced by SetOutputCube(), SetOutputCube(), and SetOutputCube().

◆ SetBase() [1/2]

void Isis::ProcessImport::SetBase ( const double base)

◆ SetBase() [2/2]

void Isis::ProcessImport::SetBase ( const std::vector< double > base)

Sets band dependent core base.

Parameters
baseA vector containing the base for each band.

Definition at line 949 of file ProcessImport.cpp.

References p_base.

◆ SetByteOrder()

void Isis::ProcessImport::SetByteOrder ( const Isis::ByteOrder order)

Sets the byte order of the input file.

This must be invoked prior to SetOutputCube.

Parameters
orderThe enumerated byte order Isis::Lsb or Isis::Msb

Definition at line 324 of file ProcessImport.cpp.

References p_byteOrder.

Referenced by Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsM3Label(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), Isis::ProcessImportFits::setProcessFileStructure(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetDataHeaderBytes()

void Isis::ProcessImport::SetDataHeaderBytes ( const int bytes)

This method sets the number of bytes in the header of each datablock of a file.

A data header is a block of non-image data at the beginning of each data block (for BSQ data blocks are bands). This is not included in the file header and does not include any record headers, such as line prefixes. It must be called before StartProcess(). This data will only be available if saved via SaveDataHeader() and may be accessed via DataHeader() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal data header size." (when bytes < 0)
See also
SaveDataHeader()
DataHeader()

Definition at line 408 of file ProcessImport.cpp.

References p_dataHeaderBytes, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessPdsM3Label(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetDataPrefixBytes()

void Isis::ProcessImport::SetDataPrefixBytes ( const int bytes)

This method sets the number of bytes at the beginning of each data record of a file.

A data prefix is a block of non-image data at the beginning of each data record (for BSQ data records are lines). This is not included in the file header or the data header. It must be called before StartProcess(). This data will only be available if saved via SaveDataPrefix() and may be accessed via DataPrefix() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal data prefix size." (when bytes < 0)
See also
SaveDataPrefix()
DataPrefix()

Definition at line 473 of file ProcessImport.cpp.

References p_dataPreBytes, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetDataSuffixBytes()

void Isis::ProcessImport::SetDataSuffixBytes ( const int bytes)

This method sets the number of bytes at the end of each data record of a file.

A data suffix is a block of non-image data at the end of each data record (for BSQ data records are lines). This is not included in the file trailer or the data trailer. It must be called before StartProcess(). This data will only be available if saved via SaveDataSuffix() and may be accessed via DataSuffix() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal data suffix size." (when bytes < 0)
See also
SaveDataSuffix()
DataSuffix()

Definition at line 503 of file ProcessImport.cpp.

References p_dataPostBytes, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsM3Label(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetDataTrailerBytes()

void Isis::ProcessImport::SetDataTrailerBytes ( const int bytes)

This method sets the number of bytes in the trailer of each datablock of a file.

A data trailer is a block of non-image data at the end of each data block (for BSQ data blocks are bands). This is not included in the file trailer and does not include any record trailers, such as line suffixes. It must be called before StartProcess(). This data will only be available if saved via SaveDataTrailer() and may be accessed via DataTrailer() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal data trailer size." (when bytes < 0)
See also
SaveDataTrailer()
DataTrailer()

Definition at line 443 of file ProcessImport.cpp.

References p_dataTrailerBytes, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessPdsQubeLabel().

◆ SetDimensions()

void Isis::ProcessImport::SetDimensions ( const int ns,
const int nl,
const int nb )

Sets the physical size of the input cube.

This must be invoked prior to setOutputCube.

Parameters
nsNumber of samples
nlNumber of lines
nbNumber of bands
Exceptions
Isis::iException::Message"Illegal dimension."

Definition at line 304 of file ProcessImport.cpp.

References p_nb, p_nl, p_ns, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsM3Label(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), Isis::ProcessImportFits::setProcessFileStructure(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetFileHeaderBytes()

void Isis::ProcessImport::SetFileHeaderBytes ( const int bytes)

This method sets the number of bytes in the header of a file.

The file header is a block of non-image data at the beginning of the entire file. This does not include any section headers, such as band headers or line prefixes. Typically it is used to delineate the boundary of the binary or ascii labels. It must be called before StartProcess(). This data will only be available if saved via SaveFileHeader() and may be accessed via FileHeader() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal file header size." (when bytes < 0)
See also
SaveFileHeader()
FileHeader()

Definition at line 349 of file ProcessImport.cpp.

References p_fileHeaderBytes, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ProcessImportPds::ProcessDataFilePointer(), Isis::ProcessImportFits::setProcessFileStructure(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetFileTrailerBytes()

void Isis::ProcessImport::SetFileTrailerBytes ( const int bytes)

This method sets the number of bytes in the trailer of a file.

The trailer is a block of non-image data at the end of the entire file. This does not include any section trailers, such as band trailers or line suffixes. It must be called before StartProcess(). This data will only be available if saved via SaveFileTrailer() and may be accessed via FileTrailer() after StartProcess() has returned and before EndProcess() is called. If not invoked the default is 0.

Parameters
bytesNumber of bytes
Exceptions
Isis::iException::Message"Illegal file trailer size." (when bytes < 0)
See also
SaveFileTrailer()
FileTrailer()
History
2008-08-12 Jeannie Walldren, Method created

Definition at line 379 of file ProcessImport.cpp.

References p_fileTrailerBytes, Isis::IException::Programmer, and Isis::toString().

◆ SetHIS()

void Isis::ProcessImport::SetHIS ( const double his_min,
const double his_max )

Sets the range that will be considered Isis::Null.

Parameters
his_minThe double precision value used to identify the min range of his pixels in the image being imported.
his_maxThe double precision value used to identify the max range of his pixels in the image being imported.

Definition at line 1082 of file ProcessImport.cpp.

References CheckPixelRange(), p_his_max, and p_his_min.

Referenced by ProcessImport(), and SetSpecialValues().

◆ SetHRS()

void Isis::ProcessImport::SetHRS ( const double hrs_min,
const double hrs_max )

Sets the range that will be considered Isis::Null.

Parameters
hrs_minThe double precision value used to identify the min range of hrs pixels in the image being imported.
hrs_maxThe double precision value used to identify the max range of hrs pixels in the image being imported.

Definition at line 1065 of file ProcessImport.cpp.

References CheckPixelRange(), p_hrs_max, and p_hrs_min.

Referenced by ProcessImport(), and SetSpecialValues().

◆ SetInputCube() [1/3]

Isis::Cube * Isis::Process::SetInputCube ( const QString & fname,
const Isis::CubeAttributeInput & att,
int requirements = 0 )
virtualinherited

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

Parameters
fnameProgrammer specified work file. For example, "myfile.cub".
attThe cube attributes to use when opening the input cube.
requirementsRequirements to check that the input cube meets. See CheckRequirements().
Returns
Cube*
Exceptions
Isis::iException::Message

Reimplemented in Isis::ProcessByBrick, Isis::ProcessByBrick, and Isis::ProcessMosaic.

Definition at line 68 of file Process.cpp.

References Isis::Process::CheckRequirements(), Isis::Cube::open(), and Isis::Cube::setVirtualBands().

◆ SetInputCube() [2/3]

Isis::Cube * Isis::Process::SetInputCube ( const QString & parameter,
const int requirements = 0 )
virtualinherited

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

Returns
Cube*
Parameters
parameterUser 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".
requirementsRequirements to check that the input cube meets. See CheckRequirements().
Exceptions
Isis::iException::Message

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

Definition at line 139 of file Process.cpp.

References Isis::Application::GetUserInterface(), and Isis::Process::SetInputCube().

Referenced by Isis::JigsawRunWidget::on_JigsawAcceptButton_clicked(), Isis::FileTool::saveAsEnlargedCube(), Isis::ProcessByLine::SetInputCube(), Isis::ProcessBySample::SetInputCube(), Isis::ProcessByBrick::SetInputCube(), Isis::ProcessMosaic::SetInputCube(), Isis::Process::SetInputCube(), Isis::ProcessByLine::SetInputCube(), Isis::ProcessMosaic::SetInputCube(), Isis::ProcessByBrick::SetInputCube(), Isis::ProcessBySample::SetInputCube(), and Isis::ProcessGroundPolygons::SetStatCubes().

◆ SetInputCube() [3/3]

void Isis::Process::SetInputCube ( Isis::Cube * inCube,
int requirements = 0 )
virtualinherited

Set the InputCube vector to an opened Cube which was dynamically allocated.

This is used if there already exists a valid opened cube

Author
Sharmila Prasad (5/7/2011)
Parameters
inCube- Pointer to input Cube
requirementsRequirements to check that the input cube meets. See CheckRequirements().

Reimplemented in Isis::ProcessByBrick, and Isis::ProcessMosaic.

Definition at line 110 of file Process.cpp.

References Isis::Process::CheckRequirements(), Isis::Cube::isOpen(), and Isis::IException::User.

◆ SetInputFile()

void Isis::ProcessImport::SetInputFile ( const QString & file)

Sets the name of the input file to be read in the import StartProcess method and verifies its existance.

Parameters
fileThe name of the input file to import.
Exceptions
Isis::iException::Message"File does not exist."

Definition at line 2302 of file ProcessImport.cpp.

References p_inFile, and Isis::IException::User.

Referenced by Isis::ProcessImportPds::ProcessDataFilePointer(), Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsM3Label(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), Isis::ProcessImportFits::setFitsFile(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetLIS()

void Isis::ProcessImport::SetLIS ( const double lis_min,
const double lis_max )

Sets the range that will be considered Isis::Null.

Parameters
lis_minThe double precision value used to identify the min range of lis pixels in the image being imported.
lis_maxThe double precision value used to identify the max range of lis pixels in the image being imported.

Definition at line 1048 of file ProcessImport.cpp.

References CheckPixelRange(), p_lis_max, and p_lis_min.

Referenced by ProcessImport(), and SetSpecialValues().

◆ SetLRS()

void Isis::ProcessImport::SetLRS ( const double lrs_min,
const double lrs_max )

Sets the range that will be considered Isis::Null.

Parameters
lrs_minThe double precision value used to identify the min range of lrs pixels in the image being imported.
lrs_maxThe double precision value used to identify the max range of lrs pixels in the image being imported.

Definition at line 1031 of file ProcessImport.cpp.

References CheckPixelRange(), p_lrs_max, and p_lrs_min.

Referenced by ProcessImport(), and SetSpecialValues().

◆ SetMultiplier() [1/2]

void Isis::ProcessImport::SetMultiplier ( const double mult)

◆ SetMultiplier() [2/2]

void Isis::ProcessImport::SetMultiplier ( const std::vector< double > mult)

Sets band dependent core multiplier.

Parameters
multA vector containing the multiplier for each band.

Definition at line 970 of file ProcessImport.cpp.

References p_mult.

◆ SetNull()

void Isis::ProcessImport::SetNull ( const double null_min,
const double null_max )

Sets the range that will be considered Isis::Null.

Parameters
null_minThe double precision value used to identify the min range of null pixels in the image being imported.
null_maxThe double precision value used to identify the max range of null pixels in the image being imported.

Definition at line 1014 of file ProcessImport.cpp.

References CheckPixelRange(), p_null_max, and p_null_min.

Referenced by ProcessImport(), and SetSpecialValues().

◆ SetOrganization()

void Isis::ProcessImport::SetOrganization ( const ProcessImport::Interleave org)

Sets the organization of the input cube.

If not invoked it is assumed Isis::Import::Bsq.

Parameters
orgThe enumerated organizations either Isis::Import::Bsq Isis::Import::Bil or Isis::Import::Bip

Definition at line 907 of file ProcessImport.cpp.

References p_organization.

Referenced by Isis::ProcessImportPds::ProcessPdsCombinedSpectrumLabel(), Isis::ProcessImportPds::ProcessPdsImageLabel(), Isis::ProcessImportPds::ProcessPdsM3Label(), Isis::ProcessImportPds::ProcessPdsQubeLabel(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetOutputCube() [1/5]

Isis::Cube * Isis::Process::SetOutputCube ( const QString & fname,
const Isis::CubeAttributeOutput & att,
const int ns,
const int nl,
const int nb = 1 )
virtualinherited

◆ SetOutputCube() [2/5]

Isis::Cube * Isis::ProcessImport::SetOutputCube ( const QString & fname,
Isis::CubeAttributeOutput & att )
virtual

Create the output file.

Note that all the appropiate calls to at least SetDimensions should be invoked prior to calling this method.

Parameters
fnameThe output file name.
attAn output cube attribute to define the characteristics of the output cube.
Returns
Isis::Cube Output cube.
Exceptions
Isis::iException::Message"File is not in a supported organization."

Definition at line 1294 of file ProcessImport.cpp.

References p_nb, p_nl, p_ns, SetAttributes(), and Isis::Process::SetOutputCube().

◆ SetOutputCube() [3/5]

Isis::Cube * Isis::ProcessImport::SetOutputCube ( const QString & parameter)
virtual

Create the output file.

Note that all the appropriate calls to at least SetDimensions and SetPixelType should be made prior to calling this method.

Parameters
parameterThe parameter name that holds the output file name.
Returns
Isis::Cube Output cube.
Exceptions
Isis::iException::Message"Unsupported pixel type."

Reimplemented from Isis::Process.

Definition at line 1261 of file ProcessImport.cpp.

References Isis::Application::GetUserInterface(), p_nb, p_nl, p_ns, SetAttributes(), and Isis::Process::SetOutputCube().

◆ SetOutputCube() [4/5]

Isis::Cube * Isis::Process::SetOutputCube ( const QString & parameter,
const int ns,
const int nl,
const int nb = 1 )
virtualinherited

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

Returns
Cube*
Parameters
parameterUser 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.
nsNumber of samples to allocate
nlNumber of lines to allocate
nbNumber of bands to allocate
Exceptions
Isis::iException::Message

Definition at line 233 of file Process.cpp.

References Isis::Application::GetUserInterface(), Isis::IException::Programmer, and Isis::Process::SetOutputCube().

◆ SetOutputCube() [5/5]

Isis::Cube * Isis::ProcessImport::SetOutputCube ( const QString & parameter,
UserInterface & ui )

Create the output file.

Definition at line 1275 of file ProcessImport.cpp.

References p_nb, p_nl, p_ns, SetAttributes(), and Isis::Process::SetOutputCube().

◆ SetOutputCubeStretch() [1/2]

Isis::Cube * Isis::Process::SetOutputCubeStretch ( const QString & parameter,
const int ns,
const int nl,
const int nb = 1,
UserInterface * ui = nullptr )
virtualinherited

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

Returns
Cube*
Parameters
parameterUser 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.
nsNumber of samples to allocate
nlNumber of lines to allocate
nbNumber of bands to allocate
uiA user interface used to get the attributes needed. If null, the user interface will be obtained from the application.
Exceptions
Isis::iException::Message

Definition at line 275 of file Process.cpp.

References Isis::Application::GetUserInterface(), Isis::IException::Programmer, and Isis::Process::SetOutputCube().

◆ SetOutputCubeStretch() [2/2]

Isis::Cube * Isis::Process::SetOutputCubeStretch ( const QString & parameter,
UserInterface * ui = nullptr )
virtualinherited

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

Returns
Cube*
Parameters
parameterUser 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.
uiA user interface used to get the attributes needed for SetOutputCube.
Exceptions
Isis::iException::Message

Definition at line 196 of file Process.cpp.

References Isis::Process::InputCubes, Isis::IException::Programmer, and Isis::Process::SetOutputCubeStretch().

Referenced by Isis::Process::SetOutputCubeStretch().

◆ SetPixelType()

void Isis::ProcessImport::SetPixelType ( const Isis::PixelType type)

Sets the pixel type of the input file.

Parameters
typeThe enumerated pixel type Isis::Real, Isis::SignedWord, or Isis::UnsignedByte. This must be invoked prior to setOutputCube
Exceptions
Isis::iException::Message"Unsupported pixel type."

Definition at line 264 of file ProcessImport.cpp.

References p_pixelType, Isis::PixelTypeName(), and Isis::IException::Programmer.

Referenced by Isis::ProcessImportPds::ProcessPixelBitandType(), Isis::ProcessImportFits::setProcessFileStructure(), and Isis::ProcessImportVicar::SetVicarFile().

◆ SetSpecialValues()

void Isis::ProcessImport::SetSpecialValues ( const double null,
const double lrs,
const double lis,
const double hrs,
const double his )

Sets a mapping of input pixel values to output special pixel values.

Parameters
nullThe double precision value used to identify null pixels in the image being imported.
lrsThe double precisiion value used to identify low representation saturation LRS pixels in the image being imported.
lisThe double precision value used to identify low instrument saturation LIS pixels in the image being imported.
hrsThe double precision value used to identify high representation saturation HRS pixels in the image being imported.
hisThe double precision value used to identify high instrument saturation HIS pixels in the image being imported.

Definition at line 993 of file ProcessImport.cpp.

References SetHIS(), SetHRS(), SetLIS(), SetLRS(), and SetNull().

Referenced by Isis::ProcessImportPds::ProcessSpecialPixels().

◆ SetSuffixOffset()

void Isis::ProcessImport::SetSuffixOffset ( int samples,
int lines,
int coreBands,
int itemBytes )

Definition at line 419 of file ProcessImport.cpp.

◆ SetSuffixPixelType()

void Isis::ProcessImport::SetSuffixPixelType ( const Isis::PixelType type)

Definition at line 278 of file ProcessImport.cpp.

◆ SetVAXConvert()

void Isis::ProcessImport::SetVAXConvert ( const bool vax_convert)

Sets the VAX flag of the input cube.

If true, then the core pixel type of the input cube is VAX, and VAX conversion routines need to be run to convert the pixels to IEEE format.

Parameters
vax_convertFlag indicating whether or not to run VAX conersion methods

Definition at line 919 of file ProcessImport.cpp.

Referenced by Isis::ProcessImportPds::ProcessLabel().

◆ StartProcess() [1/3]

void Isis::ProcessImport::StartProcess ( )
virtual

◆ StartProcess() [2/3]

virtual void Isis::Process::StartProcess ( void funct())
inlinevirtualinherited

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 213 of file Process.h.

◆ StartProcess() [3/3]

void Isis::ProcessImport::StartProcess ( void functIsis::Buffer &out)
virtual

Process the input file and send data to method.

Parameters
functMethod that accepts Isis::Buffer as an input parameter, processes the image, and has no return value.
Exceptions
Isis::iException::Message"File is not a supported organization."

Reimplemented in Isis::ProcessImportPds, and Isis::ProcessImportPds.

Definition at line 1332 of file ProcessImport.cpp.

References BIL, BIP, BSQ, JP2, p_inFile, p_organization, ProcessBil(), ProcessBip(), ProcessBsq(), ProcessJp2(), and Isis::IException::Programmer.

◆ TestPixel()

double Isis::ProcessImport::TestPixel ( const double pixel)

Tests the pixel.

If it is valid it will return the dn value, otherwise it will return the Isis special pixel value that corresponds to it

Parameters
pixelThe double precision value that represents a pixel.
Returns
double The double precision value representing the pixel will return as a valid dn or changed to an isis special pixel.

Definition at line 1167 of file ProcessImport.cpp.

References p_his_min, p_hrs_min, p_lis_min, p_lrs_min, and p_null_min.

Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), and ProcessJp2().

◆ VAXConversion()

double Isis::ProcessImport::VAXConversion ( void * ibuf)

Conversion routine which translates VAX_REAL to IEEE_REAL.

Parameters
ibufMemory buffer of input data to be converted
Returns
double the converted value

Definition at line 171 of file ProcessImport.cpp.

Referenced by ProcessBil(), ProcessBip(), and ProcessBsq().

◆ WriteHistory()

void Isis::Process::WriteHistory ( Cube & cube)
inherited

Member Data Documentation

◆ InputCubes

std::vector<Isis::Cube *> Isis::Process::InputCubes
protectedinherited

A vector of pointers to opened Cube objects.

The pointers are established in the SetInputCube/SetInputWorkCube methods.

Definition at line 185 of file Process.h.

Referenced by Isis::ProcessMosaic::AddBandBinGroup(), Isis::ProcessMosaic::BandComparison(), Isis::ProcessMosaic::BandPriorityWithNoTracking(), Isis::Process::CalculateStatistics(), Isis::Process::CheckRequirements(), Isis::Process::ClearInputCubes(), Isis::ProcessExportPds4::CreateImageLabel(), Isis::ProcessExport::CreateWorldFile(), Isis::ProcessExportPds4::displaySettings(), Isis::ProcessExportPds::ExportTable(), Isis::ProcessExportPds4::fileAreaObservational(), Isis::ProcessExportPds::FixedJP2ImageRoot(), Isis::ProcessMosaic::GetBandIndex(), Isis::ProcessExport::GetBuffersBIL(), Isis::ProcessExport::GetBuffersBIP(), Isis::ProcessExport::GetBuffersBSQ(), Isis::ProcessExportPds4::identificationArea(), Isis::ProcessExport::InitProcess(), Isis::ProcessExportPds::LineBytes(), Isis::ProcessMosaic::MatchBandBinGroup(), Isis::ProcessMosaic::MatchDEMShapeModel(), Isis::ProcessExportPds::OutputLabel(), Isis::ProcessByBrick::PrepProcessCube(), Isis::ProcessByBrick::PrepProcessCubeInPlace(), Isis::ProcessByBrick::PrepProcessCubes(), Isis::ProcessByBrick::ProcessCube(), Isis::ProcessByBrick::ProcessCubes(), Isis::ProcessRubberSheet::processPatchTransform(), Isis::ProcessByBrick::SetInputBrickSize(), Isis::ProcessByBrick::SetInputBrickSize(), Isis::ProcessMosaic::SetInputCube(), Isis::ProcessMosaic::SetInputCube(), Isis::ProcessExport::SetInputRange(), Isis::ProcessExport::SetInputRange(), Isis::ProcessByBrick::SetOutputCube(), Isis::Process::SetOutputCube(), Isis::Process::SetOutputCube(), Isis::Process::SetOutputCubeStretch(), Isis::ProcessGroundPolygons::SetStatCubes(), Isis::ProcessExportPds4::StandardAllMapping(), Isis::ProcessExportPds::StandardAllMapping(), Isis::ProcessExportPds4::standardBandBin(), Isis::ProcessExportPds::StandardImageImage(), Isis::ProcessExportPds4::standardInstrument(), Isis::ProcessExportPds::StandardJP2Image(), Isis::ProcessMosaic::StartProcess(), Isis::ProcessMapMosaic::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessExport::StartProcess(), Isis::ProcessRubberSheet::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessExport::StartProcess(), Isis::ProcessByBoxcar::StartProcess(), Isis::ProcessByQuickFilter::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessExportPds::StreamJP2ImageRoot(), Isis::ProcessByBrick::VerifyCubes(), and Isis::Process::WriteHistory().

◆ m_ownedCubes

QSet<Isis::Cube *>* Isis::Process::m_ownedCubes
protectedinherited

A list of cubes owned by this instant.

These cubes will be deleted on finalization. Process will not take ownership of cubes allocated outside of Process. It is the caller's responsibility to delete such cubes.

Definition at line 199 of file Process.h.

Referenced by Isis::Process::ClearCubes(), Isis::Process::ClearInputCubes(), Isis::Process::ClearOutputCubes(), Isis::Process::Process(), and Isis::Process::~Process().

◆ OutputCubes

std::vector<Isis::Cube *> Isis::Process::OutputCubes
protectedinherited

A vector of pointers to allocated Cube objects.

The pointers are established in the SetOutputCube method.

Definition at line 191 of file Process.h.

Referenced by Isis::ProcessMosaic::AddBandBinGroup(), Isis::ProcessMosaic::AddDefaultBandBinGroup(), Isis::ProcessMosaic::BandComparison(), Isis::ProcessMosaic::BandPriorityWithNoTracking(), Isis::Process::ClearOutputCubes(), Isis::ProcessPolygons::FillPolygon(), Isis::ProcessImportPds::Finalize(), Isis::ProcessMosaic::GetBandIndex(), Isis::ProcessMosaic::GetOriginDefaultByPixelType(), Isis::ProcessMosaic::GetTrackStatus(), Isis::ProcessMosaic::MatchBandBinGroup(), Isis::ProcessMosaic::MatchDEMShapeModel(), Isis::ProcessByBrick::PrepProcessCube(), Isis::ProcessByBrick::PrepProcessCubeInPlace(), Isis::ProcessByBrick::PrepProcessCubes(), ProcessBil(), ProcessBip(), ProcessBsq(), Isis::ProcessByBrick::ProcessCube(), Isis::ProcessByBrick::ProcessCubes(), ProcessJp2(), Isis::ProcessRubberSheet::processPatchTransform(), Isis::Process::PropagateLabels(), Isis::Process::PropagateTables(), Isis::ProcessMosaic::ResetCountBands(), Isis::ProcessMapMosaic::RingsSetOutputCube(), Isis::ProcessByBrick::SetOutputBrickSize(), Isis::ProcessByBrick::SetOutputBrickSize(), Isis::ProcessMapMosaic::SetOutputCube(), Isis::ProcessPolygons::SetStatCubes(), Isis::ProcessGroundPolygons::SetStatCubes(), Isis::ProcessGroundPolygons::SetStatCubes(), Isis::ProcessImportPds::StartProcess(), Isis::ProcessMosaic::StartProcess(), Isis::ProcessMapMosaic::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessRubberSheet::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessByBoxcar::StartProcess(), Isis::ProcessByQuickFilter::StartProcess(), Isis::ProcessByBrick::StartProcess(), Isis::ProcessImportPds::TranslatePdsProjection(), and Isis::ProcessByBrick::VerifyCubes().

◆ p_bandStats

std::vector< std::vector< Isis::Statistics * > > Isis::Process::p_bandStats
protectedinherited

Holds the calculated statistics for each band separately of every input cubei after the CalculateStatistics method is called.

Definition at line 172 of file Process.h.

Referenced by Isis::Process::BandStatistics(), and Isis::Process::CalculateStatistics().

◆ p_base

std::vector<double> Isis::ProcessImport::p_base
private

An array containing the core base for each band.

If there is only one value in the vector then that base applies to all bands.

Definition at line 391 of file ProcessImport.h.

Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), SetAttributes(), SetBase(), and SetBase().

◆ p_byteOrder

Isis::ByteOrder Isis::ProcessImport::p_byteOrder
private

Byte order of data.

Definition at line 335 of file ProcessImport.h.

Referenced by ByteOrder(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), and SetByteOrder().

◆ p_cubeStats

std::vector< Isis::Statistics * > Isis::Process::p_cubeStats
protectedinherited

Holds the calculated statistics for every band together of every input cubei after the CalculateStatistics method is called.

Definition at line 179 of file Process.h.

Referenced by Isis::Process::CalculateStatistics(), and Isis::Process::CubeStatistics().

◆ p_dataHeader

std::vector<char *> Isis::ProcessImport::p_dataHeader
private

The data header.

Definition at line 376 of file ProcessImport.h.

Referenced by DataHeader(), ProcessBsq(), and ~ProcessImport().

◆ p_dataHeaderBytes

int Isis::ProcessImport::p_dataHeaderBytes
private

Number of bytes of non-image data after the file header and before the image data of each data block, such as band header data in a band sequential file.

Definition at line 349 of file ProcessImport.h.

Referenced by DataHeaderBytes(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), SaveDataHeader(), and SetDataHeaderBytes().

◆ p_dataPost

std::vector<std::vector<char *> > Isis::ProcessImport::p_dataPost
private

The data suffix.

Definition at line 379 of file ProcessImport.h.

Referenced by DataSuffix(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessJp2(), and ~ProcessImport().

◆ p_dataPostBytes

int Isis::ProcessImport::p_dataPostBytes
private

Number of bytes of non-image data following each data record, such as line suffix data in a band sequential file.

Definition at line 360 of file ProcessImport.h.

Referenced by DataSuffixBytes(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), SaveDataSuffix(), and SetDataSuffixBytes().

◆ p_dataPre

std::vector<std::vector<char *> > Isis::ProcessImport::p_dataPre
private

The data prefix.

Definition at line 378 of file ProcessImport.h.

Referenced by DataPrefix(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessJp2(), and ~ProcessImport().

◆ p_dataPreBytes

int Isis::ProcessImport::p_dataPreBytes
private

Number of bytes of non-image data preceding each data record, such as line prefix data in a band sequential file.

Definition at line 357 of file ProcessImport.h.

Referenced by DataPrefixBytes(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), SaveDataPrefix(), and SetDataPrefixBytes().

◆ p_dataTrailer

std::vector<char *> Isis::ProcessImport::p_dataTrailer
private

The data trailer.

Definition at line 377 of file ProcessImport.h.

Referenced by DataTrailer(), ProcessBip(), ProcessBsq(), and ~ProcessImport().

◆ p_dataTrailerBytes

int Isis::ProcessImport::p_dataTrailerBytes
private

Number of bytes of non-image data after the image data of each data block, such as band trailer data in a band sequential file.

Definition at line 353 of file ProcessImport.h.

Referenced by DataTrailerBytes(), ProcessBip(), ProcessBsq(), ProcessImport(), SaveDataTrailer(), and SetDataTrailerBytes().

◆ p_fileHeader

char* Isis::ProcessImport::p_fileHeader
private

The file header.

Definition at line 375 of file ProcessImport.h.

Referenced by FileHeader(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), and ~ProcessImport().

◆ p_fileHeaderBytes

int Isis::ProcessImport::p_fileHeaderBytes
private

The number of bytes of non-image data at the beginning of a file.

This does not include any section headers such as band headers.

Definition at line 341 of file ProcessImport.h.

Referenced by FileHeaderBytes(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), SaveFileHeader(), and SetFileHeaderBytes().

◆ p_fileTrailer

char* Isis::ProcessImport::p_fileTrailer
private

The file trailer.

Definition at line 380 of file ProcessImport.h.

Referenced by FileTrailer(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), and ~ProcessImport().

◆ p_fileTrailerBytes

int Isis::ProcessImport::p_fileTrailerBytes
private

The number of bytes of non-image data at the end of a file.

This does not include any section trailers such as band trailers.

Definition at line 345 of file ProcessImport.h.

Referenced by FileTrailerBytes(), ProcessBil(), ProcessBip(), ProcessBsq(), SaveFileTrailer(), and SetFileTrailerBytes().

◆ p_his_max

double Isis::ProcessImport::p_his_max
private

The pixel value which is the upper bound of HIS data.

All pixels between this value and the min will be converted to the Isis HIS value.

Definition at line 420 of file ProcessImport.h.

Referenced by CheckPixelRange(), and SetHIS().

◆ p_his_min

double Isis::ProcessImport::p_his_min
private

The pixel value which is the lower bound of HIS data.

All pixels between this value and the max will be converted to the Isis HIS value.

Definition at line 416 of file ProcessImport.h.

Referenced by CheckPixelRange(), SetHIS(), and TestPixel().

◆ p_hrs_max

double Isis::ProcessImport::p_hrs_max
private

The pixel value which is the upper bound of HRS data.

All pixels between this value and the min will be converted to the Isis HRS value.

Definition at line 412 of file ProcessImport.h.

Referenced by CheckPixelRange(), and SetHRS().

◆ p_hrs_min

double Isis::ProcessImport::p_hrs_min
private

The pixel value which is the lower bound of HRS data.

All pixels between this value and the max will be converted to the Isis HRS value.

Definition at line 408 of file ProcessImport.h.

Referenced by CheckPixelRange(), SetHRS(), and TestPixel().

◆ p_inFile

QString Isis::ProcessImport::p_inFile
private

◆ p_lis_max

double Isis::ProcessImport::p_lis_max
private

The pixel value which is the upper bound of LIS data.

All pixels between this value and the min will be converted to the Isis LIS value.

Definition at line 436 of file ProcessImport.h.

Referenced by CheckPixelRange(), and SetLIS().

◆ p_lis_min

double Isis::ProcessImport::p_lis_min
private

The pixel value which is the lower bound of LIS data.

All pixels between this value and the max will be converted to the Isis LIS value.

Definition at line 432 of file ProcessImport.h.

Referenced by CheckPixelRange(), SetLIS(), and TestPixel().

◆ p_lrs_max

double Isis::ProcessImport::p_lrs_max
private

The pixel value which is the upper bound of LRS data.

All pixels between this value and the min will be converted to the Isis LRS value.

Definition at line 428 of file ProcessImport.h.

Referenced by CheckPixelRange(), and SetLRS().

◆ p_lrs_min

double Isis::ProcessImport::p_lrs_min
private

The pixel value which is the lower bound of LRS data.

All pixels between this value and the max will be converted to the Isis LRS value.

Definition at line 424 of file ProcessImport.h.

Referenced by CheckPixelRange(), SetLRS(), and TestPixel().

◆ p_mult

std::vector<double> Isis::ProcessImport::p_mult
private

An array containing the core multiplier for each band.

If there is only one value in the vector then that multiplier applies to all bands.

Definition at line 395 of file ProcessImport.h.

Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), SetAttributes(), SetMultiplier(), and SetMultiplier().

◆ p_nb

int Isis::ProcessImport::p_nb
private

◆ p_nl

int Isis::ProcessImport::p_nl
private

◆ p_ns

int Isis::ProcessImport::p_ns
private

◆ p_null_max

double Isis::ProcessImport::p_null_max
private

The pixel value which is the upper bound of NULL data.

All pixels between this value and the min will be converted to the Isis NULL value.

Definition at line 404 of file ProcessImport.h.

Referenced by CheckPixelRange(), and SetNull().

◆ p_null_min

double Isis::ProcessImport::p_null_min
private

The pixel value which is the lower bound of NULL data.

All pixels between this value and the max will be converted to the Isis NULL value.

Definition at line 400 of file ProcessImport.h.

Referenced by CheckPixelRange(), SetNull(), and TestPixel().

◆ p_organization

ProcessImport::Interleave Isis::ProcessImport::p_organization
private

The format of the input file.

Possible values are BSQ for band sequential, BIL for band interleaved by line and BIP for band interleaved by pixel.

Definition at line 384 of file ProcessImport.h.

Referenced by Organization(), ProcessImport(), SetOrganization(), StartProcess(), and StartProcess().

◆ p_pixelType

Isis::PixelType Isis::ProcessImport::p_pixelType
private

Pixel type of input data.

Definition at line 329 of file ProcessImport.h.

Referenced by PixelType(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), SetAttributes(), and SetPixelType().

◆ p_progress

◆ p_propagateHistory

bool Isis::Process::p_propagateHistory
protectedinherited

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

Definition at line 161 of file Process.h.

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

◆ p_propagateLabels

bool Isis::Process::p_propagateLabels
protectedinherited

Flag indicating if labels are be propagated to output cubes.

Definition at line 149 of file Process.h.

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

◆ p_propagateOriginalLabel

bool Isis::Process::p_propagateOriginalLabel
protectedinherited

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

Definition at line 165 of file Process.h.

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

◆ p_propagatePolygons

bool Isis::Process::p_propagatePolygons
protectedinherited

Flag indicating if blobs are be propagated to output cubes.

Definition at line 157 of file Process.h.

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

◆ p_propagateTables

bool Isis::Process::p_propagateTables
protectedinherited

Flag indicating if tables are be propagated to output cubes.

Definition at line 153 of file Process.h.

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

◆ p_saveDataHeader

bool Isis::ProcessImport::p_saveDataHeader
private

Flag indicating whether to save the data header or not.

Definition at line 365 of file ProcessImport.h.

Referenced by DataHeader(), ProcessBsq(), ProcessImport(), and SaveDataHeader().

◆ p_saveDataPost

bool Isis::ProcessImport::p_saveDataPost
private

Flag indicating whether to save the data suffix or not.

Definition at line 371 of file ProcessImport.h.

Referenced by DataSuffix(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), and SaveDataSuffix().

◆ p_saveDataPre

bool Isis::ProcessImport::p_saveDataPre
private

Flag indicating whether to save the data prefix or not.

Definition at line 369 of file ProcessImport.h.

Referenced by DataPrefix(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), ProcessJp2(), and SaveDataPrefix().

◆ p_saveDataTrailer

bool Isis::ProcessImport::p_saveDataTrailer
private

Flag indicating whether to save the data trailer or not.

Definition at line 367 of file ProcessImport.h.

Referenced by DataTrailer(), ProcessBip(), ProcessBsq(), ProcessImport(), and SaveDataTrailer().

◆ p_saveFileHeader

bool Isis::ProcessImport::p_saveFileHeader
private

Flag indicating whether to save the file header or not.

Definition at line 363 of file ProcessImport.h.

Referenced by FileHeader(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), and SaveFileHeader().

◆ p_saveFileTrailer

bool Isis::ProcessImport::p_saveFileTrailer
private

Flag indicating whether to save the file trailer or not.

Definition at line 373 of file ProcessImport.h.

Referenced by FileTrailer(), ProcessBil(), ProcessBip(), ProcessBsq(), ProcessImport(), and SaveFileTrailer().

◆ p_suffixData

int Isis::ProcessImport::p_suffixData
private

The number of bytes past the file header bytes where the suffix data bands are stored.

Definition at line 337 of file ProcessImport.h.

Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), and ProcessImport().

◆ p_suffixPixelType

Isis::PixelType Isis::ProcessImport::p_suffixPixelType
private

The pixel type of the suffix data.

Definition at line 331 of file ProcessImport.h.

Referenced by ProcessImport().

◆ p_vax_convert

bool Isis::ProcessImport::p_vax_convert
private

Definition at line 382 of file ProcessImport.h.


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