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