Isis Developer Reference
QtExporter.h
Go to the documentation of this file.
1 #ifndef QtExporter_h
2 #define QtExporter_h
3 
9 /* SPDX-License-Identifier: CC0-1.0 */
10 
11 #include "ImageExporter.h"
12 
13 #include "Constants.h"
14 
15 class QImage;
16 
17 namespace Isis {
47  class QtExporter : public ImageExporter {
48  public:
49  QtExporter(QString format);
50  virtual ~QtExporter();
51 
52  virtual void setGrayscale(ExportDescription &desc);
53  virtual void setRgb(ExportDescription &desc);
54  virtual void setRgba(ExportDescription &desc);
55 
56  virtual void write(FileName outputName, int quality=100,
57  QString compression="none");
58 
59  static bool canWriteFormat(QString format);
60 
61  protected:
62  virtual void writeGrayscale(vector<Buffer *> &in) const;
63  virtual void writeRgb(vector<Buffer *> &in) const;
64  virtual void writeRgba(vector<Buffer *> &in) const;
65 
67 
68  private:
69  void initialize(ExportDescription &desc);
70 
72  QImage *m_qimage;
73 
75  QString m_format;
76  };
77 };
78 
79 
80 #endif
Isis::QtExporter::setGrayscale
virtual void setGrayscale(ExportDescription &desc)
Set the input with the description generically, check the data size for a single-band image with the ...
Definition: QtExporter.cpp:77
Isis::QtExporter::~QtExporter
virtual ~QtExporter()
Destruct the exporter.
Definition: QtExporter.cpp:48
FileName.h
Isis::QtExporter::QtExporter
QtExporter(QString format)
Construct the Qt exporter.
Definition: QtExporter.cpp:27
Isis::Buffer::SampleDimension
int SampleDimension() const
Returns the number of samples in the shape buffer.
Definition: Buffer.h:70
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::QtExporter
Exports cubes into one of several formats with Qt facilities.
Definition: QtExporter.h:47
Isis::QtExporter::write
virtual void write(FileName outputName, int quality=100, QString compression="none")
Let the base ImageExporter handle the generic black-box writing routine, then save the image to disk.
Definition: QtExporter.cpp:199
Isis::QtExporter::setRgb
virtual void setRgb(ExportDescription &desc)
Set the input with the description generically, check the data size for a three-band image with the e...
Definition: QtExporter.cpp:99
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
ImageExporter.h
Isis::IException::Unknown
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
Isis::ExportDescription
Describes how a series of cubes should be exported.
Definition: ExportDescription.h:43
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
IString.h
Isis::QtExporter::checkDataSize
void checkDataSize(BigInt samples, BigInt lines, int bands)
Checks that the data size for an image of the desired dimensions will be less than 2GB.
Definition: QtExporter.cpp:225
Isis::Buffer
Buffer for reading and writing cube data.
Definition: Buffer.h:53
Buffer.h
Isis::ImageExporter::write
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
Isis::FileName::expanded
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
Isis::ExportDescription::pixelType
PixelType pixelType() const
Returns the pixel type.
Definition: ExportDescription.cpp:148
Isis::FileName::addExtension
FileName addExtension(const QString &extension) const
Adds a new extension to the file name.
Definition: FileName.cpp:225
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
ExportDescription.h
Isis::QtExporter::writeGrayscale
virtual void writeGrayscale(vector< Buffer * > &in) const
Write a line of grayscale data to the output image.
Definition: QtExporter.cpp:125
Isis::BigInt
long long int BigInt
Big int.
Definition: Constants.h:49
Isis::ImageExporter::outputPixelValue
virtual int outputPixelValue(double dn) const
Return the output clamped integer pixel value from the input double-precision DN.
Definition: ImageExporter.cpp:325
Isis::ImageExporter::extension
QString extension() const
Gets the extension for the output image.
Definition: ImageExporter.cpp:208
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::QtExporter::writeRgba
virtual void writeRgba(vector< Buffer * > &in) const
Write a line of RGBA data to the output image.
Definition: QtExporter.cpp:173
Isis::QtExporter::setRgba
virtual void setRgba(ExportDescription &desc)
Set the input with the description generically, check the data size for a four-band image with the es...
Definition: QtExporter.cpp:113
Isis::ImageExporter
Export Isis cubes into standard formats.
Definition: ImageExporter.h:54
Isis::QtExporter::writeRgb
virtual void writeRgb(vector< Buffer * > &in) const
Write a line of RGB data to the output image.
Definition: QtExporter.cpp:152
IException.h
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::ImageExporter::lines
int lines() const
Number of lines (rows) in the output image.
Definition: ImageExporter.cpp:128
Isis::ImageExporter::bands
int bands() const
Number of bands (channels) in the output image.
Definition: ImageExporter.cpp:138
QtExporter.h
Isis::ImageExporter::samples
int samples() const
Number of samples (columns) in the output image.
Definition: ImageExporter.cpp:118
Constants.h
QVector
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
Isis::QtExporter::canWriteFormat
static bool canWriteFormat(QString format)
Returns true if the format is supported by QImageWriter.
Definition: QtExporter.cpp:246
Isis::UnsignedByte
@ UnsignedByte
Definition: PixelType.h:29
Isis::ImageExporter::setExtension
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
Isis::ImageExporter::initialize
virtual void initialize(ExportDescription &desc)=0
Generic initialization with the export description.
Definition: ImageExporter.cpp:58
Isis::Buffer::Line
int Line(const int index=0) const
Returns the line position associated with a shape buffer index.
Definition: Buffer.cpp:145
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126