USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::ProcessImportFits Class Reference

Import a FITS file. More...

#include <ProcessImportFits.h>

Inheritance diagram for Isis::ProcessImportFits:
Inheritance graph
Collaboration diagram for Isis::ProcessImportFits:
Collaboration graph

Public Types

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

 ProcessImportFits ()
 Constructor for ProcessImportFits.
 
virtual ~ProcessImportFits ()
 Destructor for ProcessImportFits.
 
PvlGroup standardInstrumentGroup (PvlGroup fitsLabel) const
 Return a populated instrument group.
 
PvlGroup fitsLabel (int labelNumber) const
 Supplies the requested FITS label.
 
void setFitsFile (FileName fitsFile)
 Opens a FITS file and reads the FITS labels.
 
void setProcessFileStructure (int labelNumber)
 Sets the Process file structure parameters based on the FITS labels of choice.
 
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.
 
virtual void StartProcess (void funct())
 In the base class, this method will invoked a user-specified function exactly one time.
 
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.
 
virtual Isis::CubeSetOutputCube (const QString &fname, Isis::CubeAttributeOutput &att)
 Create the output file.
 
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.
 
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.
 
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 SetBase (const std::vector< double > base)
 Sets band dependent core base.
 
void SetMultiplier (const double mult)
 Sets the core multiplier of the input cube.
 
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.
 
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)
 Set the InputCube vector to an opened Cube which was dynamically allocated.
 
void AddInputCube (Cube *cube, bool owned=true)
 
void AddOutputCube (Cube *cube, bool owned=true)
 
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)
 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 Member Functions

void extractFitsLabels ()
 Extract all the FITS labels from the file.
 

Private Attributes

QList< PvlGroup * > * m_fitsLabels
 Holds the PvlGroups with the converted FITS labels from the main and all extensions.
 
FileName m_name
 The name of the input FITS file.
 
std::ifstream m_file
 The stream used to read the FITS file.
 
QList< int > * m_headerSizes
 The number/count of 2880 byte header records for each header section.
 
QList< int > * m_dataStarts
 The starting byte of the data for each image.
 

Detailed Description

Import a FITS file.

This class allows a programmer to develop application programs which import Fits cubes and mangles the the FITS label into appropriate ISIS labels. The entire FITS label is converted to an ISIS PVL, allowing the programmer to interagate it with existing ISIS tools.

Author
2013-10-08 Stuart Sides
History:

2014-06-06 Stuart Sides - Added ability to read and process the FITS extension

2015-01-15 Sasha Brownsberger - Made destructor virtual. References #2215.

Definition at line 47 of file ProcessImportFits.h.

Member Enumeration Documentation

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 240 of file ProcessImport.h.

Constructor & Destructor Documentation

Isis::ProcessImportFits::ProcessImportFits ( )

Constructor for ProcessImportFits.

Definition at line 47 of file ProcessImportFits.cpp.

References m_dataStarts, m_fitsLabels, and m_headerSizes.

Isis::ProcessImportFits::~ProcessImportFits ( )
virtual

Destructor for ProcessImportFits.

Definition at line 57 of file ProcessImportFits.cpp.

References m_dataStarts, m_file, m_fitsLabels, and m_headerSizes.

Member Function Documentation

int Isis::ProcessImport::Bands ( )
inlineinherited

Returns the number of bands.

Returns
The number of bands

Definition at line 195 of file ProcessImport.h.

References Isis::ProcessImport::p_nb.

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

References Isis::Process::p_bandStats.

Isis::ByteOrder Isis::ProcessImport::ByteOrder ( )
inlineinherited

Returns the byte order.

Returns
Byte order of the data

Definition at line 205 of file ProcessImport.h.

References Isis::ProcessImport::p_byteOrder.

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 721 of file Process.cpp.

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::Process::ClearCubes ( )
inherited

Close owned cubes from the list and clear the list.

Definition at line 506 of file Process.cpp.

void Isis::Process::ClearInputCubes ( )
inherited

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

Definition at line 516 of file Process.cpp.

Referenced by Isis::ProcessMapMosaic::RingsSetOutputCube(), Isis::FileTool::saveAsReducedCube(), and Isis::ProcessMapMosaic::SetOutputCube().

void Isis::Process::ClearOutputCubes ( )
inherited

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

