Isis Developer Reference
Isis::JP2Encoder Class Reference

JPEG2000 encoder class. More...

#include <JP2Encoder.h>

Collaboration diagram for Isis::JP2Encoder:
Collaboration graph

Public Member Functions

 JP2Encoder (const QString &jp2file, const unsigned int nsamps, const unsigned int nlines, const unsigned int nbands, const Isis::PixelType type)
 Constructs a JPEG2000 encoder object.
 
 ~JP2Encoder ()
 JP2Encoder destructor.
 
JP2Errorkakadu_error () const
 
void OpenFile ()
 Open the JPEG2000 file and initialize it.
 
void Write (unsigned char **inbuf)
 Write 8-bit data to JP2 file.
 
void Write (short int **inbuf)
 Write 16-bit data to JP2 file.
 

Detailed Description

JPEG2000 encoder class.

This class is used to convert image data into JPEG2000 format.

Here is an example of how to use JP2Encoder

char **jp2buf;
Cube *icube;
JP2Encoder *JP2_encoder;
icube = p.SetInputCube("FROM",Isis::OneBand);
p.SetInputRange();
p.setFormat(ProcessExport::BIL);
jp2buf = new char* [1];
jp2buf[0] = new char[icube->Samples()];
p.SetOutputType(Isis::UnsignedByte);
p.SetOutputRange(1.0,255.0);
p.SetOutputNull(0.0);
JP2_encoder = new JP2Encoder(ui.GetFileName("TO"),icube->Samples(),
icube->Lines(),icube->Bands(),Isis::UnsignedByte);
JP2_encoder->OpenFile();
p.StartProcess(toJP2);
p.EndProcess();
delete JP2_encoder;
IO Handler for Isis Cubes.
Definition Cube.h:168
JPEG2000 encoder class.
Definition JP2Encoder.h:67
JP2Encoder(const QString &jp2file, const unsigned int nsamps, const unsigned int nlines, const unsigned int nbands, const Isis::PixelType type)
Constructs a JPEG2000 encoder object.
Definition JP2Encoder.cpp:36
Process class for exporting cubes.
Definition ProcessExport.h:111
@ BIL
Band interleaved by line.
Definition ProcessExport.h:118
const int OneBand
Definition Process.h:22
@ UnsignedByte
Definition PixelType.h:29

If you would like to see JP2Encoder being used in implementation, see isis2std.cpp

Author
2009-01-11 Janet Barrett

Constructor & Destructor Documentation

◆ JP2Encoder()

Isis::JP2Encoder::JP2Encoder ( const QString & jp2file,
const unsigned int nsamps,
const unsigned int nlines,
const unsigned int nbands,
const Isis::PixelType type )

Constructs a JPEG2000 encoder object.

Parameters
jp2fileName of file where the encoded JP2 data will be stored.
nsampsSample dimension of image that will be encoded.
nlinesLine dimension of image that will be encoded.
nbandsBand dimension of image that will be encoded.
typePixel type of data that will be encoded.

References _FILEINFO_, Isis::IException::Programmer, Isis::SignedWord, Isis::UnsignedByte, and Isis::UnsignedWord.

◆ ~JP2Encoder()

Isis::JP2Encoder::~JP2Encoder ( )

JP2Encoder destructor.

Member Function Documentation

◆ kakadu_error()

JP2Error * Isis::JP2Encoder::kakadu_error ( ) const
inline

◆ OpenFile()

void Isis::JP2Encoder::OpenFile ( )

Open the JPEG2000 file and initialize it.

References INCREMENTAL_FLUSH_BYTES, MAX_STRIPE_HEIGHT, and MIN_STRIPE_HEIGHT.

Referenced by Isis::JP2Exporter::write().

◆ Write() [1/2]

void Isis::JP2Encoder::Write ( short int ** inbuf)

Write 16-bit data to JP2 file.

Parameters
inbufThe array of pointers to byte buffers that will be used to write out the image data. One byte buffer is required for each band in the image. Kakadu writes in a BIL manner.

◆ Write() [2/2]

void Isis::JP2Encoder::Write ( unsigned char ** inbuf)

Write 8-bit data to JP2 file.

Parameters
inbufThe array of pointers to byte buffers that will be used to write out the image data. One byte buffer is required for each band in the image. Kakadu writes in a BIL manner.

Referenced by Isis::JP2Exporter::writeLine().


The documentation for this class was generated from the following files: