|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef ProcessImport_h
2 #define ProcessImport_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);
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;
float Float(void *buf)
Swaps a floating point value.
Definition: EndianSwapper.cpp:78
unsigned short int UnsignedShortInt(void *buf)
Swaps an unsigned short integer value.
Definition: EndianSwapper.cpp:197
std::vector< char * > DataHeader()
This method returns a pointer to the data header.
Definition: ProcessImport.cpp:807
int SizeOf(Isis::PixelType pixelType)
Returns the number of bytes of the specified PixelType.
Definition: PixelType.h:46
int GetSampleDimension() const
Definition: JP2Decoder.h:97
Isis::CubeAttributeOutput & GetOutputAttribute(const QString ¶mName)
Gets the attributes for an output cube.
Definition: IsisAml.cpp:1919
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:473
void SetLIS(const double lis_min, const double lis_max)
Sets the range that will be considered Isis::Null.
Definition: ProcessImport.cpp:1048
@ InterleaveUndefined
Undefined.
Definition: ProcessImport.h:279
void SetDataHeaderBytes(const int bytes)
This method sets the number of bytes in the header of each datablock of a file.
Definition: ProcessImport.cpp:408
bool IsVAXSpecial(unsigned int *vax, VAXSpecialPixel pix)
Determines if the VAX encoded pixel value is special or not.
Definition: ProcessImport.cpp:118
void setMaximum(double max)
Set the output cube attribute maximum.
Definition: CubeAttribute.cpp:342
@ Io
A type of error that occurred when performing an actual I/O operation.
Definition: IException.h:155
Buffer manager, for moving through a cube in lines.
Definition: LineManager.h:39
int Bands()
Returns the number of bands.
Definition: ProcessImport.h:226
void ProcessBsq(void funct(Isis::Buffer &out)=NULL)
Process the import data as a band sequential file.
Definition: ProcessImport.cpp:1363
const float VALID_MAX4
Definition: SpecialPixel.h:149
const int IVALID_MIN4
Definition: SpecialPixel.h:129
void OpenFile()
Open the JPEG2000 file.
Definition: JP2Decoder.cpp:52
void setPixelType(PixelType type)
Set the pixel type to that given by the parameter.
Definition: CubeAttribute.cpp:390
void CheckStatus()
Checks and updates the status.
Definition: Progress.cpp:105
This algorithm is designed for applications that jump around between a couple of spots in the cube wi...
Definition: BoxcarCachingAlgorithm.h:32
@ VAX_MIN4
Definition: ProcessImport.h:164
void SetBase(const double base)
Sets the core base of the input cube.
Definition: ProcessImport.cpp:938
void ProcessBip(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Pixel.
Definition: ProcessImport.cpp:1871
VAXDataType
Definition: ProcessImport.h:157
QString InputFile()
Sets the name of the input file to be read in the import StartProcess method and verifies its existan...
Definition: ProcessImport.cpp:2319
void SetVAXConvert(const bool vax_convert)
Sets the VAX flag of the input cube.
Definition: ProcessImport.cpp:919
int DataSuffixBytes() const
This method returns the number of data duffix bytes.
Definition: ProcessImport.cpp:729
uint32_t Uint32_t(void *buf)
Swaps a 32bit unsigned integer.
Definition: EndianSwapper.cpp:130
void SetFileTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of a file.
Definition: ProcessImport.cpp:379
bool IsLsb()
Return true if this host is an LSB first machine and false if it is not.
Definition: Endian.h:67
File name manipulation and expansion.
Definition: FileName.h:100
@ VAX_HRS4
Definition: ProcessImport.h:169
void SetMaximumSteps(const int steps)
This sets the maximum number of steps in the process.
Definition: Progress.cpp:85
std::vector< std::vector< char * > > DataSuffix()
This method returns a pointer to the data suffix.
Definition: ProcessImport.cpp:891
void Read(unsigned char **inbuf)
Read data from JP2 file containing 8-bit data.
Definition: JP2Decoder.cpp:168
@ BIL
Band Interleaved By Line Format (i.e.
Definition: ProcessImport.h:284
@ VAX_HIS4
Definition: ProcessImport.h:168
QString GetFileName(const QString ¶mName, QString extension="") const
Allows the retrieval of a value for a parameter of type "filename".
Definition: IsisAml.cpp:607
const unsigned char VALID_MIN1
Definition: SpecialPixel.h:181
std::vector< Isis::Cube * > OutputCubes
A vector of pointers to allocated Cube objects.
Definition: Process.h:191
@ UnsignedWord
Definition: PixelType.h:31
Base class for all cube processing derivatives.
Definition: Process.h:143
Container for cube-like labels.
Definition: Pvl.h:119
Manipulate and parse attributes of output cube filenames.
Definition: CubeAttribute.h:473
void addObject(const PvlObject &object)
Add a PvlObject.
Definition: PvlObject.h:307
void SetAttributes(CubeAttributeOutput &att)
Given a CubeAttributeOutput object, set min/max to propagate if propagating min/max attributes was re...
Definition: ProcessImport.cpp:1198
virtual ~ProcessImport()
Destroys the Import object.
Definition: ProcessImport.cpp:78
void SaveDataTrailer()
This method marks the data block trailers to be saved.
Definition: ProcessImport.cpp:617
@ SignedWord
Definition: PixelType.h:32
int GetLineDimension() const
Definition: JP2Decoder.h:102
@ VAX_LIS4
Definition: ProcessImport.h:167
const double HIGH_REPR_SAT8
Definition: SpecialPixel.h:116
@ VAX_NULL4
Definition: ProcessImport.h:165
void SaveDataHeader()
This method marks the data block headers to be saved.
Definition: ProcessImport.cpp:588
short int ShortInt(void *buf)
Swaps a short integer value.
Definition: EndianSwapper.cpp:174
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time.
Definition: Process.h:213
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:45
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
#define EXPONENT_MASK
This is free and unencumbered software released into the public domain.
Definition: ProcessImport.cpp:30
ByteOrder
Tests the current architecture for byte order.
Definition: Endian.h:42
void SaveDataSuffix()
This method marks the data suffix to be saved.
Definition: ProcessImport.cpp:674
Buffer for reading and writing cube data.
Definition: Buffer.h:53
void SaveDataPrefix()
This method marks the data prefix to be saved.
Definition: ProcessImport.cpp:645
std::vector< char * > DataTrailer()
This method returns a pointer to the data trailer.
Definition: ProcessImport.cpp:835
@ NoByteOrder
Definition: Endian.h:43
int GetBandDimension() const
Definition: JP2Decoder.h:107
std::vector< std::vector< char * > > DataPrefix()
This method returns a pointer to the data prefix.
Definition: ProcessImport.cpp:863
static UserInterface & GetUserInterface()
Returns the UserInterface object.
Definition: Application.cpp:463
void SetSuffixOffset(int samples, int lines, int coreBands, int itemBytes)
Definition: ProcessImport.cpp:419
const short VALID_MAX2
Definition: SpecialPixel.h:159
void SetDimensions(const int ns, const int nl, const int nb)
Sets the physical size of the input cube.
Definition: ProcessImport.cpp:304
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
const short VALID_MIN2
Definition: SpecialPixel.h:153
@ Double
Definition: PixelType.h:36
Isis::Cube * SetOutputCube(const QString ¶meter)
Create the output file.
Definition: ProcessImport.cpp:1261
int DataPrefixBytes() const
This method returns the number of data prefix bytes.
Definition: ProcessImport.cpp:721
double VAXConversion(void *ibuf)
Conversion routine which translates VAX_REAL to IEEE_REAL.
Definition: ProcessImport.cpp:171
const int IVALID_MAX4
Definition: SpecialPixel.h:150
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
@ VAX_INT
Definition: ProcessImport.h:159
Byte swapper.
Definition: ProcessImport.h:155
const double VALID_MIN8
Definition: SpecialPixel.h:86
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:2302
void SetText(const QString &text)
Changes the value of the text string reported just before 0% processed.
Definition: Progress.cpp:61
Interleave Organization() const
Gets the organization of the input cube.
Definition: ProcessImport.cpp:928
void SetSuffixPixelType(const Isis::PixelType type)
Definition: ProcessImport.cpp:278
void SetHIS(const double his_min, const double his_max)
Sets the range that will be considered Isis::Null.
Definition: ProcessImport.cpp:1082
const double NULL8
Definition: SpecialPixel.h:94
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:993
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:503
bool propagateMinimumMaximum() const
Return true if the min/max are to be propagated from an input cube.
Definition: CubeAttribute.cpp:177
Isis::ByteOrder ByteOrder()
Returns the byte order.
Definition: ProcessImport.h:237
int FileTrailerBytes() const
This method returns the number of file trailer bytes.
Definition: ProcessImport.cpp:697
const double HIGH_INSTR_SAT8
Definition: SpecialPixel.h:110
@ Msb
Definition: Endian.h:45
IO Handler for Isis Cubes.
Definition: Cube.h:167
void SetPixelType(const Isis::PixelType type)
Sets the pixel type of the input file.
Definition: ProcessImport.cpp:264
Isis exception class.
Definition: IException.h:91
void SaveFileTrailer()
This method marks the file trailer to be saved.
Definition: ProcessImport.cpp:559
int DataTrailerBytes() const
This method returns the number of data trailer bytes.
Definition: ProcessImport.cpp:713
const unsigned int VALID_MINUI4
Definition: SpecialPixel.h:171
const unsigned short VALID_MAXU2
Definition: SpecialPixel.h:168
void SetOrganization(const ProcessImport::Interleave org)
Sets the organization of the input cube.
Definition: ProcessImport.cpp:907
virtual void StartProcess()
Process the input file and write it to the output.
Definition: ProcessImport.cpp:1302
const unsigned int VALID_MAXUI4
Definition: SpecialPixel.h:177
Isis::PixelType PixelType()
Returns the pixel type.
Definition: ProcessImport.h:197
Interleave
This enum includes how the document should be read: by BSQ, BIL, BIP, JP2, or InterleaveUndefined.
Definition: ProcessImport.h:278
JPEG2000 decoder class.
Definition: JP2Decoder.h:83
virtual Isis::Cube * SetOutputCube(const QString ¶meter)
Allocates a user-specified output cube whose size matches the first input cube.
Definition: Process.cpp:160
void SetNull(const double null_min, const double null_max)
Sets the range that will be considered Isis::Null.
Definition: ProcessImport.cpp:1014
int FileHeaderBytes() const
This method returns the number of file header bytes.
Definition: ProcessImport.cpp:688
int Int(void *buf)
Swaps a 4 byte integer value.
Definition: EndianSwapper.cpp:108
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:27
@ UnsignedInteger
Definition: PixelType.h:33
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Namespace for the standard library.
int Lines()
Returns the number of lines.
Definition: ProcessImport.h:217
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition: SpecialPixel.h:223
Command Line and Xml loader, validation, and access.
Definition: UserInterface.h:140
void SetMultiplier(const double mult)
Sets the core multiplier of the input cube.
Definition: ProcessImport.cpp:959
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:2123
const float VALID_MIN4
Definition: SpecialPixel.h:130
QString PixelTypeName(Isis::PixelType pixelType)
Returns string name of PixelType enumeration entered as input parameter.
Definition: PixelType.h:66
void SaveFileHeader()
This method marks the file header to be saved.
Definition: ProcessImport.cpp:532
int DataHeaderBytes() const
This method returns the number of data header bytes.
Definition: ProcessImport.cpp:705
@ SignedInteger
Definition: PixelType.h:34
Byte swapper.
Definition: EndianSwapper.h:38
void SetByteOrder(const Isis::ByteOrder order)
Sets the byte order of the input file.
Definition: ProcessImport.cpp:324
double TestPixel(const double pixel)
Tests the pixel.
Definition: ProcessImport.cpp:1167
Isis::Progress * p_progress
Pointer to a Progress object.
Definition: Process.h:145
const unsigned short VALID_MINU2
Definition: SpecialPixel.h:162
const unsigned char VALID_MAX1
Definition: SpecialPixel.h:187
@ VAX_REAL
Definition: ProcessImport.h:158
@ BSQ
Band Sequential Format (i.e.
Definition: ProcessImport.h:281
void ProcessBil(void funct(Isis::Buffer &out)=NULL)
Function to process files stored as Band Interleaved by Line.
Definition: ProcessImport.cpp:1626
ProcessImport()
Constructs an Import object.
Definition: ProcessImport.cpp:37
QString ByteOrderName(Isis::ByteOrder byteOrder)
Definition: Endian.h:48
void SetFileHeaderBytes(const int bytes)
This method sets the number of bytes in the header of a file.
Definition: ProcessImport.cpp:349
@ VAX_LRS4
Definition: ProcessImport.h:166
VAXSpecialPixel
Definition: ProcessImport.h:163
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:1098
const double LOW_REPR_SAT8
Definition: SpecialPixel.h:98
@ JP2
Jpeg 2000 Format (always band sequential).
Definition: ProcessImport.h:280
@ Lsb
Definition: Endian.h:44
int Samples()
Returns the number of samples.
Definition: ProcessImport.h:208
const double LOW_INSTR_SAT8
Definition: SpecialPixel.h:104
@ UnsignedByte
Definition: PixelType.h:29
char * FileTrailer()
This method returns a pointer to the file trailer.
Definition: ProcessImport.cpp:779
bool propagatePixelType() const
Return true if the pixel type is to be propagated from an input cube.
Definition: CubeAttribute.cpp:165
double Double(void *buf)
Swaps a double precision value.
Definition: EndianSwapper.cpp:55
void setMinimum(double min)
Set the output cube attribute minimum.
Definition: CubeAttribute.cpp:324
void SetLRS(const double lrs_min, const double lrs_max)
Sets the range that will be considered Isis::Null.
Definition: ProcessImport.cpp:1031
void SetDataTrailerBytes(const int bytes)
This method sets the number of bytes in the trailer of each datablock of a file.
Definition: ProcessImport.cpp:443
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
@ BIP
Band Interleaved By Pixel Format (i.e.
Definition: ProcessImport.h:288
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
void SetHRS(const double hrs_min, const double hrs_max)
Sets the range that will be considered Isis::Null.
Definition: ProcessImport.cpp:1065
char * FileHeader()
This method returns a pointer to the file header.
Definition: ProcessImport.cpp:753
@ Real
Definition: PixelType.h:35
@ None
Definition: PixelType.h:28