Definition at line 530 of file Process.cpp.

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

References Isis::Process::p_cubeStats.

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

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 646 of file ProcessImport.cpp.

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

int Isis::ProcessImport::DataHeaderBytes ( ) const
inherited

This method returns the number of data header bytes.

Definition at line 545 of file ProcessImport.cpp.

References Isis::ProcessImport::p_dataHeaderBytes.

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

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 702 of file ProcessImport.cpp.

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

int Isis::ProcessImport::DataPrefixBytes ( ) const
inherited

This method returns the number of data prefix bytes.

Definition at line 561 of file ProcessImport.cpp.

References Isis::ProcessImport::p_dataPreBytes.

Referenced by setProcessFileStructure().

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

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 730 of file ProcessImport.cpp.

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

int Isis::ProcessImport::DataSuffixBytes ( ) const
inherited

This method returns the number of data duffix bytes.

Definition at line 569 of file ProcessImport.cpp.

References Isis::ProcessImport::p_dataPostBytes.

Referenced by setProcessFileStructure().

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

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 674 of file ProcessImport.cpp.

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

int Isis::ProcessImport::DataTrailerBytes ( ) const
inherited

This method returns the number of data trailer bytes.

Definition at line 553 of file ProcessImport.cpp.

References Isis::ProcessImport::p_fileTrailerBytes.

void Isis::Process::EndProcess ( )
virtualinherited
void Isis::ProcessImportFits::extractFitsLabels ( )
private
char * Isis::ProcessImport::FileHeader ( )
inherited

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 592 of file ProcessImport.cpp.

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

int Isis::ProcessImport::FileHeaderBytes ( ) const
inherited

This method returns the number of file header bytes.

Definition at line 529 of file ProcessImport.cpp.

References Isis::ProcessImport::p_fileHeaderBytes.

char * Isis::ProcessImport::FileTrailer ( )
inherited

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 618 of file ProcessImport.cpp.

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

int Isis::ProcessImport::FileTrailerBytes ( ) const
inherited

This method returns the number of file trailer bytes.

Definition at line 537 of file ProcessImport.cpp.

References Isis::ProcessImport::p_fileTrailerBytes.

void Isis::Process::Finalize ( )
virtualinherited

Cleans up by closing cubes and freeing memory for owned cubes.

Clears the lists for all cubes.

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

Definition at line 488 of file Process.cpp.

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

PvlGroup Isis::ProcessImportFits::fitsLabel ( int  labelNumber) const

Supplies the requested FITS label.

Parameters
labelNumberFITS label number. zero (0) is the first/main label
Returns
PvlGroup version of a FITS label corrisponding to requested label number

Definition at line 209 of file ProcessImportFits.cpp.

References _FILEINFO_, m_fitsLabels, m_name, Isis::IException::Programmer, and Isis::IException::User.

Referenced by extractFitsLabels(), and setFitsFile().

QString Isis::ProcessImport::InputFile ( )
inherited

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 2080 of file ProcessImport.cpp.

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

Referenced by setProcessFileStructure().

int Isis::ProcessImport::Lines ( )
inlineinherited

Returns the number of lines.

Returns
The number of lines

Definition at line 187 of file ProcessImport.h.

References Isis::ProcessImport::p_nl.

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 666 of file Process.cpp.

References _FILEINFO_, and Isis::PvlObject::findGroup().

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

Gets the organization of the input cube.

Definition at line 755 of file ProcessImport.cpp.

References Isis::ProcessImport::p_organization.

Referenced by setProcessFileStructure().

Isis::PixelType Isis::ProcessImport::PixelType ( )
inlineinherited

Returns the pixel type.

Returns
The pixel type of input data

Definition at line 170 of file ProcessImport.h.

References Isis::ProcessImport::p_pixelType.

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

This method returns a pointer to a Progress object.

Returns
Progress*

Definition at line 263 of file Process.h.

References Isis::Process::p_progress.

Referenced by Isis::Equalization::calculateStatistics(), Isis::ProcessMapMosaic::RingsSetOutputCube(), and Isis::ProcessMapMosaic::SetOutputCube().

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 635 of file Process.cpp.

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

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 552 of file Process.cpp.

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

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 563 of file Process.cpp.

References Isis::PvlObject::addGroup(), Isis::PvlObject::addObject(), Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), and Isis::PvlObject::hasObject().

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 646 of file Process.cpp.

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

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

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

