|
Isis 3 Programmer Reference
|
1 #ifndef ImageExporter_h
2 #define ImageExporter_h
15 #include "PixelType.h"
22 class CubeAttributeOutput;
23 class ExportDescription;
62 QString compression=
"none");
128 virtual void writeRgb(vector<Buffer *> &in)
const = 0;
ProcessExport & process() const
Get a reference to the process object, useful for subclasses to access and manipulate the process.
void setOutputPixelRange(double outputPixelMinimum, double outputPixelMaximum)
Set the DN floor and ceiling for the exported image.
double inputMinimum(int channel) const
Returns the input minimum for the given channel.
File name manipulation and expansion.
int m_bands
Number of bands (channels) in the output image.
Cube * addChannel(int i)
Add a channel of input data to the process from the export description at the given index.
WriteChannels m_writeMethod
Method pointer to one of the pure virtual write methods.
Describes how a series of cubes should be exported.
ExportDescription & exportDescription() const
Gets the description for the output image.
virtual void setGrayscale(ExportDescription &desc)=0
Pure virtual method for setting up an export to a grayscale image.
double m_outputPixelMaximum
! The absolute maximum value for the output pixels.
virtual void writeGrayscale(vector< Buffer * > &in) const =0
Pure virtual method for writing a line of grayscale data to the output image.
int m_lines
Number of lines (rows) in the output image.
virtual void setRgb(ExportDescription &desc)=0
Pure virtual method for setting up an export to an RGB image.
int m_samples
Number of samples (columns) in the output image.
void createWorldFile(FileName outputName)
Creates a world file is the input has a map projection.
virtual void writeRgba(vector< Buffer * > &in) const =0
Pure virtual method for writing a line of RGBA data to the output image.
Cube * initializeProcess()
Sets up the export process with the parameters described within the given description.
QString m_extension
Extension to append to the output image if not already provided.
virtual void write(FileName outputName, int quality=100, QString compression="none")
Export the Isis cube channels to the given standard image.
ProcessExport * m_process
The object that feeds lines to this instance and handles stretching.
virtual ~ImageExporter()
Destruct the exporter.
static ImageExporter * fromFormat(QString format)
A static (factory) method for constructing an ImageExporter instance from an output format.
double inputMaximum(int channel) const
Returns the input maximum for the given channel.
void operator()(vector< Buffer * > &in) const
The method for writing a line of input image data (with potentially several bands representing color ...
virtual void writeRgb(vector< Buffer * > &in) const =0
Pure virtual method for writing a line of RGB data to the output image.
IO Handler for Isis Cubes.
virtual int outputPixelValue(double dn) const
Return the output clamped integer pixel value from the input double-precision DN.
QString extension() const
Gets the extension for the output image.
ImageExporter()
Construct the exporter.
Export Isis cubes into standard formats.
PixelType
Enumerations for Isis Pixel Types.
int lines() const
Number of lines (rows) in the output image.
int bands() const
Number of bands (channels) in the output image.
double m_outputPixelMinimum
! The absolute minimum value for the output pixels.
ExportDescription * m_exportDescription
! The description for the export.
PixelType pixelType() const
Returns the pixel type.
void setExportDescription(ExportDescription &desc)
Sets the description for the output image.
int samples() const
Number of samples (columns) in the output image.
QString m_worldExtension
Extension to append to the output world file.
void(ImageExporter::* WriteChannels)(vector< Buffer * > &in) const
Friendly alias for a method used to write a particular color channel.
void setExtension(QString extension)
Sets the extension for the output image and generates the extension for the world file from it.
virtual void initialize(ExportDescription &desc)=0
Generic initialization with the export description.
Process class for exporting cubes.
This is free and unencumbered software released into the public domain.
virtual void setRgba(ExportDescription &desc)=0
Pure virtual method for setting up an export to an RGBA image.