Isis Developer Reference
|
Byte swapper. More...
#include <ProcessImport.h>
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. More... | |
virtual | ~ProcessImport () |
Destroys the Import object. More... | |
virtual void | StartProcess () |
Process the input file and write it to the output. More... | |
virtual void | StartProcess (void funct(Isis::Buffer &out)) |
Process the input file and send data to method. More... | |
void | SetInputFile (const QString &file) |
Sets the name of the input file to be read in the import StartProcess method and verifies its existance. More... | |
QString | InputFile () |
Sets the name of the input file to be read in the import StartProcess method and verifies its existance. More... | |
Isis::Cube * | SetOutputCube (const QString ¶meter) |
Create the output file. More... | |
Isis::Cube * | SetOutputCube (const QString ¶meter, UserInterface &ui) |
Create the output file. More... | |
virtual Isis::Cube * | SetOutputCube (const QString &fname, Isis::CubeAttributeOutput &att) |
Create the output file. More... | |
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. More... | |
void | SetPixelType (const Isis::PixelType type) |
Sets the pixel type of the input file. More... | |
Isis::PixelType | PixelType () |
Returns the pixel type. More... | |
void | SetDimensions (const int ns, const int nl, const int nb) |
Sets the physical size of the input cube. More... | |
int | Samples () |
Returns the number of samples. More... | |
int | Lines () |
Returns the number of lines. More... | |
int | Bands () |
Returns the number of bands. More... | |
void | SetByteOrder (const Isis::ByteOrder order) |
Sets the byte order of the input file. More... | |
Isis::ByteOrder | ByteOrder () |
Returns the byte order. More... | |
bool | IsVAXSpecial (unsigned int *vax, VAXSpecialPixel pix) |
Determines if the VAX encoded pixel value is special or not. More... | |
double | VAXConversion (void *ibuf) |
Conversion routine which translates VAX_REAL to IEEE_REAL. More... | |
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. More... | |
void | SetFileHeaderBytes (const int bytes) |
This method sets the number of bytes in the header of a file. More... | |
void | SetFileTrailerBytes (const int bytes) |
This method sets the number of bytes in the trailer of a file. More... | |
void | SetDataHeaderBytes (const int bytes) |
This method sets the number of bytes in the header of each datablock of a file. More... | |
void | SetDataTrailerBytes (const int bytes) |
This method sets the number of bytes in the trailer of each datablock of a file. More... | |
void | SetDataPrefixBytes (const int bytes) |
This method sets the number of bytes at the beginning of each data record of a file. More... | |
void | SetDataSuffixBytes (const int bytes) |
This method sets the number of bytes at the end of each data record of a file. More... | |
void | SaveFileHeader () |
This method marks the file header to be saved. More... | |
void | SaveFileTrailer () |
This method marks the file trailer to be saved. More... | |
void | SaveDataHeader () |
This method marks the data block headers to be saved. More... | |
void | SaveDataTrailer () |
This method marks the data block trailers to be saved. More... | |
void | SaveDataPrefix () |
This method marks the data prefix to be saved. More... | |
void | SaveDataSuffix () |
This method marks the data suffix to be saved. More... | |
int | FileHeaderBytes () const |
This method returns the number of file header bytes. More... | |
int | FileTrailerBytes () const |
This method returns the number of file trailer bytes. More... | |
int | DataHeaderBytes () const |
This method returns the number of data header bytes. More... | |
int | DataTrailerBytes () const |
This method returns the number of data trailer bytes. More... | |
int | DataPrefixBytes () const |
This method returns the number of data prefix bytes. More... | |
int | DataSuffixBytes () const |
This method returns the number of data duffix bytes. More... | |
char * | FileHeader () |
This method returns a pointer to the file header. More... | |
char * | FileTrailer () |
This method returns a pointer to the file trailer. More... | |
std::vector< char * > | DataHeader () |
This method returns a pointer to the data header. More... | |
std::vector< char * > | DataTrailer () |
This method returns a pointer to the data trailer. More... | |
std::vector< std::vector< char * > > | DataPrefix () |
This method returns a pointer to the data prefix. More... | |
std::vector< std::vector< char * > > | DataSuffix () |
This method returns a pointer to the data suffix. More... | |
void | SetOrganization (const ProcessImport::Interleave org) |
Sets the organization of the input cube. More... | |
Interleave | Organization () const |
Gets the organization of the input cube. More... | |
void | SetBase (const double base) |
Sets the core base of the input cube. More... | |
void | SetMultiplier (const double mult) |
Sets the core multiplier of the input cube. More... | |
void | SetBase (const std::vector< double > base) |
Sets band dependent core base. More... | |
void | SetMultiplier (const std::vector< double > mult) |
Sets band dependent core multiplier. More... | |
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. More... | |
void | SetNull (const double null_min, const double null_max) |
Sets the range that will be considered Isis::Null. More... | |
void | SetLRS (const double lrs_min, const double lrs_max) |
Sets the range that will be considered Isis::Null. More... | |
void | SetLIS (const double lis_min, const double lis_max) |
Sets the range that will be considered Isis::Null. More... | |
void | SetHRS (const double hrs_min, const double hrs_max) |
Sets the range that will be considered Isis::Null. More... | |
void | SetHIS (const double his_min, const double his_max) |
Sets the range that will be considered Isis::Null. More... | |
double | TestPixel (const double pixel) |
Tests the pixel. More... | |
void | ProcessBsq (void funct(Isis::Buffer &out)=NULL) |
Process the import data as a band sequential file. More... | |
void | ProcessBil (void funct(Isis::Buffer &out)=NULL) |
Function to process files stored as Band Interleaved by Line. More... | |
void | ProcessBip (void funct(Isis::Buffer &out)=NULL) |
Function to process files stored as Band Interleaved by Pixel. More... | |
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). More... | |
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. More... | |
virtual void | StartProcess (void funct()) |
In the base class, this method will invoked a user-specified function exactly one time. More... | |
virtual void | EndProcess () |
End the processing sequence and cleans up by closing cubes, freeing memory, etc. More... | |
virtual void | Finalize () |
Cleans up by closing cubes and freeing memory for owned cubes. More... | |
virtual Isis::Cube * | SetInputCube (const QString ¶meter, const int requirements=0) |
Opens an input cube specified by the user and verifies requirements are met. More... | |
virtual Isis::Cube * | SetInputCube (const QString &fname, const Isis::CubeAttributeInput &att, int requirements=0) |
Opens an input cube specified by the programmer and verifies requirements are met. More... | |
virtual void | SetInputCube (Isis::Cube *inCube, int requirements=0) |
Set the InputCube vector to an opened Cube which was dynamically allocated. More... | |
virtual Isis::Cube * | SetOutputCube (const QString ¶meter, const int nsamps, const int nlines, const int nbands=1) |
Allocates a user specified output cube whose size is specified by the programmer. More... | |
virtual Isis::Cube * | SetOutputCube (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. More... | |
virtual Isis::Cube * | SetOutputCubeStretch (const QString ¶meter, UserInterface *ui=nullptr) |
Allocates a user-specified output cube whose size matches the first input cube. More... | |
virtual Isis::Cube * | SetOutputCubeStretch (const QString ¶meter, 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. More... | |
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. More... | |
void | ClearCubes () |
Close owned cubes from the list and clear the list. More... | |
void | ClearInputCubes () |
Close owned input cubes from the list and clear the list. More... | |
void | ClearOutputCubes () |
Close owned output cubes from the list and clear the list. More... | |
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. More... | |
void | PropagateLabels (const QString &cube) |
This method allows the programmer to propagate labels from a specific secondary cube. More... | |
void | PropagateTables (const bool prop) |
This method allows the programmer to propagate input tables to the output cube (default is true) More... | |
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. More... | |
void | PropagatePolygons (const bool prop) |
This method allows the programmer to propagate input blobs to the output cube (default is true) More... | |
void | PropagateHistory (const bool prop) |
This method allows the programmer to propagate history to the output cube (default is true) More... | |
void | PropagateOriginalLabel (const bool prop) |
This method allows the programmer to propagate original labels to the output cube (default is true) More... | |
Isis::Progress * | Progress () |
This method returns a pointer to a Progress object. More... | |
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. More... | |
void | WriteHistory (Cube &cube) |
Writes out the History blob to the cube. More... | |
void | CalculateStatistics () |
Calculates and stores off statistics on every band of every cube added to this process via the SetInputCube method. More... | |
std::vector< Isis::Statistics * > | BandStatistics (const unsigned index) |
Get the vector of Statistics objects for each band separately of a specified input cube. More... | |
Isis::Statistics * | CubeStatistics (const unsigned index) |
Get the Statistics object for all bands of a specified input cube. More... | |
Protected Attributes | |
Isis::Progress * | p_progress |
Pointer to a Progress object. More... | |
bool | p_propagateLabels |
Flag indicating if labels are be propagated to output cubes. More... | |
bool | p_propagateTables |
Flag indicating if tables are be propagated to output cubes. More... | |
bool | p_propagatePolygons |
Flag indicating if blobs are be propagated to output cubes. More... | |
bool | p_propagateHistory |
Flag indicating if history is to be propagated to output cubes. More... | |
bool | p_propagateOriginalLabel |
Flag indicating if original lable is to be propagated to output cubes. More... | |
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. More... | |
std::vector< Isis::Statistics * > | p_cubeStats |
Holds the calculated statistics for every band together of every input cubei after the CalculateStatistics method is called. More... | |
std::vector< Isis::Cube * > | InputCubes |
A vector of pointers to opened Cube objects. More... | |
std::vector< Isis::Cube * > | OutputCubes |
A vector of pointers to allocated Cube objects. More... | |
QSet< Isis::Cube * > * | m_ownedCubes |
A list of cubes owned by this instant. More... | |
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
If you would like to see ProcessImport being used in implementation, see raw2isis.cpp or for a class that implements ProcessImport, see ProcessImportPds
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. |
Isis::ProcessImport::ProcessImport | ( | ) |
Constructs an Import object.
References BSQ, Isis::NoByteOrder, Isis::None, Isis::Process::p_progress, SetHIS(), SetHRS(), SetLIS(), SetLRS(), SetNull(), and Isis::Progress::SetText().
|
virtual |
Destroys the Import object.
|
inherited |
|
inherited |
|
inline |
Returns the number of bands.
|
inlineinherited |
Get the vector of Statistics objects for each band separately of a specified input cube.
index | The index of the input cube in InputCubes |
References Isis::Process::p_bandStats.
|
inline |
Returns the byte order.
|
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.
References Isis::Statistics::AddData(), Isis::Cube::bandCount(), Isis::Progress::CheckStatus(), Isis::Buffer::DoubleBuffer(), Isis::Cube::lineCount(), Isis::Cube::read(), Isis::LineManager::SetLine(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), Isis::Buffer::size(), and Isis::toString().
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.
pixelName | Name of the special pixel type to be displayed in the error message. |
pixelMin | The minimum value of the special pixel range |
pixelMax | The maximum value of the special pixel range |
References _FILEINFO_, Isis::toString(), and Isis::IException::User.
Referenced by SetHIS(), SetHRS(), SetLIS(), SetLRS(), and SetNull().
|
inherited |
Checks to make sure the input cube meets the inputted requirements.
cube | Cube to check |
requirements | Use 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 |
Isis::iException::Message |
References _FILEINFO_, Isis::AllMatchOrOne, Isis::Cube::bandCount(), Isis::BandMatchOrOne, Isis::Cube::fileName(), Isis::Cube::lineCount(), Isis::OneBand, Isis::Cube::sampleCount(), Isis::SizeMatch, and Isis::SpatialMatch.
|
inherited |
Close owned cubes from the list and clear the list.
|
inherited |
Close owned input cubes from the list and clear the list.
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
inherited |
Close owned output cubes from the list and clear the list.
|
inlineinherited |
Get the Statistics object for all bands of a specified input cube.
index | The index of the input cube in InputCubes |
References Isis::Process::p_cubeStats.
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.
Isis::iException::Message | "Data header was not saved. Use SaveDataHeader()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::DataHeaderBytes | ( | ) | const |
This method returns the number of data header bytes.
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.
Isis::iException::Message | "Data prefix was not saved. Use SaveDataPrefix()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::DataPrefixBytes | ( | ) | const |
This method returns the number of data prefix bytes.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
Isis::iException::Message | "Data suffix was not saved. Use SaveDataSuffix()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::DataSuffixBytes | ( | ) | const |
This method returns the number of data duffix bytes.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
Isis::iException::Message | "Data trailer was not saved. Use SaveDataTrailer()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::DataTrailerBytes | ( | ) | const |
This method returns the number of data trailer bytes.
|
virtualinherited |
End the processing sequence and cleans up by closing cubes, freeing memory, etc.
Reimplemented in Isis::ProcessPolygons, Isis::ProcessMosaic, Isis::ProcessImportPds, Isis::ProcessGroundPolygons, Isis::ProcessByTile, Isis::ProcessByBrick, and Isis::ProcessByBoxcar.
Referenced by Isis::ProcessByBoxcar::EndProcess().
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.
Isis::iException::Message | "File header was not saved. Use SaveFileHeader()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::FileHeaderBytes | ( | ) | const |
This method returns the number of file header bytes.
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.
Isis::iException::Message | "File trailer was not saved. Use SaveFileTrailer()." |
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ProcessImport::FileTrailerBytes | ( | ) | const |
This method returns the number of file trailer bytes.
|
virtualinherited |
Cleans up by closing cubes and freeing memory for owned cubes.
Clears the lists for all cubes.
Reimplemented in Isis::ProcessPolygons, Isis::ProcessImportPds, Isis::ProcessGroundPolygons, Isis::ProcessByTile, Isis::ProcessByBrick, and Isis::ProcessByBoxcar.
Referenced by Isis::ProcessByBoxcar::Finalize().
QString Isis::ProcessImport::InputFile | ( | ) |
Sets the name of the input file to be read in the import StartProcess method and verifies its existance.
file | The name of the input file to import. |
Isis::iException::Message | "File does not exist." |
References _FILEINFO_, and Isis::IException::Programmer.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
bool Isis::ProcessImport::IsVAXSpecial | ( | unsigned int * | vax, |
VAXSpecialPixel | pix | ||
) |
Determines if the VAX encoded pixel value is special or not.
vax | A pointer to a VAX pixel |
pix | An enumerated value indicating the VAX pixel type |
References VAX_HIS4, VAX_HRS4, VAX_LIS4, VAX_LRS4, VAX_MIN4, and VAX_NULL4.
|
inline |
Returns the number of lines.
|
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.
mission | Name of the mission data directory |
file | Name of the file to attach to the end of the directory |
highestVersion | If set to true the method will return the highest version number of the given file. Therefore, file must contain question marks such as "file???.dat". See the FileName class for more information on versioned files. Defaults to false. |
References _FILEINFO_, Isis::FileName::expanded(), Isis::FileName::fileExists(), Isis::PvlObject::findGroup(), Isis::FileName::highestVersion(), and Isis::Preference::Preferences().
ProcessImport::Interleave Isis::ProcessImport::Organization | ( | ) | const |
Gets the organization of the input cube.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
|
inline |
Returns the pixel type.
void Isis::ProcessImport::ProcessBil | ( | void | functIsis::Buffer &out = NULL | ) |
Function to process files stored as Band Interleaved by Line.
funct | Method that accepts Isis::Buffer as an input parameter, processes the image, and has no return value. |
Isis::iException::Message | "Cannot open input file." |
Isis::iException::Message | "Cannot read file. Position[]. Byte count[]" |
References _FILEINFO_, Isis::ByteOrderName(), Isis::Progress::CheckStatus(), Isis::EndianSwapper::Double(), Isis::Double, Isis::FileName::expanded(), Isis::EndianSwapper::Float(), Isis::EndianSwapper::Int(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, Isis::Process::p_progress, Isis::Real, Isis::Progress::SetMaximumSteps(), Isis::EndianSwapper::ShortInt(), Isis::SignedInteger, Isis::SignedWord, Isis::SizeOf(), TestPixel(), Isis::toString(), Isis::EndianSwapper::Uint32_t(), Isis::UnsignedByte, Isis::UnsignedInteger, Isis::EndianSwapper::UnsignedShortInt(), Isis::UnsignedWord, and VAXConversion().
Referenced by StartProcess().
void Isis::ProcessImport::ProcessBip | ( | void | functIsis::Buffer &out = NULL | ) |
Function to process files stored as Band Interleaved by Pixel.
funct | Method that accepts Isis::Buffer as an input parameter, processes the image, and has no return value. |
Isis::iException::Message | "Cannot open input file." |
Isis::iException::Message | "Cannot read file. Position[]. Byte count[]" |
References _FILEINFO_, Isis::ByteOrderName(), Isis::Progress::CheckStatus(), Isis::EndianSwapper::Double(), Isis::Double, Isis::FileName::expanded(), Isis::EndianSwapper::Float(), Isis::EndianSwapper::Int(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, Isis::Process::p_progress, Isis::Real, Isis::Progress::SetMaximumSteps(), Isis::EndianSwapper::ShortInt(), Isis::SignedInteger, Isis::SignedWord, Isis::SizeOf(), TestPixel(), Isis::toString(), Isis::EndianSwapper::Uint32_t(), Isis::UnsignedByte, Isis::UnsignedInteger, Isis::EndianSwapper::UnsignedShortInt(), Isis::UnsignedWord, and VAXConversion().
Referenced by StartProcess().
void Isis::ProcessImport::ProcessBsq | ( | void | functIsis::Buffer &out = NULL | ) |
Process the import data as a band sequential file.
funct | Method that accepts Isis::Buffer as an input parameter, processes the image, and has no return value. |
Isis::iException::Message | "Cannot open input file." |
Isis::iException::Message | "Cannot read file. Position[]. Byte count[]" |
References _FILEINFO_, Isis::ByteOrderName(), Isis::Progress::CheckStatus(), Isis::EndianSwapper::Double(), Isis::Double, Isis::FileName::expanded(), Isis::EndianSwapper::Float(), Isis::EndianSwapper::Int(), Isis::IException::Io, Isis::IsValidPixel(), Isis::Process::OutputCubes, Isis::Process::p_progress, Isis::Real, Isis::Progress::SetMaximumSteps(), Isis::EndianSwapper::ShortInt(), Isis::SignedInteger, Isis::SignedWord, Isis::SizeOf(), TestPixel(), Isis::toString(), Isis::EndianSwapper::Uint32_t(), Isis::UnsignedByte, Isis::UnsignedInteger, Isis::EndianSwapper::UnsignedShortInt(), Isis::UnsignedWord, and VAXConversion().
Referenced by StartProcess().
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.
funct | Method that accepts Isis::Buffer as an input parameter, processes the image, and has no return value. |
Isis::iException::Message | "Cannot open input file." |
Isis::iException::Message | "Cannot read file. Position[]. Byte count[]" |
References Isis::Progress::CheckStatus(), Isis::JP2Decoder::GetBandDimension(), Isis::JP2Decoder::GetLineDimension(), Isis::JP2Decoder::GetSampleDimension(), Isis::IsValidPixel(), Isis::JP2Decoder::OpenFile(), Isis::Process::OutputCubes, Isis::Process::p_progress, Isis::JP2Decoder::Read(), Isis::Progress::SetMaximumSteps(), Isis::SignedWord, Isis::SizeOf(), TestPixel(), Isis::UnsignedByte, and Isis::UnsignedWord.
Referenced by StartProcess().
|
inlineinherited |
This method returns a pointer to a Progress object.
References Isis::Process::p_progress.
Referenced by Isis::Equalization::applyCorrection(), Isis::Equalization::calculateBandStatistics(), Isis::HiEqualization::calculateStatistics(), Isis::ProcessMapMosaic::RingsSetOutputCube(), Isis::ProcessMapMosaic::SetOutputCube(), and Isis::SpectralDefinition2D::SpectralDefinition2D().
|
inherited |
This method allows the programmer to propagate history to the output cube (default is true)
prop | Flag indicating if history is to be propagated to output cubes. |
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
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.
prop | Flag indicating if labels are be propagated to output cubes. |
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
inherited |
This method allows the programmer to propagate labels from a specific secondary cube.
cube | IString containing the name of the cube containing the labels to propagate. |
References Isis::PvlObject::addGroup(), Isis::PvlObject::addObject(), Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), and Isis::PvlObject::hasObject().
|
inherited |
This method allows the programmer to propagate original labels to the output cube (default is true)
prop | Flag indicating if original labels is to be propagated to output cubes. |
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
inherited |
This method allows the programmer to propagate input blobs to the output cube (default is true)
prop | Flag indicating if input blobs are to be propagated to output cubes. |
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
inherited |
This method allows the programmer to propagate input tables to the output cube (default is true)
prop | Flag indicating if input tables are to be propagated to output cubes. |
Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().
|
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.
fromName | QString of the name of the cube containing the tables to propagate. |
tableNames | List of QStrings of the names of the tables to propagate; default is empty, which indicates that all tables will be propagated. |
References Isis::Cube::close(), Isis::Cube::label(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::Cube::open(), and Isis::Cube::read().
|
inline |
Returns the number of samples.
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.
Isis::iException::Message | "Data header bytes equals 0. There is nothing to save. Use SetDataHeaderBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
Isis::iException::Message | "Data prefix bytes equals 0. There is nothing to save. Use SetDataPrefixBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
Isis::iException::Message | "Data suffix bytes equals 0. There is nothing to save. Use SetDataSuffixBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
Isis::iException::Message | "Data trailer bytes equals 0. There is nothing to save. Use SetDataTrailerBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
Isis::iException::Message | "File header bytes equals 0. There is nothing to save. Use SetFileHeaderBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
Isis::iException::Message | "File trailer bytes equals 0. There is nothing to save. Use SetFileTrailerBytes() first." |
References _FILEINFO_, and Isis::IException::Programmer.
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.
parameter | The parameter name that holds the output file name. |
Isis::iException::Message | "Unsupported pixel type." |
References _FILEINFO_, Isis::Double, Isis::IVALID_MAX4, Isis::IVALID_MIN4, Isis::PixelTypeName(), Isis::IException::Programmer, Isis::CubeAttributeOutput::propagateMinimumMaximum(), Isis::CubeAttributeOutput::propagatePixelType(), Isis::Real, Isis::CubeAttributeOutput::setMaximum(), Isis::CubeAttributeOutput::setMinimum(), Isis::CubeAttributeOutput::setPixelType(), Isis::SignedInteger, Isis::SignedWord, Isis::UnsignedByte, Isis::UnsignedInteger, Isis::UnsignedWord, Isis::VALID_MAX1, Isis::VALID_MAX2, Isis::VALID_MAX4, Isis::VALID_MAXU2, Isis::VALID_MAXUI4, Isis::VALID_MIN1, Isis::VALID_MIN2, Isis::VALID_MIN4, Isis::VALID_MINU2, and Isis::VALID_MINUI4.
Referenced by SetOutputCube().
void Isis::ProcessImport::SetBase | ( | const double | base | ) |
Sets the core base of the input cube.
Defaults to zero if not invoked.
base | Core base |
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
void Isis::ProcessImport::SetBase | ( | const std::vector< double > | base | ) |
Sets band dependent core base.
base | A vector containing the base for each band. |
void Isis::ProcessImport::SetByteOrder | ( | const Isis::ByteOrder | order | ) |
Sets the byte order of the input file.
This must be invoked prior to SetOutputCube.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal data header size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal data prefix size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal data suffix size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal data trailer size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
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.
ns | Number of samples |
nl | Number of lines |
nb | Number of bands |
Isis::iException::Message | "Illegal dimension." |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal file header size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
bytes | Number of bytes |
Isis::iException::Message | "Illegal file trailer size." (when bytes < 0) |
References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().
void Isis::ProcessImport::SetHIS | ( | const double | his_min, |
const double | his_max | ||
) |
Sets the range that will be considered Isis::Null.
his_min | The double precision value used to identify the min range of his pixels in the image being imported. |
his_max | The double precision value used to identify the max range of his pixels in the image being imported. |
References CheckPixelRange().
Referenced by ProcessImport(), and SetSpecialValues().
void Isis::ProcessImport::SetHRS | ( | const double | hrs_min, |
const double | hrs_max | ||
) |
Sets the range that will be considered Isis::Null.
hrs_min | The double precision value used to identify the min range of hrs pixels in the image being imported. |
hrs_max | The double precision value used to identify the max range of hrs pixels in the image being imported. |
References CheckPixelRange().
Referenced by ProcessImport(), and SetSpecialValues().
|
virtualinherited |
Opens an input cube specified by the programmer and verifies requirements are met.
fname | Programmer specified work file. For example, "myfile.cub". |
att | The cube attributes to use when opening the input cube. |
requirements | Requirements to check that the input cube meets. See CheckRequirements(). |
Isis::iException::Message |
Reimplemented in Isis::ProcessByBrick.
References Isis::CubeAttributeInput::bands(), Isis::Cube::open(), Isis::ReadWrite, and Isis::Cube::setVirtualBands().
|
virtualinherited |
Opens an input cube specified by the user and verifies requirements are met.
parameter | User parameter to obtain file to open. Typically, the value is "FROM". For example, the user can specify on the command line FROM=myfile.cub and this method will attempt to open the cube "myfile.cub" if the parameter was set to "FROM". |
requirements | Requirements to check that the input cube meets. See CheckRequirements(). |
Isis::iException::Message |
Reimplemented in Isis::ProcessBySample, Isis::ProcessByBrick, Isis::ProcessBySpectra, and Isis::ProcessByLine.
Referenced by Isis::ProcessGroundPolygons::SetStatCubes().
|
virtualinherited |
Set the InputCube vector to an opened Cube which was dynamically allocated.
This is used if there already exists a valid opened cube
inCube | - Pointer to input Cube |
requirements | Requirements to check that the input cube meets. See CheckRequirements(). |
References _FILEINFO_, and Isis::Cube::isOpen().
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.
file | The name of the input file to import. |
Isis::iException::Message | "File does not exist." |
References _FILEINFO_, and Isis::IException::User.
Referenced by Isis::ProcessImportFits::setFitsFile().
void Isis::ProcessImport::SetLIS | ( | const double | lis_min, |
const double | lis_max | ||
) |
Sets the range that will be considered Isis::Null.
lis_min | The double precision value used to identify the min range of lis pixels in the image being imported. |
lis_max | The double precision value used to identify the max range of lis pixels in the image being imported. |
References CheckPixelRange().
Referenced by ProcessImport(), and SetSpecialValues().
void Isis::ProcessImport::SetLRS | ( | const double | lrs_min, |
const double | lrs_max | ||
) |
Sets the range that will be considered Isis::Null.
lrs_min | The double precision value used to identify the min range of lrs pixels in the image being imported. |
lrs_max | The double precision value used to identify the max range of lrs pixels in the image being imported. |
References CheckPixelRange().
Referenced by ProcessImport(), and SetSpecialValues().
void Isis::ProcessImport::SetMultiplier | ( | const double | mult | ) |
Sets the core multiplier of the input cube.
Defaults to one if not invoked.
mult | Core base |
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
void Isis::ProcessImport::SetMultiplier | ( | const std::vector< double > | mult | ) |
Sets band dependent core multiplier.
mult | A vector containing the multiplier for each band. |
void Isis::ProcessImport::SetNull | ( | const double | null_min, |
const double | null_max | ||
) |
Sets the range that will be considered Isis::Null.
null_min | The double precision value used to identify the min range of null pixels in the image being imported. |
null_max | The double precision value used to identify the max range of null pixels in the image being imported. |
References CheckPixelRange().
Referenced by ProcessImport(), and SetSpecialValues().
void Isis::ProcessImport::SetOrganization | ( | const ProcessImport::Interleave | org | ) |
Sets the organization of the input cube.
If not invoked it is assumed Isis::Import::Bsq.
org | The enumerated organizations either Isis::Import::Bsq Isis::Import::Bil or Isis::Import::Bip |
|
virtualinherited |
Allocates a output cube whose name and size is specified by the programmer.
fname | Name of the output cube to allocate |
att | The cube attributes to use when creating the output cube. |
ns | Number of samples to allocate |
nl | Number of lines to allocate |
nb | Number of bands to allocate |
Isis::iException::Message |
References _FILEINFO_, Isis::PvlObject::addGroup(), Isis::PvlObject::addObject(), Isis::AttachedLabel, Isis::CubeAttributeOutput::byteOrder(), Isis::Cube::create(), Isis::CubeAttributeOutput::fileFormat(), Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), Isis::PvlContainer::isNamed(), Isis::Cube::label(), Isis::CubeAttributeOutput::labelAttachment(), Isis::Cube::labelSize(), Isis::CubeAttributeOutput::maximum(), Isis::CubeAttributeOutput::minimum(), Isis::PvlContainer::name(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::Cube::pixelType(), Isis::CubeAttributeOutput::pixelType(), Isis::CubeAttributeOutput::propagateMinimumMaximum(), Isis::CubeAttributeOutput::propagatePixelType(), Isis::Real, Isis::Cube::setBaseMultiplier(), Isis::Cube::setByteOrder(), Isis::Cube::setDimensions(), Isis::Cube::setFormat(), Isis::Cube::setLabelsAttached(), Isis::Cube::setLabelSize(), Isis::Cube::setMinMax(), Isis::Cube::setPixelType(), Isis::SignedInteger, Isis::SignedWord, Isis::UnsignedByte, Isis::UnsignedInteger, Isis::UnsignedWord, and Isis::Cube::write().
|
virtual |
Create the output file.
Note that all the appropiate calls to at least SetDimensions should be invoked prior to calling this method.
fname | The output file name. |
att | An output cube attribute to define the characteristics of the output cube. |
Isis::iException::Message | "File is not in a supported organization." |
References SetAttributes(), and Isis::Process::SetOutputCube().
|
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.
parameter | The parameter name that holds the output file name. |
Isis::iException::Message | "Unsupported pixel type." |
Reimplemented from Isis::Process.
References IsisAml::GetOutputAttribute(), Isis::Application::GetUserInterface(), SetAttributes(), and Isis::Process::SetOutputCube().
|
virtualinherited |
Allocates a user specified output cube whose size is specified by the programmer.
parameter | User specified output file. For example, "TO" is a popular user parameter. If the user specified TO=output.cub, then this routine would allocate the file output.cub with size specified by the first opened input cube. The output pixel type will be propagated from the first loaded input cube or will use the value in the application XML file for pixelType. |
ns | Number of samples to allocate |
nl | Number of lines to allocate |
nb | Number of bands to allocate |
Isis::iException::Message |
References _FILEINFO_.
Isis::Cube * Isis::ProcessImport::SetOutputCube | ( | const QString & | parameter, |
UserInterface & | ui | ||
) |
Create the output file.
References IsisAml::GetFileName(), IsisAml::GetOutputAttribute(), SetAttributes(), and Isis::Process::SetOutputCube().
|
virtualinherited |
Allocates a user specified output cube whose size is specified by the programmer.
parameter | User specified output file. For example, "TO" is a popular user parameter. If the user specified TO=output.cub, then this routine would allocate the file output.cub with size specified by the first opened input cube. The output pixel type will be propagated from the first loaded input cube or will use the value in the application XML file for pixelType. |
ns | Number of samples to allocate |
nl | Number of lines to allocate |
nb | Number of bands to allocate |
ui | A user interface used to get the attributes needed. If null, the user interface will be obtained from the application. |
Isis::iException::Message |
References _FILEINFO_, IsisAml::GetFileName(), and IsisAml::GetOutputAttribute().
|
virtualinherited |
Allocates a user-specified output cube whose size matches the first input cube.
parameter | User specified output file. For example, "TO" is a popular user parameter. If the user specified TO=output.cub, then this routine would allocate the file output.cub with size specified by the first opened input cube. The output pixel type will be propagated from the first loaded input cube or will use the value in the application XML file for pixelType. |
ui | A user interface used to get the attributes needed for SetOutputCube. |
Isis::iException::Message |
References _FILEINFO_.
void Isis::ProcessImport::SetPixelType | ( | const Isis::PixelType | type | ) |
Sets the pixel type of the input file.
type | The enumerated pixel type Isis::Real, Isis::SignedWord, or Isis::UnsignedByte. This must be invoked prior to setOutputCube |
Isis::iException::Message | "Unsupported pixel type." |
References _FILEINFO_, Isis::Double, Isis::PixelTypeName(), Isis::IException::Programmer, Isis::Real, Isis::SignedInteger, Isis::SignedWord, Isis::UnsignedByte, Isis::UnsignedInteger, and Isis::UnsignedWord.
Referenced by Isis::ProcessImportFits::setProcessFileStructure().
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.
null | The double precision value used to identify null pixels in the image being imported. |
lrs | The double precisiion value used to identify low representation saturation LRS pixels in the image being imported. |
lis | The double precision value used to identify low instrument saturation LIS pixels in the image being imported. |
hrs | The double precision value used to identify high representation saturation HRS pixels in the image being imported. |
his | The double precision value used to identify high instrument saturation HIS pixels in the image being imported. |
References SetHIS(), SetHRS(), SetLIS(), SetLRS(), and SetNull().
void Isis::ProcessImport::SetSuffixOffset | ( | int | samples, |
int | lines, | ||
int | coreBands, | ||
int | itemBytes | ||
) |
void Isis::ProcessImport::SetSuffixPixelType | ( | const Isis::PixelType | type | ) |
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.
vax_convert | Flag indicating whether or not to run VAX conersion methods |
|
virtual |
Process the input file and write it to the output.
Reimplemented in Isis::ProcessImportPds, Isis::ProcessImportPds, and Isis::ProcessImportPds.
References _FILEINFO_, BIL, BIP, BSQ, JP2, ProcessBil(), ProcessBip(), ProcessBsq(), ProcessJp2(), and Isis::IException::Programmer.
|
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.
funct() | Name of your processing function |
|
virtual |
Process the input file and send data to method.
funct | Method that accepts Isis::Buffer as an input parameter, processes the image, and has no return value. |
Isis::iException::Message | "File is not a supported organization." |
Reimplemented in Isis::ProcessImportPds.
References _FILEINFO_, BIL, BIP, BSQ, JP2, ProcessBil(), ProcessBip(), ProcessBsq(), ProcessJp2(), and Isis::IException::Programmer.
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
pixel | The double precision value that represents a pixel. |
References Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT8, and Isis::NULL8.
Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), and ProcessJp2().
double Isis::ProcessImport::VAXConversion | ( | void * | ibuf | ) |
Conversion routine which translates VAX_REAL to IEEE_REAL.
ibuf | Memory buffer of input data to be converted |
Referenced by ProcessBil(), ProcessBip(), and ProcessBsq().
|
inherited |
Writes out the History blob to the cube.
References Isis::History::AddEntry(), Isis::iApp, Isis::PvlContainer::isNamed(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::Cube::readHistory(), and Isis::Cube::write().
Referenced by Isis::ImageImporter::import().
|
protectedinherited |
A vector of pointers to opened Cube objects.
The pointers are established in the SetInputCube/SetInputWorkCube methods.
Referenced by Isis::ProcessExport::CreateWorldFile(), Isis::ProcessExport::GetBuffersBIL(), Isis::ProcessExport::GetBuffersBIP(), Isis::ProcessExport::GetBuffersBSQ(), Isis::ProcessByBrick::ProcessCube(), Isis::ProcessExport::ProcessCubes(), Isis::ProcessByBrick::ProcessCubes(), Isis::ProcessExport::SetInputRange(), Isis::ProcessExport::StartProcess(), and Isis::ProcessByQuickFilter::StartProcess().
|
protectedinherited |
|
protectedinherited |
A vector of pointers to allocated Cube objects.
The pointers are established in the SetOutputCube method.
Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), Isis::ProcessByBrick::ProcessCube(), Isis::ProcessByBrick::ProcessCubes(), ProcessJp2(), and Isis::ProcessByQuickFilter::StartProcess().
|
protectedinherited |
Holds the calculated statistics for each band separately of every input cubei after the CalculateStatistics method is called.
Referenced by Isis::Process::BandStatistics().
|
protectedinherited |
Holds the calculated statistics for every band together of every input cubei after the CalculateStatistics method is called.
Referenced by Isis::Process::CubeStatistics().
|
protectedinherited |
Pointer to a Progress object.
Referenced by ProcessBil(), ProcessBip(), ProcessBsq(), Isis::ProcessExport::ProcessCubes(), Isis::ProcessExport::ProcessExport(), ProcessImport(), ProcessJp2(), Isis::Process::Progress(), Isis::ProcessExport::StartProcess(), and Isis::ProcessByQuickFilter::StartProcess().
|
protectedinherited |
Flag indicating if history is to be propagated to output cubes.
|
protectedinherited |
Flag indicating if labels are be propagated to output cubes.
|
protectedinherited |
Flag indicating if original lable is to be propagated to output cubes.
|
protectedinherited |
Flag indicating if blobs are be propagated to output cubes.
|
protectedinherited |
Flag indicating if tables are be propagated to output cubes.