Parameters
propFlag indicating if input blobs are to be propagated to output cubes.

Definition at line 625 of file Process.cpp.

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

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

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

Parameters
propFlag indicating if input tables are to be propagated to output cubes.

Definition at line 591 of file Process.cpp.

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

void Isis::Process::PropagateTables ( const QString &  fromName)
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.

Definition at line 600 of file Process.cpp.

References Isis::Cube::label(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::Cube::open(), and Isis::Cube::read().

int Isis::ProcessImport::Samples ( )
inlineinherited

Returns the number of samples.

Returns
The number of samples

Definition at line 179 of file ProcessImport.h.

References Isis::ProcessImport::p_ns.

void Isis::ProcessImport::SaveDataHeader ( )
inherited

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 429 of file ProcessImport.cpp.

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

void Isis::ProcessImport::SaveDataPrefix ( )
inherited

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 486 of file ProcessImport.cpp.

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

void Isis::ProcessImport::SaveDataSuffix ( )
inherited

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 515 of file ProcessImport.cpp.

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

void Isis::ProcessImport::SaveDataTrailer ( )
inherited

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 458 of file ProcessImport.cpp.

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

void Isis::ProcessImport::SaveFileHeader ( )
inherited

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 373 of file ProcessImport.cpp.

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

void Isis::ProcessImport::SaveFileTrailer ( )
inherited

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 400 of file ProcessImport.cpp.

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

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

Sets the core base of the input cube.

Defaults to zero if not invoked.

Parameters
baseCore base

Definition at line 765 of file ProcessImport.cpp.

References Isis::ProcessImport::p_base.

Referenced by setProcessFileStructure().

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

Sets band dependent core base.

Parameters
baseA vector containing the base for each band.

Definition at line 776 of file ProcessImport.cpp.

References Isis::ProcessImport::p_base.

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

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 170 of file ProcessImport.cpp.

References Isis::ProcessImport::p_byteOrder.

Referenced by setProcessFileStructure().

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

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 254 of file ProcessImport.cpp.

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

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

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 314 of file ProcessImport.cpp.

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

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

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 344 of file ProcessImport.cpp.

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

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

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 284 of file ProcessImport.cpp.

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

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

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 150 of file ProcessImport.cpp.

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

Referenced by setProcessFileStructure().

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

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 195 of file ProcessImport.cpp.

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

Referenced by setProcessFileStructure().

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

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 225 of file ProcessImport.cpp.

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

void Isis::ProcessImportFits::setFitsFile ( FileName  fitsFile)

Opens a FITS file and reads the FITS labels.

Parameters
fitsFileName of the FITS file to open

Definition at line 265 of file ProcessImportFits.cpp.

References _FILEINFO_, extractFitsLabels(), fitsLabel(), m_file, m_name, Isis::ProcessImport::SetInputFile(), and Isis::IException::User.

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

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 909 of file ProcessImport.cpp.

References Isis::ProcessImport::CheckPixelRange(), Isis::ProcessImport::p_his_max, and Isis::ProcessImport::p_his_min.

Referenced by Isis::ProcessImport::ProcessImport(), and Isis::ProcessImport::SetSpecialValues().

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

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 892 of file ProcessImport.cpp.

References Isis::ProcessImport::CheckPixelRange(), Isis::ProcessImport::p_hrs_max, and Isis::ProcessImport::p_hrs_min.

Referenced by Isis::ProcessImport::ProcessImport(), and Isis::ProcessImport::SetSpecialValues().

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".
requirementsUse to specify requirements for the input file. The following are requirments are checked against 1) ic_base::SizeMatch checks to make sure the input cube has the same bands, samples, and lines as the first input cube open using this method, 2) ic_base::SpatialMatch checks to make sure the input cube has the same samples and lines as the first input cube, 3) ic_base::Georeferenced checks to make sure latitude/longitudes can be obtained from the input cube, 4) ic_base::FullyGeoreferenced checks to make sure latitude/longitude, phase/incidence/emission, and other geometric parameters can be obtained from the input cube, 5) ic_base::OneBand checks to make sure the input cube has exactly one band. Note, that these requirements can be logically or'ed. For example, ic_base::SpatialMatch | ic_base::georeferenced. Defaults to 0
Exceptions
Isis::iException::Message

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

