Isis Developer Reference
JP2Importer.h
Go to the documentation of this file.
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:
53 JP2Decoder *m_decoder;
54
56 char **m_buffer;
57
59 Isis::PixelType m_pixelType;
60 };
61};
62
63
64#endif
File name manipulation and expansion.
Definition FileName.h:100
Imports images with standard formats into Isis as cubes.
Definition ImageImporter.h:39
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.
Definition JP2Importer.cpp:184
virtual bool isRgb() const
Tests to see if the input image is triple-banded, implying RGB (no alpha).
Definition JP2Importer.cpp:93
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
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
virtual ~JP2Importer()
Destruct the importer.
Definition JP2Importer.cpp:68
virtual int getGray(int pixel) const
Retrieves the gray component of the given pixel.
Definition JP2Importer.cpp:158
JP2Importer(FileName inputName)
Construct the importer.
Definition JP2Importer.cpp:23
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
virtual bool isArgb() const
Tests to see if the input image is quadruple-banded, implying RGBA.
Definition JP2Importer.cpp:103
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
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
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
virtual bool isGrayscale() const
Tests to see if the input image is single-banded, implying grayscale (no RGB/A).
Definition JP2Importer.cpp:83
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