Isis Developer Reference
Cube.h
Go to the documentation of this file.
1 #ifndef Cube_h
2 #define Cube_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <vector>
11 
12 // This is needed for the QVariant macro
13 #include <QMetaType>
14 #include <QList>
15 #include <QMap>
16 
17 #include <nlohmann/json.hpp>
18 
19 #include "Endian.h"
20 #include "PixelType.h"
21 #include "PvlKeyword.h"
22 
23 class QFile;
24 class QMutex;
25 class QString;
26 
27 namespace Isis {
28  class Blob;
29  class Buffer;
30  class Camera;
31  class CubeAttributeOutput;
32  class CubeCachingAlgorithm;
33  class CubeIoHandler;
34  class CubeStretch;
35  class FileName;
36  class Projection;
37  class Pvl;
38  class PvlGroup;
39  class Statistics;
40  class Table;
41  class Histogram;
42  class History;
43  class OriginalLabel;
44  class OriginalXmlLabel;
45  class ImagePolygon;
46 
47 
167  class Cube {
168  public:
169  Cube();
170  Cube(const FileName &fileName, QString access = "r");
171 
172  virtual ~Cube();
173 
178  enum Format {
232  Tile
233  };
234 
235  void fromIsd(const FileName &fileName, Pvl &label, nlohmann::json &isd, QString access);
236  void fromIsd(const FileName &fileName, FileName &labelFile, FileName &isdFile, QString access);
237 
238  void fromLabel(const FileName &fileName, Pvl &label, QString access);
239 
240  bool isOpen() const;
241  bool isProjected() const;
242  bool isReadOnly() const;
243  bool isReadWrite() const;
244  bool labelsAttached() const;
245 
247 
248  void close(bool remove = false);
249  Cube *copy(FileName newFile, const CubeAttributeOutput &newFileAttributes);
250  void create(const QString &cfile);
251  void create(const QString &cfile, const CubeAttributeOutput &att);
252  void open(const QString &cfile, QString access = "r");
253  void reopen(QString access = "r");
254 
255  void read(Blob &blob,
256  const std::vector<PvlKeyword> keywords = std::vector<PvlKeyword>()) const;
257  void read(Buffer &rbuf) const;
258  OriginalLabel readOriginalLabel(const QString &name="IsisCube") const;
259  CubeStretch readCubeStretch(QString name="CubeStretch",
260  const std::vector<PvlKeyword> keywords = std::vector<PvlKeyword>()) const;
262  History readHistory(const QString &name = "IsisCube") const;
263  ImagePolygon readFootprint() const;
264  Table readTable(const QString &name);
265  void write(Blob &blob, bool overwrite=true);
266  void write(const Table &table);
267  void write(const CubeStretch &cubeStretch);
268  void write(OriginalLabel &lab);
269  void write(const OriginalXmlLabel &lab);
270  void write(History &history, const QString &name = "IsisCube");
271  void write(const ImagePolygon &polygon);
272  void write(Buffer &wbuf);
273 
274  void setBaseMultiplier(double base, double mult);
275  void setMinMax(double min, double max);
277  void setDimensions(int ns, int nl, int nb);
278  void setExternalDnData(FileName cubeFileWithDnData);
279  void setFormat(Format format);
280  void setLabelsAttached(bool attached);
281  void setLabelSize(int labelBytes);
283  void setVirtualBands(const QList<QString> &vbands);
284  void setVirtualBands(const std::vector<QString> &vbands);
285 
286  void relocateDnData(FileName dnDataFile);
287 // static void relocateDnData(FileName externalLabelFile, FileName dnDataFile);
288 
289  virtual int bandCount() const;
290  double base() const;
291  ByteOrder byteOrder() const;
292  Camera *camera();
294  virtual QString fileName() const;
295  Format format() const;
296  virtual Histogram *histogram(const int &band = 1,
297  QString msg = "Gathering histogram");
298  virtual Histogram *histogram(const int &band, const double &validMin,
299  const double &validMax,
300  QString msg = "Gathering histogram");
301  Pvl *label() const;
302  int labelSize(bool actual = false) const;
303  int lineCount() const;
304  double multiplier() const;
305  PixelType pixelType() const;
306  virtual int physicalBand(const int &virtualBand) const;
308  int sampleCount() const;
309  Statistics *statistics(const int &band = 1,
310  QString msg = "Gathering statistics");
311  Statistics *statistics(const int &band, const double &validMin,
312  const double &validMax,
313  QString msg = "Gathering statistics");
314  bool storesDnData() const;
315 
317  void clearIoCache();
318  bool deleteBlob(QString BlobName, QString BlobType);
319  void deleteGroup(const QString &group);
320  PvlGroup &group(const QString &group) const;
321  bool hasGroup(const QString &group) const;
322  bool hasTable(const QString &name);
323  bool hasBlob(const QString &name, const QString &type);
324  void putGroup(const PvlGroup &group);
325  void latLonRange(double &minLatitude, double &maxLatitude, double &minLongitude,
326  double &maxLongitude);
327 
328 
329  private:
330  void applyVirtualBandsToLabel();
331  void cleanUp(bool remove);
332 
333  void construct();
334  QFile *dataFile() const;
335  FileName realDataFileName() const;
336 
337  void initialize();
338  void initCoreFromLabel(const Pvl &label);
339  void initLabelFromFile(FileName labelFileName, bool readWrite);
340  void openCheck();
341  Pvl realDataFileLabel() const;
342  void reformatOldIsisLabel(const QString &oldCube);
343  void writeLabels();
344 
345  private:
354  QFile *m_labelFile;
360  QFile *m_dataFile;
361 
366  CubeIoHandler *m_ioHandler;
367 
373  ByteOrder m_byteOrder;
374 
380  Format m_format;
381 
387  PixelType m_pixelType;
388 
390  QMutex *m_mutex;
391 
393  Camera *m_camera;
394 
396  Projection *m_projection;
397 
399  FileName *m_labelFileName;
400 
402  FileName *m_dataFileName;
403 
409  FileName *m_tempCube;
410 
412  FileName *m_formatTemplateFile;
413 
415  bool m_attached;
416 
422  bool m_storesDnData;
423 
425  Pvl *m_label;
426 
428  int m_labelBytes;
429 
431  int m_samples;
432 
434  int m_lines;
435 
437  int m_bands;
438 
443  double m_base;
444 
449  double m_multiplier;
450 
452  QList<int> *m_virtualBandList;
453  };
454 }
455 
458 
459 #endif
Isis::ValidMaximum
const double ValidMaximum
The maximum valid double value for Isis pixels.
Definition: SpecialPixel.h:122
Isis::SizeOf
int SizeOf(Isis::PixelType pixelType)
Returns the number of bytes of the specified PixelType.
Definition: PixelType.h:46
Isis::FileName::originalPath
QString originalPath() const
Returns the path of the original file name.
Definition: FileName.cpp:84
Isis::OriginalLabel::toBlob
Isis::Blob toBlob()
Serialize the OriginalLabel data to a Blob.
Definition: OriginalLabel.cpp:82
Isis::Cube::Format
Format
These are the possible storage formats of ISIS cubes.
Definition: Cube.h:178
Isis::PvlObject::endGroup
PvlGroupIterator endGroup()
Returns the ending group index.
Definition: PvlObject.h:109
Isis::Cube::base
double base() const
Returns the base value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1427
Isis::Spice::instrumentPosition
void instrumentPosition(double p[3]) const
Returns the spacecraft position in body-fixed frame km units.
Definition: Spice.cpp:822
Isis::iApp
Application * iApp
Definition: Application.cpp:51
FileName.h
Isis::Spice::sunPosition
virtual void sunPosition(double p[3]) const
Fills the input vector with sun position information, in either body-fixed or J2000 reference frame a...
Definition: Spice.cpp:902
Table.h
Isis::OriginalXmlLabel::toBlob
Blob toBlob() const
Serialize the OriginalXmlLabel to a Blob.
Definition: OriginalXmlLabel.cpp:78
Isis::Statistics
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:94
Isis::PvlObject::findGroup
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
Isis::Cube::fileName
virtual QString fileName() const
Returns the opened cube's filename.
Definition: Cube.cpp:1563
Cube.h
Isis::PvlObject::group
PvlGroup & group(const int index)
Return the group at the specified index.
Definition: PvlObject.cpp:452
Isis::DetachedLabel
@ DetachedLabel
The input label is in a separate data file from the image.
Definition: CubeAttribute.h:33
Isis::Cube::readHistory
History readHistory(const QString &name="IsisCube") const
Read the History from the Cube.
Definition: Cube.cpp:847
Isis::Statistics::AddData
void AddData(const double *data, const unsigned int count)
Add an array of doubles to the accumulators and counters.
Definition: Statistics.cpp:141
Isis::LineManager
Buffer manager, for moving through a cube in lines.
Definition: LineManager.h:39
Isis::Cube::latLonRange
void latLonRange(double &minLatitude, double &maxLatitude, double &minLongitude, double &maxLongitude)
Returns the latitude and longitude range for the Cube.
Definition: Cube.cpp:2514
Isis::PvlContainer::clear
void clear()
Clears PvlKeywords.
Definition: PvlContainer.h:91
CameraFactory.h
Isis::Cube::setVirtualBands
void setVirtualBands(const QList< QString > &vbands)
This allows the programmer to specify a subset of bands to work with.
Definition: Cube.cpp:1321
Isis::PvlObject
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
Isis::Cube::~Cube
virtual ~Cube()
Destroys the Cube object.
Definition: Cube.cpp:160
Isis::Progress::CheckStatus
void CheckStatus()
Checks and updates the status.
Definition: Progress.cpp:105
Isis::PvlKeyword
A single keyword-value pair.
Definition: PvlKeyword.h:82
QList< int >
Isis::BufferManager::next
bool next()
Moves the shape buffer to the next position.
Definition: BufferManager.h:106
Isis::Cube::group
PvlGroup & group(const QString &group) const
Read a group from the cube into a Label.
Definition: Cube.cpp:1991
Isis::TProjection::UniversalLatitude
virtual double UniversalLatitude()
This returns a universal latitude (planetocentric).
Definition: TProjection.cpp:908
Isis::Blob::Type
QString Type() const
Accessor method that returns a string containing the Blob type.
Definition: Blob.cpp:124
Isis::Table::Label
PvlObject & Label()
The Table's label.
Definition: Table.cpp:260
Isis::Camera::SetImage
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition: Camera.cpp:154
Isis::FileName::name
QString name() const
Returns the name of the file excluding the path and the attributes in the file name.
Definition: FileName.cpp:162
Isis::Cube::read
void read(Blob &blob, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >()) const
This method will read data from the specified Blob object.
Definition: Cube.cpp:807
Isis::Histogram::BinRangeStart
double BinRangeStart() const
Definition: Histogram.h:109
SpecialPixel.h
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
Isis::Cube::readTable
Table readTable(const QString &name)
Read a Table from the cube.
Definition: Cube.cpp:952
Isis::Cube::deleteGroup
void deleteGroup(const QString &group)
Deletes a group from the cube labels.
Definition: Cube.cpp:1977
Isis::Progress::SetMaximumSteps
void SetMaximumSteps(const int steps)
This sets the maximum number of steps in the process.
Definition: Progress.cpp:85
CubeStretch.h
Isis::Buffer::DoubleBuffer
double * DoubleBuffer() const
Returns the value of the shape buffer.
Definition: Buffer.h:138
Isis::Cube::readFootprint
ImagePolygon readFootprint() const
Read the footprint polygon for the Cube.
Definition: Cube.cpp:866
Isis::ImagePolygon::toBlob
Blob toBlob() const
Serialize the ImagePolygon to a Blob.
Definition: ImagePolygon.cpp:1347
Isis::PvlObject::groups
int groups() const
Returns the number of groups contained.
Definition: PvlObject.h:75
Isis::Cube::putGroup
void putGroup(const PvlGroup &group)
Adds a group in a Label to the cube.
Definition: Cube.cpp:2056
Isis::Cube::physicalBand
virtual int physicalBand(const int &virtualBand) const
This method will return the physical band number given a virtual band number.
Definition: Cube.cpp:1773
CubeTileHandler.h
Isis::Message::FileOpen
QString FileOpen(const QString &filename)
This error should be used when a file could not be opened.
Definition: FileOpen.cpp:11
Isis::VALID_MIN1
const unsigned char VALID_MIN1
Definition: SpecialPixel.h:181
Isis::Cube::setLabelSize
void setLabelSize(int labelBytes)
Used prior to the Create method, this will allocate a specific number of bytes in the label area for ...
Definition: Cube.cpp:1291
Isis::Cube::copy
Cube * copy(FileName newFile, const CubeAttributeOutput &newFileAttributes)
Copies the cube to the new fileName.
Definition: Cube.cpp:276
Isis::PvlObject::hasGroup
bool hasGroup(const QString &name) const
Returns a boolean value based on whether the object has the specified group or not.
Definition: PvlObject.h:210
LineManager.h
Isis::Cube::labelSize
int labelSize(bool actual=false) const
Returns the number of bytes used by the label.
Definition: Cube.cpp:1713
Isis::UnsignedWord
@ UnsignedWord
Definition: PixelType.h:31
Longitude.h
Isis::Cube::byteOrder
ByteOrder byteOrder() const
Returns the byte order/endian-ness of the cube file.
Definition: Cube.cpp:1439
Isis::Cube::close
void close(bool remove=false)
Closes the cube and updates the labels.
Definition: Cube.cpp:260
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::CubeAttributeOutput
Manipulate and parse attributes of output cube filenames.
Definition: CubeAttribute.h:473
Isis::PvlObject::addObject
void addObject(const PvlObject &object)
Add a PvlObject.
Definition: PvlObject.h:307
Isis::ImagePolygon
Create cube polygons, read/write polygons to blobs.
Definition: ImagePolygon.h:153
Isis::CubeStretch
Stores stretch information for a cube.
Definition: CubeStretch.h:27
Isis::SignedWord
@ SignedWord
Definition: PixelType.h:32
Isis::Camera
Definition: Camera.h:236
Isis::PvlObject::object
PvlObject & object(const int index)
Return the object at the specified index.
Definition: PvlObject.cpp:489
Preference.h
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::Statistics::SetValidRange
void SetValidRange(const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
Definition: Statistics.cpp:255
Isis::SpiceRotation::Cache
Table Cache(const QString &tableName)
Return a table with J2000 to reference rotations.
Definition: SpiceRotation.cpp:868
Isis::Blob::Name
QString Name() const
Accessor method that returns a string containing the Blob name.
Definition: Blob.cpp:133
Isis::Spice::solarLongitude
virtual Longitude solarLongitude()
Returns the solar longitude.
Definition: Spice.cpp:1509
Isis::BufferManager::begin
bool begin()
Moves the shape buffer to the first position.
Definition: BufferManager.h:96
Isis::BufferManager
Manages a Buffer over a cube.
Definition: BufferManager.h:52
Isis::Cube::statistics
Statistics * statistics(const int &band=1, QString msg="Gathering statistics")
This method returns a pointer to a Statistics object which allows the program to obtain and use vario...
Definition: Cube.cpp:1830
Isis::ByteOrder
ByteOrder
Tests the current architecture for byte order.
Definition: Endian.h:42
Isis::Cube::hasBlob
bool hasBlob(const QString &name, const QString &type)
Check to see if the cube contains a BLOB.
Definition: Cube.cpp:2019
Isis::Buffer
Buffer for reading and writing cube data.
Definition: Buffer.h:53
Isis::Spice::instrumentRotation
virtual SpiceRotation * instrumentRotation() const
Accessor method for the instrument rotation.
Definition: Spice.cpp:1622
Isis::Blob::Write
void Write(const QString &file)
Write the blob data out to a file.
Definition: Blob.cpp:417
Isis::BufferManager::end
bool end() const
Returns true if the shape buffer has accessed the end of the cube.
Definition: BufferManager.h:115
Isis::ByteOrderEnumeration
Isis::ByteOrder ByteOrderEnumeration(const QString &order)
Definition: Endian.h:55
Isis::Cube::externalCubeFileName
FileName externalCubeFileName() const
If this is an external cube label file, this will give you the cube dn file that this label reference...
Definition: Cube.cpp:1535
Isis::FileName::baseName
QString baseName() const
Returns the name of the file without the path and without extensions.
Definition: FileName.cpp:145
OriginalLabel.h
Endian.h
Isis::AttachedLabel
@ AttachedLabel
The input label is embedded in the image file.
Definition: CubeAttribute.h:32
Isis::VALID_MAX2
const short VALID_MAX2
Definition: SpecialPixel.h:159
Isis::Blob::Read
void Read(const QString &file, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >())
This method reads Pvl values from a specified file.
Definition: Blob.cpp:255
Isis::ReadWrite
const int ReadWrite
Definition: Process.h:24
Isis::Cube::multiplier
double multiplier() const
Returns the multiplier value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1748
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::VALID_MIN2
const short VALID_MIN2
Definition: SpecialPixel.h:153
Isis::Buffer::Copy
void Copy(const Buffer &in, bool includeRawBuf=true)
Allows copying of the buffer contents to another Buffer.
Definition: Buffer.cpp:255
PixelType.h
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
Isis::Sensor::UniversalLongitude
virtual double UniversalLongitude() const
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in t...
Definition: Sensor.cpp:233
Isis::Cube::lineCount
int lineCount() const
Definition: Cube.cpp:1734
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
Isis::Cube::isReadWrite
bool isReadWrite() const
Test if the opened cube is read-write, that is read and write operations should succeed if this is tr...
Definition: Cube.cpp:235
Isis::Cube::setDimensions
void setDimensions(int ns, int nl, int nb)
Used prior to the Create method to specify the size of the cube.
Definition: Cube.cpp:1217
Isis::Cube::create
void create(const QString &cfile)
This method will create an isis cube for writing.
Definition: Cube.cpp:414
Isis::IsBigEndian
bool IsBigEndian()
Definition: Endian.h:105
Isis::PvlContainer::isNamed
bool isNamed(const QString &match) const
Returns whether the given string is equal to the container name or not.
Definition: PvlContainer.h:72
Isis::toInt
int toInt(const QString &string)
Global function to convert from a string to an integer.
Definition: IString.cpp:93
Isis::Histogram::AddData
virtual void AddData(const double *data, const unsigned int count)
Add an array of doubles to the histogram counters.
Definition: Histogram.cpp:232
OriginalXmlLabel.h
Isis::Cube::hasGroup
bool hasGroup(const QString &group) const
Return if the cube has a specified group in the labels.
Definition: Cube.cpp:2004
Isis::TProjection
Base class for Map TProjections.
Definition: TProjection.h:166
Isis::Cube::Tile
@ Tile
Cubes are stored in tile format, that is the order of the pixels in the file (on disk) is BSQ within ...
Definition: Cube.h:232
Isis::Histogram::SetValidRange
void SetValidRange(const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
Changes the range of the bins.
Definition: Histogram.cpp:192
Isis::Progress::SetText
void SetText(const QString &text)
Changes the value of the text string reported just before 0% processed.
Definition: Progress.cpp:61
Isis::Cube::addCachingAlgorithm
void addCachingAlgorithm(CubeCachingAlgorithm *)
This will add the given caching algorithm to the list of attempted caching algorithms.
Definition: Cube.cpp:1922
Isis::Table::toBlob
Blob toBlob() const
Serialze the Table to a Blob that can be written to a file.
Definition: Table.cpp:414
Isis::OriginalXmlLabel
Read and store original Xml labels.
Definition: OriginalXmlLabel.h:32
Application.h
Isis::PvlObject::hasKeyword
bool hasKeyword(const QString &kname, FindOptions opts) const
See if a keyword is in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within ...
Definition: PvlObject.cpp:236
Isis::CubeCachingAlgorithm
This is the parent of the caching algorithms.
Definition: CubeCachingAlgorithm.h:31
Blob.h
Isis::CubeAttributeOutput::pixelType
PixelType pixelType() const
Return the pixel type as an Isis::PixelType.
Definition: CubeAttribute.cpp:360
Isis::Cube::format
Format format() const
Definition: Cube.cpp:1575
json
nlohmann::json json
Definition: PvlObject.cpp:22
Isis::Table
Class for storing Table blobs information.
Definition: Table.h:61
Isis::CubeIoHandler
Handles converting buffers to and from disk.
Definition: CubeIoHandler.h:109
ImageHistogram.h
Isis::BigInt
long long int BigInt
Big int.
Definition: Constants.h:49
Isis::Cube::labelsAttached
bool labelsAttached() const
Test if labels are attached.
Definition: Cube.cpp:248
Isis::PvlObject::findObject
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition: PvlObject.h:274
Isis::CubeAttributeOutput::propagateMinimumMaximum
bool propagateMinimumMaximum() const
Return true if the min/max are to be propagated from an input cube.
Definition: CubeAttribute.cpp:177
Isis::Cube::sampleCount
int sampleCount() const
Definition: Cube.cpp:1807
Isis::Cube::fromIsd
void fromIsd(const FileName &fileName, Pvl &label, nlohmann::json &isd, QString access)
Initialize Cube data from a PVL label and JSON ISD.
Definition: Cube.cpp:99
Isis::ImageHistogram
Container of a cube histogram.
Definition: ImageHistogram.h:40
History.h
Isis::Msb
@ Msb
Definition: Endian.h:45
Isis::Spice::bodyRotation
virtual SpiceRotation * bodyRotation() const
Accessor method for the body rotation.
Definition: Spice.cpp:1611
Isis::Cube::isOpen
bool isOpen() const
Test if a cube file has been opened/created.
Definition: Cube.cpp:183
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::Cube::setExternalDnData
void setExternalDnData(FileName cubeFileWithDnData)
Used to set external dn data to cube.
Definition: Cube.cpp:1234
Isis::PvlContainer::name
QString name() const
Returns the container name.
Definition: PvlContainer.h:63
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::Cube::attachSpiceFromIsd
void attachSpiceFromIsd(nlohmann::json Isd)
Definition: Cube.cpp:1459
ASSERT
#define ASSERT(x)
Definition: IsisDebug.h:134
Isis::Cube::bandCount
virtual int bandCount() const
Returns the number of virtual bands for the cube.
Definition: Cube.cpp:1410
Isis::Projection::SetWorld
virtual bool SetWorld(const double x, const double y)
This method is used to set a world coordinate.
Definition: Projection.cpp:497
Isis::Cube::isProjected
bool isProjected() const
Returns true if the labels of the cube appear to have a valid mapping group.
Definition: Cube.cpp:202
Isis::CubeTileHandler
IO Handler for Isis Cubes using the tile format.
Definition: CubeTileHandler.h:35
Isis::FileName::toString
QString toString() const
Returns a QString of the full file name including the file path, excluding the attributes with any Is...
Definition: FileName.cpp:515
Isis::Progress
Program progress reporter.
Definition: Progress.h:42
Isis::Spice
Obtain SPICE information for a spacecraft.
Definition: Spice.h:283
TProjection.h
Camera.h
Isis::VALID_MAXU2
const unsigned short VALID_MAXU2
Definition: SpecialPixel.h:168
Isis::Cube::Bsq
@ Bsq
Cubes are stored in band-sequential format, that is the order of the pixels in the file (on disk) is:
Definition: Cube.h:199
Isis::Cube::readOriginalXmlLabel
OriginalXmlLabel readOriginalXmlLabel() const
Read the original PDS4 label from a cube.
Definition: Cube.cpp:931
Isis::CubeAttributeOutput::labelAttachment
LabelAttachment labelAttachment() const
Definition: CubeAttribute.cpp:400
Isis::PvlObject::addGroup
void addGroup(const Isis::PvlGroup &group)
Add a group to the object.
Definition: PvlObject.h:186
Isis::Cube::setByteOrder
void setByteOrder(ByteOrder byteOrder)
Used prior to the Create method, this will specify the byte order of pixels, either least or most sig...
Definition: Cube.cpp:1202
Isis::FileName::removeExtension
FileName removeExtension() const
Removes all extensions in the file name.
Definition: FileName.cpp:246
Isis::Cube::camera
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1451
Isis::PixelType
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:27
Statistics.h
Isis::LineManager::SetLine
bool SetLine(const int line, const int band=1)
Positions the buffer at the requested line and returns a status indicator if the set was succesful or...
Definition: LineManager.cpp:44
Isis::CubeStretch::toBlob
Isis::Blob toBlob() const
Serialize the CubeStretch to a Blob.
Definition: CubeStretch.cpp:84
IException.h
Isis::Cube::deleteBlob
bool deleteBlob(QString BlobName, QString BlobType)
This method will delete a blob label object from the cube as specified by the Blob type and name.
Definition: Cube.cpp:1955
Isis::ValidMinimum
const double ValidMinimum
The minimum valid double value for Isis pixels.
Definition: SpecialPixel.h:87
std
Namespace for the standard library.
ProgramLauncher.h
Isis::OriginalLabel
Read and store original labels.
Definition: OriginalLabel.h:35
Isis::Cube::hasTable
bool hasTable(const QString &name)
Check to see if the cube contains a pvl table by the provided name.
Definition: Cube.cpp:2043
Isis::Cube::isReadOnly
bool isReadOnly() const
Test if the opened cube is read-only, that is write operations will fail if this is true.
Definition: Cube.cpp:213
Isis::Cube::pixelType
PixelType pixelType() const
Definition: Cube.cpp:1758
Isis::Histogram
Container of a cube histogram.
Definition: Histogram.h:74
Isis::CubeAttributeOutput::byteOrder
ByteOrder byteOrder() const
Return the byte order as an Isis::ByteOrder.
Definition: CubeAttribute.cpp:455
Isis::PvlObject::deleteObject
void deleteObject(const QString &name)
Remove an object from the current PvlObject.
Definition: PvlObject.cpp:366
QPair
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:23
Isis::PixelTypeName
QString PixelTypeName(Isis::PixelType pixelType)
Returns string name of PixelType enumeration entered as input parameter.
Definition: PixelType.h:66
Isis::History::toBlob
Blob toBlob(const QString &name="IsisCube")
Converts a history object into a new blob object.
Definition: History.cpp:75
Isis::Cube::storesDnData
bool storesDnData() const
This method returns a boolean value.
Definition: Cube.cpp:1904
Isis::PvlObject::beginGroup
PvlGroupIterator beginGroup()
Returns the beginning group index.
Definition: PvlObject.h:91
Isis::Cube::label
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
Definition: Cube.cpp:1701
PvlKeyword.h
Isis::Cube::write
void write(Blob &blob, bool overwrite=true)
This method will write a blob of data (e.g.
Definition: Cube.cpp:971
Isis::TProjection::UniversalLongitude
virtual double UniversalLongitude()
This returns a universal longitude (positive east in 0 to 360 domain).
Definition: TProjection.cpp:922
Isis::PvlKeyword::size
int size() const
Returns the number of values stored in this keyword.
Definition: PvlKeyword.h:125
Isis::Cube::Cube
Cube()
Constructs a Cube object.
Definition: Cube.cpp:50
Isis::VALID_MINU2
const unsigned short VALID_MINU2
Definition: SpecialPixel.h:162
Isis::PixelTypeEnumeration
Isis::PixelType PixelTypeEnumeration(const QString &type)
Returns PixelType enumeration given a string.
Definition: PixelType.h:89
Isis::CubeAttributeOutput::maximum
double maximum() const
Return the output cube attribute maximum.
Definition: CubeAttribute.cpp:309
Isis::Angle::degrees
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
Isis::PvlKeyword::unit
QString unit(const int index=0) const
Returns the units of measurement of the element of the array of values for the object at the specifie...
Definition: PvlKeyword.cpp:357
Isis::VALID_MAX1
const unsigned char VALID_MAX1
Definition: SpecialPixel.h:187
Isis::Buffer::size
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
Projection.h
Isis::CubeAttributeOutput::minimum
double minimum() const
Return the output cube attribute minimum.
Definition: CubeAttribute.cpp:294
Isis::Histogram::BinRangeEnd
double BinRangeEnd() const
Definition: Histogram.h:112
Isis::Cube::setFormat
void setFormat(Format format)
Used prior to the Create method, this will specify the format of the cube, either band,...
Definition: Cube.cpp:1266
Isis::PvlContainer::keywords
int keywords() const
Returns the number of keywords contained in the PvlContainer.
Definition: PvlContainer.h:86
Isis::Cube::setPixelType
void setPixelType(PixelType pixelType)
Used prior to the Create method, this will specify the output pixel type.
Definition: Cube.cpp:1304
Isis::PvlObject::findKeyword
PvlKeyword & findKeyword(const QString &kname, FindOptions opts)
Finds a keyword in the current PvlObject, or deeper inside other PvlObjects and Pvlgroups within this...
Definition: PvlObject.cpp:177
Isis::ByteOrderName
QString ByteOrderName(Isis::ByteOrder byteOrder)
Definition: Endian.h:48
Isis::CubeBsqHandler
IO Handler for Isis Cubes using the BSQ format.
Definition: CubeBsqHandler.h:41
CubeBsqHandler.h
Isis::History
Definition: History.h:38
Isis::Cube::setBaseMultiplier
void setBaseMultiplier(double base, double mult)
Used prior to the Create method, this will specify the base and multiplier for converting 8-bit/16-bi...
Definition: Cube.cpp:1151
Isis::Cube::readOriginalLabel
OriginalLabel readOriginalLabel(const QString &name="IsisCube") const
Read the original PDS3 label from a cube.
Definition: Cube.cpp:889
Isis::FileName::original
QString original() const
Returns the full file name including the file path.
Definition: FileName.cpp:212
Isis::PvlObject::deleteGroup
void deleteGroup(const QString &name)
Remove a group from the current PvlObject.
Definition: PvlObject.cpp:408
Isis::Lsb
@ Lsb
Definition: Endian.h:44
Isis::Projection
Base class for Map Projections.
Definition: Projection.h:155
Isis::Cube::open
void open(const QString &cfile, QString access="r")
This method will open an isis cube for reading or reading/writing.
Definition: Cube.cpp:627
Isis::FileName::setExtension
FileName setExtension(const QString &extension) const
Sets all current file extensions to a new extension in the file name.
Definition: FileName.cpp:265
Isis::Cube::clearIoCache
void clearIoCache()
This will clear excess RAM used for quicker IO in the cube.
Definition: Cube.cpp:1938
IsisDebug.h
Isis::Blob
Definition: Blob.h:51
Isis::CubeAttributeOutput::fileFormat
Cube::Format fileFormat() const
Return the file format an Cube::Format.
Definition: CubeAttribute.cpp:267
Isis::UnsignedByte
@ UnsignedByte
Definition: PixelType.h:29
Isis::Cube::setMinMax
void setMinMax(double min, double max)
Used prior to the Create method, this will compute a good base and multiplier value given the minimum...
Definition: Cube.cpp:1168
Isis::CubeAttributeOutput::propagatePixelType
bool propagatePixelType() const
Return true if the pixel type is to be propagated from an input cube.
Definition: CubeAttribute.cpp:165
Isis::Cube::histogram
virtual Histogram * histogram(const int &band=1, QString msg="Gathering histogram")
This method returns a pointer to a Histogram object which allows the program to obtain and use variou...
Definition: Cube.cpp:1599
Isis::ExternalLabel
@ ExternalLabel
The label is pointing to an external DN file - the label is also external to the data.
Definition: CubeAttribute.h:40
Isis::Cube::projection
Projection * projection()
Definition: Cube.cpp:1794
Isis::Cube::relocateDnData
void relocateDnData(FileName dnDataFile)
Relocates the DN data for a cube to an external cube label file.
Definition: Cube.cpp:1366
CubeAttribute.h
Isis::Cube::readCubeStretch
CubeStretch readCubeStretch(QString name="CubeStretch", const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >()) const
Read a Stretch from a cube.
Definition: Cube.cpp:912
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::Spice::getStoredNaifKeywords
PvlObject getStoredNaifKeywords() const
This returns the PvlObject that stores all of the requested Naif data and can be a replacement for fu...
Definition: Spice.cpp:998
Message.h
Isis::Cube::reopen
void reopen(QString access="r")
This method will reopen an isis sube for reading or reading/writing.
Definition: Cube.cpp:774
ImagePolygon.h
Isis::Cube::fromLabel
void fromLabel(const FileName &fileName, Pvl &label, QString access)
Initialize Cube data from a PVL label.
Definition: Cube.cpp:76
Isis::Cube::setLabelsAttached
void setLabelsAttached(bool attached)
Use prior to calling create, this sets whether or not to use separate label and data files.
Definition: Cube.cpp:1278
Isis::Sensor::UniversalLatitude
virtual double UniversalLatitude() const
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed ...
Definition: Sensor.cpp:210
Isis::Real
@ Real
Definition: PixelType.h:35
Isis::None
@ None
Definition: PixelType.h:28