Isis 3 Programmer Reference
|
JPEG2000 decoder class. More...
#include <JP2Decoder.h>
Public Member Functions | |
JP2Decoder (const QString &jp2file) | |
Constructs a JPEG2000 decoder object. More... | |
~JP2Decoder () | |
JP2Decoder destructor. More... | |
JP2Error * | kakadu_error () const |
void | OpenFile () |
Open the JPEG2000 file. More... | |
int | GetSampleDimension () const |
int | GetLineDimension () const |
int | GetBandDimension () const |
int | GetPixelBytes () const |
bool | GetSignedData () const |
void | Read (unsigned char **inbuf) |
Read data from JP2 file containing 8-bit data. More... | |
void | Read (short int **inbuf) |
Read data from JP2 file containing 16-bit data. More... | |
Static Public Member Functions | |
static bool | IsJP2 (QString filename) |
Private Member Functions | |
void | SetResolutionAndRegion () |
Sets resolution of data that will be decompressed. Also determines the image dimensions at the requested resolution. More... | |
Private Attributes | |
QString | p_jp2File |
Input file name. More... | |
unsigned int | p_numSamples |
Number of samples in JP2 file. More... | |
unsigned int | p_numLines |
Number of lines in JP2 file. More... | |
unsigned int | p_numBands |
Number of bands in JP2 file. More... | |
unsigned int | p_pixelBytes |
Number of bytes per pixel in JP2 file. More... | |
bool | p_signedData |
Set to true if data in JP2 file is signed. More... | |
JP2Error * | Kakadu_Error |
JP2 Error handling facility. More... | |
JPEG2000 decoder class.
This class is used to decode a JPEG2000 image.
Here is an example of how to use JP2Decoder
If you would like to see JP2Decoder being used in implementation, see std2isis.cpp or for a class that implements JP2Decoder, see ProcessImport
2009-12-18 Janet Barrett - Original version.
2012-04-06 Kris Becker - Fixed condition compilation where support for JP2K is disabled
2016-08-28 Kelvin Rodriguez - Moved member variables to be placed properly within the if ENABLEJP2K preprocessor block in order to stop unused member variable warnings in clang. Part of porting to OS X 10.11.
2017-08-21 Tyler Wilson, Ian Humphrey, Summer Stapleton - Added support for new kakadu libraries. References #4809.
2017-09-15 Ian Humphrey - Modified destructor to call finish() on the decompressor before destroying the kdu_codestream. Caused segfault on OSX 10.11 for the JP2Importer test, and isis2std and std2isis jpeg2000 tests. References #4809.
Definition at line 98 of file JP2Decoder.h.
Isis::JP2Decoder::JP2Decoder | ( | const QString & | jp2file | ) |
Constructs a JPEG2000 decoder object.
jp2file | The name of the JP2 file that needs to be decoded. |
Definition at line 48 of file JP2Decoder.cpp.
References _FILEINFO_.
Isis::JP2Decoder::~JP2Decoder | ( | ) |
JP2Decoder destructor.
Definition at line 212 of file JP2Decoder.cpp.
void Isis::JP2Decoder::OpenFile | ( | ) |
Open the JPEG2000 file.
Definition at line 68 of file JP2Decoder.cpp.
References _FILEINFO_.
Referenced by Isis::JP2Importer::JP2Importer(), and Isis::ProcessImport::ProcessJp2().
void Isis::JP2Decoder::Read | ( | unsigned char ** | inbuf | ) |
Read data from JP2 file containing 8-bit data.
inbuf | The array of pointers to byte buffers that will be used to read in the image data. One byte buffer is required for each band in the image. Kakadu reads in a BIL manner. It is up to the calling routine to do the casting necessary to convert the byte data to the actual pixel type (UnsignedByte, UnsignedWord, SignedWord). |
Definition at line 184 of file JP2Decoder.cpp.
Referenced by Isis::ProcessImport::ProcessJp2(), and Isis::JP2Importer::updateRawBuffer().
void Isis::JP2Decoder::Read | ( | short int ** | inbuf | ) |
Read data from JP2 file containing 16-bit data.
inbuf | The array of pointers to byte buffers that will be used to read in the image data. One byte buffer is required for each band in the image. Kakadu reads in a BIL manner. It is up to the calling routine to do the casting necessary to convert the byte data to the actual pixel type (UnsignedByte, UnsignedWord, SignedWord). |
Definition at line 201 of file JP2Decoder.cpp.
|
private |
Sets resolution of data that will be decompressed. Also determines the image dimensions at the requested resolution.
Set resolution level of the JPEG2000 file.
This class is currently set up to only read a file at full resolution.
Definition at line 161 of file JP2Decoder.cpp.
|
private |
JP2 Error handling facility.
Definition at line 177 of file JP2Decoder.h.
|
private |
Input file name.
Definition at line 145 of file JP2Decoder.h.
|
private |
Number of bands in JP2 file.
Definition at line 148 of file JP2Decoder.h.
|
private |
Number of lines in JP2 file.
Definition at line 147 of file JP2Decoder.h.
|
private |
Number of samples in JP2 file.
Definition at line 146 of file JP2Decoder.h.
|
private |
Number of bytes per pixel in JP2 file.
Definition at line 149 of file JP2Decoder.h.
|
private |
Set to true if data in JP2 file is signed.
Definition at line 150 of file JP2Decoder.h.