An official website of the United States government
Here’s how you know
Official websites use .gov
A
.gov website belongs to an official government
organization in the United States.
Secure .gov websites use HTTPS
A
lock
( ) or https:// means you’ve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
Isis Developer Reference
|
Handles converting buffers to and from disk. More...
#include <ImageIoHandler.h>
Public Member Functions | |
ImageIoHandler (const QList< int > *virtualBandList) | |
virtual | ~ImageIoHandler () |
virtual void | read (Buffer &bufferToFill) const =0 |
virtual void | write (const Buffer &bufferToWrite)=0 |
virtual void | addCachingAlgorithm (CubeCachingAlgorithm *algorithm) |
virtual void | clearCache (bool blockForWriteCache=true) const |
virtual BigInt | getDataSize () const =0 |
void | setVirtualBands (const QList< int > *virtualBandList) |
This changes the virtual band list. | |
virtual void | updateLabels (Pvl &labels)=0 |
Function to update the labels with a Pvl object. | |
QMutex * | dataFileMutex () |
Get the mutex that this IO handler is using around I/Os on the given data file. | |
Protected Attributes | |
QMutex * | m_writeThreadMutex |
This enables us to block while the write thread is working. | |
QList< int > * | m_virtualBands |
Converts from virtual band to physical band. | |
Handles converting buffers to and from disk.
This class handles converting buffers to and from disk. This class holds the cube chunks in memory and is capable of reading and writing them. It asks the caching algorithms to recommend cube chunks to not keep in memory. Children need to call setChunkSizes() in their constructor.
This class handles all of the virtual band conversions. This class also guarantees that unwritten cube data ends up read and written as NULLs. The default caching algorithm is a RegionalCachingAlgorithm.
Isis::ImageIoHandler::ImageIoHandler | ( | const QList< int > * | virtualBandList | ) |
References m_virtualBands, m_writeThreadMutex, and setVirtualBands().
Referenced by Isis::CubeIoHandler::CubeIoHandler(), Isis::GdalIoHandler::GdalIoHandler(), and Isis::GdalIoHandler::GdalIoHandler().
|
virtual |
References m_virtualBands, and m_writeThreadMutex.
|
virtual |
Reimplemented in Isis::CubeIoHandler.
|
virtual |
Reimplemented in Isis::CubeIoHandler.
QMutex * Isis::ImageIoHandler::dataFileMutex | ( | ) |
Get the mutex that this IO handler is using around I/Os on the given data file.
A lock should be acquired before doing any reads/writes on the data file externally.
References m_writeThreadMutex.
|
pure virtual |
Implemented in Isis::CubeIoHandler, and Isis::GdalIoHandler.
|
pure virtual |
Implemented in Isis::CubeIoHandler, and Isis::GdalIoHandler.
void Isis::ImageIoHandler::setVirtualBands | ( | const QList< int > * | virtualBandList | ) |
This changes the virtual band list.
virtualBandList | A list where the indices are the vbands and the values are the physical bands. The values are 1-based. This can be specified as NULL, in which case the vbands are the physical bands. The virtual band list is copied (the pointer provided isn't remembered). |
References m_virtualBands.
Referenced by ImageIoHandler().
|
pure virtual |
Function to update the labels with a Pvl object.
labels | Pvl object to update with |
Implemented in Isis::CubeBsqHandler, Isis::CubeIoHandler, Isis::CubeTileHandler, and Isis::GdalIoHandler.
|
pure virtual |
Implemented in Isis::CubeIoHandler, and Isis::GdalIoHandler.
|
protected |
Converts from virtual band to physical band.
Referenced by ImageIoHandler(), Isis::CubeIoHandler::read(), Isis::GdalIoHandler::read(), setVirtualBands(), Isis::GdalIoHandler::write(), and ~ImageIoHandler().
|
protected |
This enables us to block while the write thread is working.
Referenced by Isis::CubeIoHandler::CubeIoHandler(), dataFileMutex(), ImageIoHandler(), Isis::CubeIoHandler::read(), Isis::CubeIoHandler::write(), and ~ImageIoHandler().