Definition at line 243 of file Process.cpp.

Referenced by Isis::ImageExporter::addChannel(), Isis::FileTool::saveAsEnlargedCube(), and Isis::ProcessGroundPolygons::SetStatCubes().

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.
requirementsSame as requirements on SetInputCube. See that method for more details. Defaults to 0
Returns
Cube*
Exceptions
Isis::iException::Message

Reimplemented in Isis::ProcessByBrick.

Definition at line 82 of file Process.cpp.

References _FILEINFO_, Isis::Cube::bandCount(), Isis::CubeAttributeInput::bands(), Isis::Cube::lineCount(), Isis::Cube::open(), Isis::Cube::sampleCount(), and Isis::Cube::setVirtualBands().

void Isis::Process::SetInputCube ( Isis::Cube inCube)
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

Reimplemented in Isis::ProcessByLine.

Definition at line 201 of file Process.cpp.

References _FILEINFO_, and Isis::Cube::isOpen().

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

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 2063 of file ProcessImport.cpp.

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

Referenced by setFitsFile().

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

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 875 of file ProcessImport.cpp.

References Isis::ProcessImport::CheckPixelRange(), Isis::ProcessImport::p_lis_max, and Isis::ProcessImport::p_lis_min.

Referenced by Isis::ProcessImport::ProcessImport(), and Isis::ProcessImport::SetSpecialValues().

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

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 858 of file ProcessImport.cpp.

References Isis::ProcessImport::CheckPixelRange(), Isis::ProcessImport::p_lrs_max, and Isis::ProcessImport::p_lrs_min.

Referenced by Isis::ProcessImport::ProcessImport(), and Isis::ProcessImport::SetSpecialValues().

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

Sets the core multiplier of the input cube.

Defaults to one if not invoked.

Parameters
multCore base

Definition at line 786 of file ProcessImport.cpp.

References Isis::ProcessImport::p_mult.

Referenced by setProcessFileStructure().

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

Sets band dependent core multiplier.

Parameters
multA vector containing the multiplier for each band.

Definition at line 797 of file ProcessImport.cpp.

References Isis::ProcessImport::p_mult.

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

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 841 of file ProcessImport.cpp.

References Isis::ProcessImport::CheckPixelRange(), Isis::ProcessImport::p_null_max, and Isis::ProcessImport::p_null_min.

Referenced by Isis::ProcessImport::ProcessImport(), and Isis::ProcessImport::SetSpecialValues().

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

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 746 of file ProcessImport.cpp.

References Isis::ProcessImport::p_organization.

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

Create the output file.

Note that all the appropiate 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 1026 of file ProcessImport.cpp.

References _FILEINFO_, IsisAml::GetOutputAttribute(), Isis::Application::GetUserInterface(), Isis::ProcessImport::p_base, Isis::ProcessImport::p_mult, Isis::ProcessImport::p_nb, Isis::ProcessImport::p_nl, Isis::ProcessImport::p_ns, Isis::ProcessImport::p_pixelType, Isis::PixelTypeName(), Isis::IException::Programmer, Isis::CubeAttributeOutput::propagateMinimumMaximum(), Isis::CubeAttributeOutput::propagatePixelType(), Isis::CubeAttributeOutput::setMaximum(), Isis::CubeAttributeOutput::setMinimum(), Isis::Process::SetOutputCube(), and Isis::CubeAttributeOutput::setPixelType().

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

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 1088 of file ProcessImport.cpp.

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

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 302 of file Process.cpp.

References _FILEINFO_.

Isis::Cube * Isis::Process::SetOutputCube ( const QString &  fname,
const Isis::CubeAttributeOutput att,
const int  ns,
const int  nl,
const int  nb = 1 
)
virtualinherited
void Isis::ProcessImport::SetPixelType ( const Isis::PixelType  type)
inherited

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 124 of file ProcessImport.cpp.

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

Referenced by setProcessFileStructure().

void Isis::ProcessImportFits::setProcessFileStructure ( int  labelNumber)

Sets the Process file structure parameters based on the FITS labels of choice.

NOTE: The (DataPrefixBytes + DataSuffixByte) / PixelSize is subtracted from the number of samples before the output file is created.

Parameters
labelNumberFITS label number. zero (0) is the first/main label. one (1) is the first extension, ...

