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
14namespace 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
File name manipulation and expansion.
Definition FileName.h:100
Imports images with standard formats into Isis as cubes.
JPEG2000 decoder class.
Definition JP2Decoder.h:83
Imports JPEG 2000 images as Isis cubes.
Definition JP2Importer.h:30
virtual int getGreen(int pixel) const
Retrieves the green component of the given pixel from the second band of the input buffer.
virtual bool isRgb() const
Tests to see if the input image is triple-banded, implying RGB (no alpha).
virtual void updateRawBuffer(int line, int band) const
Updates the buffer used to store chunks of the input data at a time.
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...
virtual ~JP2Importer()
Destruct the importer.
virtual int getGray(int pixel) const
Retrieves the gray component of the given pixel.
JP2Importer(FileName inputName)
Construct the importer.
virtual int getRed(int pixel) const
Retrieves the red component of the given pixel from the first band of the input buffer.
char ** m_buffer
Buffer that stores a line of JPEG 2000 data and all its color bands.
Definition JP2Importer.h:56
virtual bool isArgb() const
Tests to see if the input image is quadruple-banded, implying RGBA.
Isis::PixelType m_pixelType
Pixel type of the input image needed for reading data into the buffer.
Definition JP2Importer.h:59
virtual int getBlue(int pixel) const
Retrieves the blue component of the given pixel from the third band of the input buffer.
JP2Decoder * m_decoder
Takes a raw stream of JPEG 2000 data and reads it into a buffer.
Definition JP2Importer.h:53
int getFromBuffer(int s, int b) const
Retrieves the pixel value from the input buffer corresponding to the given sample and band (the buffe...
virtual int getAlpha(int pixel) const
Retrieves the alpha component of the given pixel from the fourth band of the input buffer.
virtual bool isGrayscale() const
Tests to see if the input image is single-banded, implying grayscale (no RGB/A).
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
PixelType
Enumerations for Isis Pixel Types.
Definition PixelType.h:27