|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef ImageExporter_h
2 #define ImageExporter_h
22 class CubeAttributeOutput;
23 class ExportDescription;
62 QString compression=
"none");
128 virtual void writeRgb(vector<Buffer *> &in)
const = 0;
139 Cube *addChannel(
int i);
140 void createWorldFile(
FileName outputName);
153 QString m_worldExtension;
166 double m_outputPixelMinimum;
170 double m_outputPixelMaximum;
ProcessExport & process() const
Get a reference to the process object, useful for subclasses to access and manipulate the process.
Definition: ImageExporter.cpp:297
void setOutputPixelRange(double outputPixelMinimum, double outputPixelMaximum)
Set the DN floor and ceiling for the exported image.
Definition: ImageExporter.cpp:181
double inputMinimum(int channel) const
Returns the input minimum for the given channel.
Definition: ImageExporter.cpp:151
Exports cubes into JPEG 2000 images.
Definition: JP2Exporter.h:34
Exports cubes into one of several formats with Qt facilities.
Definition: QtExporter.h:47
File name manipulation and expansion.
Definition: FileName.h:100
void SetInputRange()
Set input pixel range from user.
Definition: ProcessExport.cpp:359
Describes how a cube as a single color channel to be exported.
Definition: ExportDescription.h:58
Describes how a series of cubes should be exported.
Definition: ExportDescription.h:43
ExportDescription & exportDescription() const
Gets the description for the output image.
Definition: ImageExporter.cpp:226
virtual void setGrayscale(ExportDescription &desc)=0
Pure virtual method for setting up an export to a grayscale image.
void CreateWorldFile(const QString &worldFile)
Create a standard world file for the input cube.
Definition: ProcessExport.cpp:1255
void setFormat(ExportFormat format)
Sets the storage order of the output file.
Definition: ProcessExport.h:170
virtual void writeGrayscale(vector< Buffer * > &in) const =0
Pure virtual method for writing a line of grayscale data to the output image.
virtual void setRgb(ExportDescription &desc)=0
Pure virtual method for setting up an export to an RGB image.
FileName filename() const
Returns a copy of the filename associated with this channel.
Definition: ExportDescription.cpp:286
CubeAttributeInput attributes() const
Returns a copy of the input attributes associated with this channel.
Definition: ExportDescription.cpp:296
void SetOutputRange(const double minimum, const double maximum)
Set output pixel range in Buffer.
Definition: ProcessExport.cpp:454
virtual void EndProcess()
End the processing sequence and cleans up by closing cubes, freeing memory, etc.
Definition: Process.cpp:455
void SetOutputType(Isis::PixelType pixelIn)
Set output pixel bit type in Buffer.
Definition: ProcessExport.cpp:608
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.
Definition: ImageExporter.cpp:246
virtual void write(FileName outputName, int quality=100, QString compression="none")
Export the Isis cube channels to the given standard image.
Definition: ImageExporter.cpp:101
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
int lineCount() const
Definition: Cube.cpp:1734
FileName addExtension(const QString &extension) const
Adds a new extension to the file name.
Definition: FileName.cpp:225
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
virtual ~ImageExporter()
Destruct the exporter.
Definition: ImageExporter.cpp:66
static ImageExporter * fromFormat(QString format)
A static (factory) method for constructing an ImageExporter instance from an output format.
Definition: ImageExporter.cpp:390
double inputMaximum(int channel) const
Returns the input maximum for the given channel.
Definition: ImageExporter.cpp:164
double inputMinimum() const
Returns the input minimum for this channel.
Definition: ExportDescription.cpp:323
bool hasCustomRange() const
Returns true if the user of this instance has set a custom input range for this channel.
Definition: ExportDescription.cpp:345
virtual Isis::Cube * SetInputCube(const QString ¶meter, const int requirements=0)
Opens an input cube specified by the user and verifies requirements are met.
Definition: Process.cpp:136
void operator()(vector< Buffer * > &in) const
The method for writing a line of input image data (with potentially several bands representing color ...
Definition: ImageExporter.cpp:84
virtual void writeRgb(vector< Buffer * > &in) const =0
Pure virtual method for writing a line of RGB data to the output image.
int sampleCount() const
Definition: Cube.cpp:1807
@ BIL
Band interleaved by line.
Definition: ProcessExport.h:118
IO Handler for Isis Cubes.
Definition: Cube.h:167
virtual int outputPixelValue(double dn) const
Return the output clamped integer pixel value from the input double-precision DN.
Definition: ImageExporter.cpp:325
QString extension() const
Gets the extension for the output image.
Definition: ImageExporter.cpp:208
Isis exception class.
Definition: IException.h:91
Exports cubes into TIFF images.
Definition: TiffExporter.h:41
ImageExporter()
Construct the exporter.
Definition: ImageExporter.cpp:28
Export Isis cubes into standard formats.
Definition: ImageExporter.h:54
FileName removeExtension() const
Removes all extensions in the file name.
Definition: FileName.cpp:246
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:27
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Namespace for the standard library.
int lines() const
Number of lines (rows) in the output image.
Definition: ImageExporter.cpp:128
double inputMaximum() const
Returns the input maximum for this channel.
Definition: ExportDescription.cpp:334
void ProcessCubes(const Functor &functor)
Definition: ProcessExport.h:175
int bands() const
Number of bands (channels) in the output image.
Definition: ImageExporter.cpp:138
static bool canWriteFormat(QString format)
Returns true if the format is "jp2".
Definition: JP2Exporter.cpp:126
PixelType pixelType() const
Returns the pixel type.
Definition: ImageExporter.cpp:307
void setExportDescription(ExportDescription &desc)
Sets the description for the output image.
Definition: ImageExporter.cpp:217
int samples() const
Number of samples (columns) in the output image.
Definition: ImageExporter.cpp:118
static bool canWriteFormat(QString format)
Returns true if the format is supported by QImageWriter.
Definition: QtExporter.cpp:246
void(ImageExporter::* WriteChannels)(vector< Buffer * > &in) const
Friendly alias for a method used to write a particular color channel.
Definition: ImageExporter.h:98
bool HasInputRange() const
Definition: ProcessExport.cpp:412
static bool canWriteFormat(QString format)
Returns true if the format is "tiff".
Definition: TiffExporter.cpp:169
void setExtension(QString extension)
Sets the extension for the output image and generates the extension for the world file from it.
Definition: ImageExporter.cpp:193
void SetOutputNull(const double value)
Set output special pixel value for NULL.
Definition: ProcessExport.cpp:476
virtual void initialize(ExportDescription &desc)=0
Generic initialization with the export description.
Definition: ImageExporter.cpp:58
Process class for exporting cubes.
Definition: ProcessExport.h:111
const int OneBand
Definition: Process.h:22
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
virtual void setRgba(ExportDescription &desc)=0
Pure virtual method for setting up an export to an RGBA image.
@ None
Definition: PixelType.h:28