18#include "SpecialPixel.h"
202 void SetDimensions(
const int ns,
const int nl,
const int nb);
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);
323 void AddLabel(Isis::Pvl &label);
329 Isis::PixelType p_pixelType;
331 Isis::PixelType p_suffixPixelType;
335 Isis::ByteOrder p_byteOrder;
341 int p_fileHeaderBytes;
345 int p_fileTrailerBytes;
349 int p_dataHeaderBytes;
353 int p_dataTrailerBytes;
363 bool p_saveFileHeader;
365 bool p_saveDataHeader;
367 bool p_saveDataTrailer;
373 bool p_saveFileTrailer;
376 std::vector<char *>p_dataHeader;
377 std::vector<char *>p_dataTrailer;
378 std::vector<std::vector<char *> >p_dataPre;
379 std::vector<std::vector<char *> >p_dataPost;
391 std::vector<double> p_base;
395 std::vector<double> p_mult;
Buffer for reading and writing cube data.
Definition Buffer.h:53
Manipulate and parse attributes of output cube filenames.
Definition CubeAttribute.h:452
IO Handler for Isis Cubes.
Definition Cube.h:168
Base class for all cube processing derivatives.
Definition Process.h:143
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time.
Definition Process.h:213
virtual Isis::Cube * SetOutputCube(const QString ¶meter)
Allocates a user-specified output cube whose size matches the first input cube.
Definition Process.cpp:163
void SetVAXConvert(const bool vax_convert)
Sets the VAX flag of the input cube.
Definition ProcessImport.cpp:918
virtual void StartProcess()
Process the input file and write it to the output.
Definition ProcessImport.cpp:1301
void SetPixelType(const Isis::PixelType type)
Sets the pixel type of the input file.
Definition ProcessImport.cpp:263
void SetFileHeaderBytes(const int bytes)
This method sets the number of bytes in the header of a file.
Definition ProcessImport.cpp:348
Isis::PixelType PixelType()
Returns the pixel type.
Definition ProcessImport.h:197
std::vector< char * > DataTrailer()
This method returns a pointer to the data trailer.
Definition ProcessImport.cpp:834
ProcessImport()
Constructs an Import object.
Definition ProcessImport.cpp:36
void SaveDataPrefix()
This method marks the data prefix to be saved.
Definition ProcessImport.cpp:644
void SaveDataTrailer()
This method marks the data block trailers to be saved.
Definition ProcessImport.cpp:616
int FileHeaderBytes() const
This method returns the number of file header bytes.
Definition ProcessImport.cpp:687
void SetOrganization(const ProcessImport::Interleave org)
Sets the organization of the input cube.
Definition ProcessImport.cpp:906
char * FileTrailer()
This method returns a pointer to the file trailer.
Definition ProcessImport.cpp:778
void SetDataPrefixBytes(const int bytes)
This method sets the number of bytes at the beginning of each data record of a file.
Definition ProcessImport.cpp:472
int DataTrailerBytes() const
This method returns the number of data trailer bytes.
Definition ProcessImport.cpp:712
void SetLIS(const double lis_min, const double lis_max)
Sets the range that will be considered Isis::Null.
Definition ProcessImport.cpp:1047
void SetSuffixOffset(int samples, int lines, int coreBands, int itemBytes)
Definition ProcessImport.cpp:418
void SetHRS(const double hrs_min, const double hrs_max)
Sets the range that will be considered Isis::Null.
Definition ProcessImport.cpp:1064
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.
Definition ProcessImport.cpp:992
void SetNull(const double null_min, const double null_max)
Sets the range that will be considered Isis::Null.
Definition ProcessImport.cpp:1013
void SetInputFile(const QString &file)
Sets the name of the input file to be read in the import StartProcess method and verifies its existan...
Definition ProcessImport.cpp:2301
void SetMultiplier(const double mult)
Sets the core multiplier of the input cube.
Definition ProcessImport.cpp:958
void SetDataHeaderBytes(const int bytes)
This method sets the number of bytes in the header of each datablock of a file.
Definition ProcessImport.cpp:407
void ProcessBip(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Pixel.
Definition ProcessImport.cpp:1870
Isis::Cube * SetOutputCube(const QString ¶meter)
Create the output file.
Definition ProcessImport.cpp:1260
void SaveFileTrailer()
This method marks the file trailer to be saved.
Definition ProcessImport.cpp:558
int FileTrailerBytes() const
This method returns the number of file trailer bytes.
Definition ProcessImport.cpp:696
void CheckPixelRange(QString pixelName, double min, double max)
Checks the special pixel range of the given against all other special pixel value ranges,...
Definition ProcessImport.cpp:1097
Isis::ByteOrder ByteOrder()
Returns the byte order.
Definition ProcessImport.h:237
int Lines()
Returns the number of lines.
Definition ProcessImport.h:217
VAXDataType
Definition ProcessImport.h:157
@ VAX_INT
Definition ProcessImport.h:159
@ VAX_REAL
Definition ProcessImport.h:158
void ProcessJp2(void funct(Isis::Buffer &out)=NULL)
Function to process files containing compressed JPEG2000 data (which is always BSQ but is processed a...
Definition ProcessImport.cpp:2122
void SetLRS(const double lrs_min, const double lrs_max)
Sets the range that will be considered Isis::Null.
Definition ProcessImport.cpp:1030
int DataPrefixBytes() const
This method returns the number of data prefix bytes.
Definition ProcessImport.cpp:720
Interleave Organization() const
Gets the organization of the input cube.
Definition ProcessImport.cpp:927
double VAXConversion(void *ibuf)
Conversion routine which translates VAX_REAL to IEEE_REAL.
Definition ProcessImport.cpp:170
void SetFileTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of a file.
Definition ProcessImport.cpp:378
int Samples()
Returns the number of samples.
Definition ProcessImport.h:208
void SetDataTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of each datablock of a file.
Definition ProcessImport.cpp:442
std::vector< std::vector< char * > > DataSuffix()
This method returns a pointer to the data suffix.
Definition ProcessImport.cpp:890
QString InputFile()
Sets the name of the input file to be read in the import StartProcess method and verifies its existan...
Definition ProcessImport.cpp:2318
int DataSuffixBytes() const
This method returns the number of data duffix bytes.
Definition ProcessImport.cpp:728
void SaveDataHeader()
This method marks the data block headers to be saved.
Definition ProcessImport.cpp:587
void SetByteOrder(const Isis::ByteOrder order)
Sets the byte order of the input file.
Definition ProcessImport.cpp:323
void ProcessBil(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Line.
Definition ProcessImport.cpp:1625
virtual ~ProcessImport()
Destroys the Import object.
Definition ProcessImport.cpp:77
std::vector< std::vector< char * > > DataPrefix()
This method returns a pointer to the data prefix.
Definition ProcessImport.cpp:862
void ProcessBsq(void funct(Isis::Buffer &out)=NULL)
Process the import data as a band sequential file.
Definition ProcessImport.cpp:1362
void SetHIS(const double his_min, const double his_max)
Sets the range that will be considered Isis::Null.
Definition ProcessImport.cpp:1081
Interleave
This enum includes how the document should be read: by BSQ, BIL, BIP, JP2, or InterleaveUndefined.
Definition ProcessImport.h:278
@ InterleaveUndefined
Undefined.
Definition ProcessImport.h:279
@ BIL
Band Interleaved By Line Format (i.e.
Definition ProcessImport.h:284
@ BIP
Band Interleaved By Pixel Format (i.e.
Definition ProcessImport.h:288
@ JP2
Jpeg 2000 Format (always band sequential).
Definition ProcessImport.h:280
@ BSQ
Band Sequential Format (i.e.
Definition ProcessImport.h:281
std::vector< char * > DataHeader()
This method returns a pointer to the data header.
Definition ProcessImport.cpp:806
void SetDataSuffixBytes(const int bytes)
This method sets the number of bytes at the end of each data record of a file.
Definition ProcessImport.cpp:502
char * FileHeader()
This method returns a pointer to the file header.
Definition ProcessImport.cpp:752
void SetBase(const double base)
Sets the core base of the input cube.
Definition ProcessImport.cpp:937
double TestPixel(const double pixel)
Tests the pixel.
Definition ProcessImport.cpp:1166
void SetSuffixPixelType(const Isis::PixelType type)
Definition ProcessImport.cpp:277
int Bands()
Returns the number of bands.
Definition ProcessImport.h:226
void SetAttributes(CubeAttributeOutput &att)
Given a CubeAttributeOutput object, set min/max to propagate if propagating min/max attributes was re...
Definition ProcessImport.cpp:1197
void SaveFileHeader()
This method marks the file header to be saved.
Definition ProcessImport.cpp:531
void SaveDataSuffix()
This method marks the data suffix to be saved.
Definition ProcessImport.cpp:673
void SetDimensions(const int ns, const int nl, const int nb)
Sets the physical size of the input cube.
Definition ProcessImport.cpp:303
VAXSpecialPixel
Definition ProcessImport.h:163
@ VAX_NULL4
Definition ProcessImport.h:165
@ VAX_LRS4
Definition ProcessImport.h:166
@ VAX_HRS4
Definition ProcessImport.h:169
@ VAX_HIS4
Definition ProcessImport.h:168
@ VAX_MIN4
Definition ProcessImport.h:164
@ VAX_LIS4
Definition ProcessImport.h:167
int DataHeaderBytes() const
This method returns the number of data header bytes.
Definition ProcessImport.cpp:704
bool IsVAXSpecial(unsigned int *vax, VAXSpecialPixel pix)
Determines if the VAX encoded pixel value is special or not.
Definition ProcessImport.cpp:117
Command Line and Xml loader, validation, and access.
Definition UserInterface.h:138
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16