MeVisLabToolboxReference
|
Defines and implements management and access classes for random access to a paged image or a pure virtual image created on access time. More...
Go to the source code of this file.
Classes | |
class | ml::TVirtualVolume< DATATYPE > |
The TVirtualVolume class implements random access to a paged input image or a pure virtual image without mapping more than a limited number of bytes. Pages of the input volume are mapped temporarily into memory when needed. If no input volume is specified the pages are created and filled with a fill value. When the permitted amount of memory is exceeded then older mapped pages are removed. When pages are written they are mapped until the virtual volume instance is removed or if they are explicitly cleared by the application. More... | |
Namespaces | |
namespace | ml |
Define the namespace name like in the ML. Default is | |
Defines | |
Move cursor to next lower position. The *E versions throw ML_OUT_OF_RANGE exceptions when outside the image. | |
#define | _VV_MOVEBE_TEST(Q) if (_cPos.Q >= 0){ _cPageIdx -= _strides.Q; } else{ _cPos.Q++; _cIdx += _pStrides.Q; throw(ML_OUT_OF_RANGE); } |
Macro to save cursor movement with exception handling if outside image. |
Defines and implements management and access classes for random access to a paged image or a pure virtual image created on access time.
This is a wrapper for the VirtualVolume class specialized to a certain data type and with data access functions. Creation is not very expensive, so it can be done e.g. in each calcOutSubImg. It implements fast getValue and setValue access methods to image data. Both call optimized functions for image extents and data type. See class documentation for further class description by an example.
Definition in file mlTVirtualVolume.h.
#define _VV_MOVEBE_TEST | ( | Q | ) | if (_cPos.Q >= 0){ _cPageIdx -= _strides.Q; } else{ _cPos.Q++; _cIdx += _pStrides.Q; throw(ML_OUT_OF_RANGE); } |
Macro to save cursor movement with exception handling if outside image.
If called then we're out of page. So test if also out of image. If not then update page index. If yes then correct cursor pos and throw exception.
Definition at line 1051 of file mlTVirtualVolume.h.
Referenced by ml::TVirtualVolume< DATATYPE >::_moveBCE(), ml::TVirtualVolume< DATATYPE >::_moveBTE(), ml::TVirtualVolume< DATATYPE >::_moveBUE(), ml::TVirtualVolume< DATATYPE >::_moveBXE(), ml::TVirtualVolume< DATATYPE >::_moveBYE(), and ml::TVirtualVolume< DATATYPE >::_moveBZE().