1 #ifndef ImageImporter_h 2 #define ImageImporter_h 30 class CubeAttributeOutput;
100 virtual bool isRgb()
const = 0;
107 virtual bool isArgb()
const = 0;
143 virtual int getPixel(
int s,
int l)
const = 0;
153 virtual int getGray(
int pixel)
const = 0;
163 virtual int getRed(
int pixel)
const = 0;
173 virtual int getGreen(
int pixel)
const = 0;
183 virtual int getBlue(
int pixel)
const = 0;
193 virtual int getAlpha(
int pixel)
const = 0;
Buffer for reading and writing cube data.
void operator()(Buffer &out) const
The method for processing the output cube in place, called for each line of the output image...
virtual int convertRgbToGray(int pixel) const
Convert the current pixel, taken from an RGB/A image, and blend its RGB components into a single gray...
void setHrsRange(double min, double max)
Set the range of DN values within which a pixel from the input image will be set to HRS in the output...
double m_lrsMax
The upper bound of the range within which input DNs will be made LRS.
virtual bool isGrayscale() const =0
Pure virtual method for returning true if the image is grayscale.
virtual int getGreen(int pixel) const =0
Pure virtual method for retrieving the green component of the given pixel.
virtual GetChannelMethod getBandChannel(int band) const
Retrieve the method responsible for fetching the color channel from the input image corresponding to ...
File name manipulation and expansion.
int samples() const
The sample dimension (width) of the output image.
FileName filename() const
The filename of the input image this instance was constructed with.
ImageImporter(FileName inputName)
Construct the importer.
double testSpecial(double pixel) const
Tests a pixel against the Null, HRS, and LRS ranges defined by the importer's handler.
void setLrsRange(double min, double max)
Set the range of DN values within which a pixel from the input image will be set to LRS in the output...
int(ImageImporter::* GetChannelMethod)(int pixel) const
Friendly alias for a method used to get a particular color channel.
void setDefaultBands()
Set the number of bands to be created for the output cube based on the number of color channels in th...
virtual bool isRgb() const =0
Pure virtual method for returning true if the image is RGB (no alpha).
virtual int getAlpha(int pixel) const =0
Pure virtual method for retrieving the alpha component of the given pixel.
int m_bands
The number of bands to be written to the output.
static ImageImporter * fromFileName(FileName inputName)
A static (factory) method for constructing an ImageImporter instance from an input filename...
void setNullRange(double min, double max)
Set the range of DN values within which a pixel from the input image will be set to Null in the outpu...
double m_nullMin
The lower bound of the range within which input DNs will be made Null.
int lines() const
The line dimension (height) of the output image.
double m_hrsMax
The upper bound of the range within which input DNs will be made HRS.
Cube * m_outCube
The owned handle on the output cube to be imported to.
int m_samples
The number of samples to be written to the output.
Contains multiple PvlContainers.
void setSamples(int s)
Set the sample dimension (width) of the output image.
Manipulate and parse attributes of output cube filenames.
virtual void updateRawBuffer(int line, int band) const =0
Pure virtual method that updates the buffer used to store chunks of the input data at a time...
int m_lines
The number of lines to be written to the output.
void setLines(int l)
Set the line dimension (height) of the output image.
void setBands(int b)
Set the band dimension (depth) of the output image.
virtual ~ImageImporter()
Destruct the importer.
virtual int getPixel(int s, int l) const =0
Pure virtual method that returns a representation of a pixel for the input format that can then be br...
Cube * createOutput(FileName outputName, CubeAttributeOutput &att)
Create the output cube from the given filename and attributes.
double m_nullMax
The upper bound of the range within which input DNs will be made Null.
double m_lrsMin
The lower bound of the range within which input DNs will be made LRS.
virtual bool isArgb() const =0
Pure virtual method for returning true if the image is RGBA.
Namespace for ISIS/Bullet specific routines.
FileName * m_inputName
The filename of the input image.
Imports images with standard formats into Isis as cubes.
virtual int getRed(int pixel) const =0
Pure virtual method for retrieving the red component of the given pixel.
virtual int getGray(int pixel) const =0
Pure virtual method for retrieving the gray component of the given pixel.
double m_hrsMin
The lower bound of the range within which input DNs will be made HRS.
int bands() const
The band dimension (depth) of the output image.
virtual PvlGroup convertProjection() const
Pure virtual method for converting projection information in the file being imported to an ISIS Mappi...
virtual int getBlue(int pixel) const =0
Pure virtual method for retrieving the blue component of the given pixel.
IO Handler for Isis Cubes.