1 #ifndef ProcessImport_h 2 #define ProcessImport_h 178 enum VAXSpecialPixel {
215 void SetDimensions(
const int ns,
const int nl,
const int nb);
254 bool IsVAXSpecial(
unsigned int *vax, VAXSpecialPixel pix);
256 void SetSuffixOffset(
int samples,
int lines,
int coreBands,
int itemBytes);
284 std::vector<std::vector<char *> >
DataPrefix();
285 std::vector<std::vector<char *> >
DataSuffix();
311 void SetBase(
const double base);
313 void SetBase(
const std::vector<double> base);
317 const double lis,
const double hrs,
319 void SetNull(
const double null_min,
const double null_max);
320 void SetLRS(
const double lrs_min,
const double lrs_max);
321 void SetLIS(
const double lis_min,
const double lis_max);
322 void SetHRS(
const double hrs_min,
const double hrs_max);
323 void SetHIS(
const double his_min,
const double his_max);
335 void AddImportLabel(
Isis::Pvl &importLab);
Buffer for reading and writing cube data.
int p_dataHeaderBytes
Number of bytes of non-image data after the file header and before the image data of each data block...
void SaveDataTrailer()
This method marks the data block trailers to be saved.
double TestPixel(const double pixel)
Tests the pixel.
bool p_saveFileTrailer
Flag indicating whether to save the file trailer or not.
virtual ~ProcessImport()
Destroys the Import object.
double p_null_max
The pixel value which is the upper bound of NULL data.
bool p_saveFileHeader
Flag indicating whether to save the file header or not.
std::vector< double > p_mult
An array containing the core multiplier for each band.
void SetFileTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of a file.
std::vector< std::vector< char * > > p_dataPre
The data prefix.
bool p_saveDataPre
Flag indicating whether to save the data prefix or not.
int p_ns
Number of samples.
int DataSuffixBytes() const
This method returns the number of data duffix bytes.
int p_suffixData
The number of bytes past the file header bytes where the suffix data bands are stored.
int Bands()
Returns the number of bands.
int p_dataPreBytes
Number of bytes of non-image data preceding each data record, such as line prefix data in a band sequ...
bool p_saveDataPost
Flag indicating whether to save the data suffix or not.
void SetDataHeaderBytes(const int bytes)
This method sets the number of bytes in the header of each datablock of a file.
ByteOrder
Tests the current architecture for byte order.
int Samples()
Returns the number of samples.
void ProcessBip(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Pixel.
std::vector< char * > p_dataHeader
The data header.
std::vector< char * > DataHeader()
This method returns a pointer to the data header.
bool p_saveDataHeader
Flag indicating whether to save the data header or not.
void SetDataPrefixBytes(const int bytes)
This method sets the number of bytes at the beginning of each data record of a file.
double p_his_max
The pixel value which is the upper bound of HIS data.
std::vector< std::vector< char * > > p_dataPost
The data suffix.
int DataTrailerBytes() const
This method returns the number of data trailer bytes.
std::vector< double > p_base
An array containing the core base for each band.
void SetDataSuffixBytes(const int bytes)
This method sets the number of bytes at the end of each data record of a file.
double p_lis_min
The pixel value which is the lower bound of LIS data.
bool IsVAXSpecial(unsigned int *vax, VAXSpecialPixel pix)
Determines if the VAX encoded pixel value is special or not.
QString InputFile()
Sets the name of the input file to be read in the import StartProcess method and verifies its existan...
void SetDimensions(const int ns, const int nl, const int nb)
Sets the physical size of the input cube.
PixelType
Enumerations for Isis Pixel Types.
std::vector< char * > DataTrailer()
This method returns a pointer to the data trailer.
void ProcessBsq(void funct(Isis::Buffer &out)=NULL)
Process the import data as a band sequential file.
Isis::ByteOrder ByteOrder()
Returns the byte order.
std::vector< char * > p_dataTrailer
The data trailer.
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time...
Jpeg 2000 Format (always band sequential).
char * p_fileHeader
The file header.
Isis::PixelType PixelType()
Returns the pixel type.
void CheckPixelRange(QString pixelName, double min, double max)
Checks the special pixel range of the given against all other special pixel value ranges...
Interleave Organization() const
Gets the organization of the input cube.
void SaveDataSuffix()
This method marks the data suffix to be saved.
int DataHeaderBytes() const
This method returns the number of data header bytes.
void SetHIS(const double his_min, const double his_max)
Sets the range that will be considered Isis::Null.
double p_his_min
The pixel value which is the lower bound of HIS data.
Manipulate and parse attributes of output cube filenames.
double VAXConversion(void *ibuf)
Conversion routine which translates VAX_REAL to IEEE_REAL.
Isis::PixelType p_pixelType
Pixel type of input data.
std::vector< std::vector< char * > > DataPrefix()
This method returns a pointer to the data prefix.
void ProcessBil(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Line.
double p_null_min
The pixel value which is the lower bound of NULL data.
void SaveDataPrefix()
This method marks the data prefix to be saved.
int p_fileHeaderBytes
The number of bytes of non-image data at the beginning of a file.
virtual void StartProcess()
Process the input file and write it to the output.
Isis::Cube * SetOutputCube(const QString ¶meter)
Create the output file.
ProcessImport()
Constructs an Import object.
double p_hrs_max
The pixel value which is the upper bound of HRS data.
void SetDataTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of each datablock of a file.
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 SetPixelType(const Isis::PixelType type)
Sets the pixel type of the input file.
Container for cube-like labels.
void SaveDataHeader()
This method marks the data block headers to be saved.
virtual Isis::Cube * SetOutputCube(const QString ¶meter)
Allocates a user-specified output cube whose size matches the first input cube.
int p_dataTrailerBytes
Number of bytes of non-image data after the image data of each data block, such as band trailer data ...
char * p_fileTrailer
The file trailer.
double p_hrs_min
The pixel value which is the lower bound of HRS data.
void SetOrganization(const ProcessImport::Interleave org)
Sets the organization of the input cube.
Interleave
This enum includes how the document should be read: by BSQ, BIL, BIP, JP2, or InterleaveUndefined.
Band Sequential Format (i.e.
void SaveFileTrailer()
This method marks the file trailer to be saved.
Band Interleaved By Pixel Format (i.e.
int FileHeaderBytes() const
This method returns the number of file header bytes.
double p_lrs_min
The pixel value which is the lower bound of LRS data.
void SetLRS(const double lrs_min, const double lrs_max)
Sets the range that will be considered Isis::Null.
QString p_inFile
Input file name.
int DataPrefixBytes() const
This method returns the number of data prefix bytes.
ProcessImport::Interleave p_organization
The format of the input file.
char * FileHeader()
This method returns a pointer to the file header.
int Lines()
Returns the number of lines.
char * FileTrailer()
This method returns a pointer to the file trailer.
Namespace for ISIS/Bullet specific routines.
void SetMultiplier(const double mult)
Sets the core multiplier of the input cube.
int FileTrailerBytes() const
This method returns the number of file trailer bytes.
void ProcessJp2(void funct(Isis::Buffer &out)=NULL)
Function to process files containing compressed JPEG2000 data (which is always BSQ but is processed a...
void SetVAXConvert(const bool vax_convert)
Sets the VAX flag of the input cube.
Isis::ByteOrder p_byteOrder
Byte order of data.
void SetFileHeaderBytes(const int bytes)
This method sets the number of bytes in the header of a file.
int p_fileTrailerBytes
The number of bytes of non-image data at the end of a file.
void SetLIS(const double lis_min, const double lis_max)
Sets the range that will be considered Isis::Null.
void SetBase(const double base)
Sets the core base of the input cube.
Isis::PixelType p_suffixPixelType
The pixel type of the suffix data.
std::vector< std::vector< char * > > DataSuffix()
This method returns a pointer to the data suffix.
void SetNull(const double null_min, const double null_max)
Sets the range that will be considered Isis::Null.
void SetInputFile(const QString &file)
Sets the name of the input file to be read in the import StartProcess method and verifies its existan...
double p_lis_max
The pixel value which is the upper bound of LIS data.
double p_lrs_max
The pixel value which is the upper bound of LRS data.
Base class for all cube processing derivatives.
int p_dataPostBytes
Number of bytes of non-image data following each data record, such as line suffix data in a band sequ...
void SetByteOrder(const Isis::ByteOrder order)
Sets the byte order of the input file.
Band Interleaved By Line Format (i.e.
void SetHRS(const double hrs_min, const double hrs_max)
Sets the range that will be considered Isis::Null.
bool p_saveDataTrailer
Flag indicating whether to save the data trailer or not.
IO Handler for Isis Cubes.
void SaveFileHeader()
This method marks the file header to be saved.