42 class CubeAttributeOutput;
43 class CubeCachingAlgorithm;
231 void close(
bool remove =
false);
233 void create(
const QString &cfile);
235 void open(
const QString &cfile, QString access =
"r");
236 void reopen(QString access =
"r");
266 QString msg =
"Gathering histogram");
268 const double &validMax,
269 QString msg =
"Gathering histogram");
271 int labelSize(
bool actual =
false)
const;
279 QString msg =
"Gathering statistics");
281 const double &validMax,
282 QString msg =
"Gathering statistics");
287 bool deleteBlob(QString BlobType, QString BlobName);
295 void applyVirtualBandsToLabel();
296 void cleanUp(
bool remove);
299 QFile *dataFile()
const;
303 void initCoreFromLabel(
const Pvl &
label);
304 void initLabelFromFile(
FileName labelFileName,
bool readWrite);
306 Pvl realDataFileLabel()
const;
307 void reformatOldIsisLabel(
const QString &oldCube);
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:1427
Buffer for reading and writing cube data.
Definition: Buffer.h:68
bool deleteBlob(QString BlobType, QString BlobName)
This method will delete a blob label object from the cube as specified by the Blob type and name...
Definition: Cube.cpp:1547
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:1196
bool labelsAttached() const
Test if labels are attached.
Definition: Cube.cpp:163
PixelType pixelType() const
Definition: Cube.cpp:1355
File name manipulation and expansion.
Definition: FileName.h:111
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:1132
Format format() const
Definition: Cube.cpp:1172
virtual ~Cube()
Destroys the Cube object.
Definition: Cube.cpp:75
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1118
bool isOpen() const
Test if a cube file has been opened/created.
Definition: Cube.cpp:98
double multiplier() const
Returns the multiplier value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1345
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
Definition: Cube.cpp:1298
void setFormat(Format format)
Used prior to the Create method, this will specify the format of the cube, either band...
Definition: Cube.cpp:938
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:150
ByteOrder
Tests the current architecture for byte order.
Definition: Endian.h:59
void setLabelsAttached(bool attached)
Use prior to calling create, this sets whether or not to use separate label and data files...
Definition: Cube.cpp:950
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
Projection * projection()
Definition: Cube.cpp:1391
void read(Blob &blob) const
This method will read data from the specified Blob object.
Definition: Cube.cpp:686
ByteOrder byteOrder() const
Returns the byte order/endian-ness of the cube file.
Definition: Cube.cpp:1106
void setDimensions(int ns, int nl, int nb)
Used prior to the Create method to specify the size of the cube.
Definition: Cube.cpp:894
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:43
Handles converting buffers to and from disk.
Definition: CubeIoHandler.h:119
void reopen(QString access="r")
This method will reopen an isis sube for reading or reading/writing.
Definition: Cube.cpp:653
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:109
PvlGroup & group(const QString &group) const
Read a group from the cube into a Label.
Definition: Cube.cpp:1583
Base class for Map Projections.
Definition: Projection.h:169
int sampleCount() const
Definition: Cube.cpp:1404
Cubes are stored in tile format, that is the order of the pixels in the file (on disk) is BSQ within ...
Definition: Cube.h:222
void setPixelType(PixelType pixelType)
Used prior to the Create method, this will specify the output pixel type.
Definition: Cube.cpp:976
bool hasTable(const QString &name)
Check to see if the cube contains a pvl table by the provided name.
Definition: Cube.cpp:1610
Container of a cube histogram.
Definition: Histogram.h:78
int labelSize(bool actual=false) const
Returns the number of bytes used by the label.
Definition: Cube.cpp:1310
Contains multiple PvlContainers.
Definition: PvlGroup.h:57
void setVirtualBands(const QList< QString > &vbands)
This allows the programmer to specify a subset of bands to work with.
Definition: Cube.cpp:993
Manipulate and parse attributes of output cube filenames.
Definition: CubeAttribute.h:485
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:828
int bandCount() const
Returns the number of virtual bands for the cube.
Definition: Cube.cpp:1077
void close(bool remove=false)
Closes the cube and updates the labels.
Definition: Cube.cpp:175
void open(const QString &cfile, QString access="r")
This method will open an isis cube for reading or reading/writing.
Definition: Cube.cpp:509
Cube * copy(FileName newFile, const CubeAttributeOutput &newFileAttributes)
Definition: Cube.cpp:183
Cube()
Constructs a Cube object.
Definition: Cube.cpp:56
void addCachingAlgorithm(CubeCachingAlgorithm *)
This will add the given caching algorithm to the list of attempted caching algorithms.
Definition: Cube.cpp:1514
double base() const
Returns the base value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1094
Container for cube-like labels.
Definition: Pvl.h:135
bool isReadOnly() const
Test if the opened cube is read-only, that is write operations will fail if this is true...
Definition: Cube.cpp:128
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:879
Cubes are stored in band-sequential format, that is the order of the pixels in the file (on disk) is:...
Definition: Cube.h:189
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:845
bool storesDnData() const
Definition: Cube.cpp:1496
void clearIoCache()
This will clear excess RAM used for quicker IO in the cube.
Definition: Cube.cpp:1530
bool isProjected() const
Returns true if the labels of the cube appear to have a valid mapping group.
Definition: Cube.cpp:117
void write(Blob &blob)
This method will write a blob of data (e.g.
Definition: Cube.cpp:725
void relocateDnData(FileName dnDataFile)
Definition: Cube.cpp:1033
void setExternalDnData(FileName cubeFileWithDnData)
Definition: Cube.cpp:906
void putGroup(const PvlGroup &group)
Adds a group in a Label to the cube.
Definition: Cube.cpp:1635
QString fileName() const
Returns the opened cube's filename.
Definition: Cube.cpp:1160
bool hasGroup(const QString &group) const
Return if the cube has a specified group in the labels.
Definition: Cube.cpp:1596
void deleteGroup(const QString &group)
Deletes a group from the cube labels.
Definition: Cube.cpp:1569
int lineCount() const
Definition: Cube.cpp:1331
void create(const QString &cfile)
This method will create an isis cube for writing.
Definition: Cube.cpp:321
Format
These are the possible storage formats of Isis3 cubes.
Definition: Cube.h:168
This is the parent of the caching algorithms.
Definition: CubeCachingAlgorithm.h:47
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:963
int physicalBand(const int &virtualBand) const
This method will return the physical band number given a virtual band number.
Definition: Cube.cpp:1370
IO Handler for Isis Cubes.
Definition: Cube.h:158