Isis 3 Programmer Reference
JP2Importer.h
1 #ifndef JP2Importer_h
2 #define JP2Importer_h
3 
9 /* SPDX-License-Identifier: CC0-1.0 */
10 
11 #include "ImageImporter.h"
12 #include "PixelType.h"
13 
14 namespace Isis {
15  class JP2Decoder;
16 
30  class JP2Importer : public ImageImporter {
31  public:
32  JP2Importer(FileName inputName);
33  virtual ~JP2Importer();
34 
35  virtual bool isGrayscale() const;
36  virtual bool isRgb() const;
37  virtual bool isArgb() const;
38 
39  protected:
40  virtual void updateRawBuffer(int line, int band) const;
41  virtual int getPixel(int s, int l) const;
42 
43  virtual int getGray(int pixel) const;
44  virtual int getRed(int pixel) const;
45  virtual int getGreen(int pixel) const;
46  virtual int getBlue(int pixel) const;
47  virtual int getAlpha(int pixel) const;
48 
49  int getFromBuffer(int s, int b) const;
50 
51  private:
54 
56  char **m_buffer;
57 
60  };
61 };
62 
63 
64 #endif
Isis::JP2Importer::getGreen
virtual int getGreen(int pixel) const
Retrieves the green component of the given pixel from the second band of the input buffer.
Definition: JP2Importer.cpp:184
Isis::JP2Importer::isArgb
virtual bool isArgb() const
Tests to see if the input image is quadruple-banded, implying RGBA.
Definition: JP2Importer.cpp:103
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
Isis::JP2Importer::getAlpha
virtual int getAlpha(int pixel) const
Retrieves the alpha component of the given pixel from the fourth band of the input buffer.
Definition: JP2Importer.cpp:210
Isis::JP2Importer::m_buffer
char ** m_buffer
Buffer that stores a line of JPEG 2000 data and all its color bands.
Definition: JP2Importer.h:56
Isis::JP2Importer
Imports JPEG 2000 images as Isis cubes.
Definition: JP2Importer.h:30
Isis::ImageImporter
Imports images with standard formats into Isis as cubes.
Definition: ImageImporter.h:39
Isis::JP2Importer::JP2Importer
JP2Importer(FileName inputName)
Construct the importer.
Definition: JP2Importer.cpp:23
Isis::JP2Importer::getRed
virtual int getRed(int pixel) const
Retrieves the red component of the given pixel from the first band of the input buffer.
Definition: JP2Importer.cpp:171
Isis::JP2Importer::m_decoder
JP2Decoder * m_decoder
Takes a raw stream of JPEG 2000 data and reads it into a buffer.
Definition: JP2Importer.h:53
Isis::JP2Importer::getPixel
virtual int getPixel(int s, int l) const
Returns a representation of a pixel for the input format that can then be broken down into specific g...
Definition: JP2Importer.cpp:144
Isis::JP2Importer::getGray
virtual int getGray(int pixel) const
Retrieves the gray component of the given pixel.
Definition: JP2Importer.cpp:158
Isis::JP2Importer::getBlue
virtual int getBlue(int pixel) const
Retrieves the blue component of the given pixel from the third band of the input buffer.
Definition: JP2Importer.cpp:197
Isis::JP2Decoder
JPEG2000 decoder class.
Definition: JP2Decoder.h:83
Isis::PixelType
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:27
Isis::JP2Importer::m_pixelType
Isis::PixelType m_pixelType
Pixel type of the input image needed for reading data into the buffer.
Definition: JP2Importer.h:59
Isis::JP2Importer::~JP2Importer
virtual ~JP2Importer()
Destruct the importer.
Definition: JP2Importer.cpp:68
Isis::JP2Importer::updateRawBuffer
virtual void updateRawBuffer(int line, int band) const
Updates the buffer used to store chunks of the input data at a time.
Definition: JP2Importer.cpp:116
Isis::JP2Importer::isGrayscale
virtual bool isGrayscale() const
Tests to see if the input image is single-banded, implying grayscale (no RGB/A).
Definition: JP2Importer.cpp:83
Isis::JP2Importer::getFromBuffer
int getFromBuffer(int s, int b) const
Retrieves the pixel value from the input buffer corresponding to the given sample and band (the buffe...
Definition: JP2Importer.cpp:225
Isis::JP2Importer::isRgb
virtual bool isRgb() const
Tests to see if the input image is triple-banded, implying RGB (no alpha).
Definition: JP2Importer.cpp:93
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16