Definition at line 301 of file ProcessImportFits.cpp.

References _FILEINFO_, Isis::ProcessImport::BIL, Isis::ProcessImport::BSQ, Isis::ProcessImport::DataPrefixBytes(), Isis::ProcessImport::DataSuffixBytes(), Isis::PvlContainer::hasKeyword(), Isis::ProcessImport::InputFile(), m_dataStarts, m_fitsLabels, Isis::ProcessImport::Organization(), Isis::ProcessImport::SetBase(), Isis::ProcessImport::SetByteOrder(), Isis::ProcessImport::SetDimensions(), Isis::ProcessImport::SetFileHeaderBytes(), Isis::ProcessImport::SetMultiplier(), Isis::ProcessImport::SetPixelType(), Isis::SizeOf(), Isis::toDouble(), Isis::toInt(), and Isis::IException::User.

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

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 820 of file ProcessImport.cpp.

References Isis::ProcessImport::SetHIS(), Isis::ProcessImport::SetHRS(), Isis::ProcessImport::SetLIS(), Isis::ProcessImport::SetLRS(), and Isis::ProcessImport::SetNull().

PvlGroup Isis::ProcessImportFits::standardInstrumentGroup ( PvlGroup  fitsLabel) const

Return a populated instrument group.

Parameters
aFITS label after being converted to a PvlGroup
Returns
an instrument group filled with keywords from the FITS label

Definition at line 237 of file ProcessImportFits.cpp.

References Isis::PvlContainer::hasKeyword().

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

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.

Definition at line 1125 of file ProcessImport.cpp.

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

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

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

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 994 of file ProcessImport.cpp.

References Isis::ProcessImport::p_his_min, Isis::ProcessImport::p_hrs_min, Isis::ProcessImport::p_lis_min, Isis::ProcessImport::p_lrs_min, and Isis::ProcessImport::p_null_min.

Referenced by Isis::ProcessImport::ProcessBil(), Isis::ProcessImport::ProcessBip(), Isis::ProcessImport::ProcessBsq(), and Isis::ProcessImport::ProcessJp2().

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

Member Data Documentation

QList<int>* Isis::ProcessImportFits::m_dataStarts
private

The starting byte of the data for each image.

Definition at line 74 of file ProcessImportFits.h.

Referenced by extractFitsLabels(), ProcessImportFits(), setProcessFileStructure(), and ~ProcessImportFits().

std::ifstream Isis::ProcessImportFits::m_file
private

The stream used to read the FITS file.

Definition at line 68 of file ProcessImportFits.h.

Referenced by extractFitsLabels(), setFitsFile(), and ~ProcessImportFits().

QList<PvlGroup *>* Isis::ProcessImportFits::m_fitsLabels
private

Holds the PvlGroups with the converted FITS labels from the main and all extensions.

Definition at line 62 of file ProcessImportFits.h.

Referenced by extractFitsLabels(), fitsLabel(), ProcessImportFits(), setProcessFileStructure(), and ~ProcessImportFits().

QList<int>* Isis::ProcessImportFits::m_headerSizes
private

The number/count of 2880 byte header records for each header section.

Definition at line 71 of file ProcessImportFits.h.

Referenced by extractFitsLabels(), ProcessImportFits(), and ~ProcessImportFits().

FileName Isis::ProcessImportFits::m_name
private

The name of the input FITS file.

Definition at line 65 of file ProcessImportFits.h.

Referenced by extractFitsLabels(), fitsLabel(), and setFitsFile().

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

std::vector<Isis::Cube *> Isis::Process::OutputCubes
protectedinherited
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 180 of file Process.h.

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

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

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

bool Isis::Process::p_propagateHistory
protectedinherited

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

Definition at line 169 of file Process.h.

bool Isis::Process::p_propagateLabels
protectedinherited

Flag indicating if labels are be propagated to output cubes.

Definition at line 157 of file Process.h.

bool Isis::Process::p_propagateOriginalLabel
protectedinherited

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

Definition at line 173 of file Process.h.

bool Isis::Process::p_propagatePolygons
protectedinherited

Flag indicating if blobs are be propagated to output cubes.

Definition at line 165 of file Process.h.

bool Isis::Process::p_propagateTables
protectedinherited

Flag indicating if tables are be propagated to output cubes.

Definition at line 161 of file Process.h.


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