MeVisLab Toolbox Reference
|
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...
#include <mlTVirtualVolume.h>
Public Types | |
typedef DATATYPE | ComponentType |
A typedef to "export" the type of voxels components. | |
Public Member Functions | |
TVirtualVolume (VirtualVolume &vVol) | |
Constructor 1. | |
TVirtualVolume (PagedImage *image, MLint maxNumKB=-1, bool areExceptionsOn=false) | |
Convenience constructor (2) creating an untyped virtual volume inside the typed one to avoid additional management of the untyped instance. | |
TVirtualVolume (const ImageVector &ext, MLdouble fillVal=0, MLint maxNumKB=-1, bool areExceptionsOn=false) | |
Convenience constructor (3) creating an untyped virtual volume inside the typed one to avoid additional management of the untyped instance. | |
virtual | ~TVirtualVolume () |
Destructor. | |
VirtualVolume & | getVirtualVolume () |
Returns the pointer to the wrapped untyped virtual volume. | |
void | getValues (const ImageVector *pos, DATATYPE *results, MLuint num) |
Get a set of voxels from the virtual volume. | |
DATATYPE | getValue (const ImageVector &pos) |
Get a voxel value from the virtual volume. | |
void | setValue (const ImageVector &pos, DATATYPE data) |
Write a voxel into the virtual volume. | |
void | setCursorPosition (const ImageVector &pos) |
Set the cursor to a certain position. | |
const ImageVector & | getCursorPosition () const |
Return the current cursor coordinates. | |
void | setCursorValue (DATATYPE val) |
Set value under cursor and lock page. | |
DATATYPE | getCursorValue () |
Return value under cursor. | |
bool | isMapped (const ImageVector &pos) const |
Returns true if voxel is mapped into memory, otherwise it returns false. | |
void | moveCursorByOffset (const ImageVector &off) |
Shift cursor to current position + offset. | |
void | fill (const SubImageBox &box, DATATYPE value) |
Fill the area box in the virtual image with voxel value value. | |
void | copyToSubImage (TSubImage< DATATYPE > &outSubImg) |
Copy area from the virtual volume into the subimage given by outSubImg. | |
void | copyFromSubImage (const TSubImage< DATATYPE > &inImg, const SubImageBox &box, const ImageVector &pos) |
Copy the area given by box from inImg to the position p of the virtual volume. | |
template<typename OUTDTYPE > | |
void | copyMaskToSubImage (TSubImage< OUTDTYPE > &outSubImg, BitImage &maskBits, bool maskValue=true, bool writeBK=false, OUTDTYPE bkVal=ml_cast_from_scalar< OUTDTYPE >(0)) |
Takes overlapping region from *this, outSubImg and maskBits and copies all voxels from *this to outSubImg if the corresponding bit in maskBits has the value maskValue. | |
DATATYPE * | getWrittenPageData (MLuint32 wp) const |
Returns typed pointer to data of written page with page id wp. | |
Move cursor to next higher/lower position. | |
void | moveCursorX () |
void | moveCursorY () |
void | moveCursorZ () |
void | moveCursorC () |
void | moveCursorT () |
void | moveCursorU () |
void | reverseMoveCursorX () |
void | reverseMoveCursorY () |
void | reverseMoveCursorZ () |
void | reverseMoveCursorC () |
void | reverseMoveCursorT () |
void | reverseMoveCursorU () |
Linear image traversal. | |
Set cursor to default position (0,0,0,0,0,0). | |
void | resetCursor () |
Set cursor to default position (0,0,0,0,0,0). | |
bool | moveCursorXWrapAround () |
Special cursor move: Increment x coordinate of cursor. | |
Protected Member Functions | |
TVirtualVolume () | |
Hide the default constructor to avoid incorrect usage due to missing initializations. | |
TVirtualVolume & | operator= (const TVirtualVolume &) |
Hide the default assignment operator to avoid incorrect usage due to missing initializations. | |
void | _init (VirtualVolume &vVol) |
Initialize the typed virtual volume. A valid virtual volume should be passed. | |
void | _cleanUp () |
Clean up all settings. Implements the destruction sequence. | |
Both with and without tests and exceptions is implemented. | |
DATATYPE | _getVoxel1D (const ImageVector &pos) |
Get voxel method for a certain dimension. (1d) | |
DATATYPE | _getVoxel2D (const ImageVector &pos) |
Get voxel method for a certain dimension. (2d) | |
DATATYPE | _getVoxel3D (const ImageVector &pos) |
Get voxel method for a certain dimension. (3d) | |
DATATYPE | _getVoxel4D (const ImageVector &pos) |
Get voxel method for a certain dimension. (4d) | |
DATATYPE | _getVoxel5D (const ImageVector &pos) |
Get voxel method for a certain dimension. (5d) | |
DATATYPE | _getVoxel6D (const ImageVector &pos) |
Get voxel method for a certain dimension. (6d) | |
DATATYPE | _getVoxel1DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (1D) | |
DATATYPE | _getVoxel2DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (2d) | |
DATATYPE | _getVoxel3DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (3d) | |
DATATYPE | _getVoxel4DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (4d) | |
DATATYPE | _getVoxel5DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (5d) | |
DATATYPE | _getVoxel6DE (const ImageVector &pos) |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (6d) | |
Implementation of 6 setValue versions, optimized to the image dimensions. | |
In all functions first calculate the page index by dividing the coordinate components by their page extents and by multiplying them with _strides. Then call the page data access function by calling the function pointer in the page. That function maps the page if necessary. Then compute the index into that page by multiplying the coordinate components with _pStrides. Both with and without tests and exceptions is implemented. | |
void | _setVoxel1D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (1d) | |
void | _setVoxel2D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (2d) | |
void | _setVoxel3D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (3d) | |
void | _setVoxel4D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (4d) | |
void | _setVoxel5D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (5d) | |
void | _setVoxel6D (const ImageVector &pos, DATATYPE voxVal) |
Set voxel method for a certain dimension. (6d) | |
void | _setVoxel1DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (1d) | |
void | _setVoxel2DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (2d) | |
void | _setVoxel3DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (3d) | |
void | _setVoxel4DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (4d) | |
void | _setVoxel5DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (5d) | |
void | _setVoxel6DE (const ImageVector &pos, DATATYPE voxVal) |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (6d) | |
Implementation of 6 isMapped versions, optimized to the image dimensions. | |
In all functions first calculate the page index by dividing the coordinate components by their page extents and by multiplying them with _strides. Then it looks whether the function to access the page is set or the load page function. Both with and without tests and exceptions is implemented. | |
bool | _isMapped1D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (1d) | |
bool | _isMapped2D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (2d) | |
bool | _isMapped3D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (3d) | |
bool | _isMapped4D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (4d) | |
bool | _isMapped5D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) | |
bool | _isMapped6D (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) | |
bool | _isMapped1DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (1d) Throws exception if out of range. | |
bool | _isMapped2DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (2d) Throws exception if out of range. | |
bool | _isMapped3DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (3d) Throws exception if out of range. | |
bool | _isMapped4DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (4d) Throws exception if out of range. | |
bool | _isMapped5DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) Throws exception if out of range. | |
bool | _isMapped6DE (const ImageVector &pos) const |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) Throws exception if out of range. | |
Set the cursor to a certain position in 1D-6D, without and with exceptions. | |
Cursor offsetting implementation. | |
void | _setCursorPos1D (const ImageVector &p) |
Set cursor position for a certain dimension. (1d) | |
void | _setCursorPos2D (const ImageVector &p) |
Set cursor position for a certain dimension. (2d) | |
void | _setCursorPos3D (const ImageVector &p) |
Set cursor position for a certain dimension. (3d) | |
void | _setCursorPos4D (const ImageVector &p) |
Set cursor position for a certain dimension. (4d) | |
void | _setCursorPos5D (const ImageVector &p) |
Set cursor position for a certain dimension. (5d) | |
void | _setCursorPos6D (const ImageVector &p) |
Set cursor position for a certain dimension. (6d) | |
void | _setCursorPos1DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (1d) | |
void | _setCursorPos2DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (2d) | |
void | _setCursorPos3DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (3d) | |
void | _setCursorPos4DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (4d) | |
void | _setCursorPos5DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (5d) | |
void | _setCursorPos6DE (const ImageVector &p) |
Set cursor position for a certain dimension with testing and exception throw if necessary. (6d) | |
void | _moveCursorOffset1D (const ImageVector &p) |
Move cursor by an offset to a new position. (1d) | |
void | _moveCursorOffset2D (const ImageVector &p) |
Move cursor by an offset to a new position. (2d) | |
void | _moveCursorOffset3D (const ImageVector &p) |
Move cursor by an offset to a new position. (3d) | |
void | _moveCursorOffset4D (const ImageVector &p) |
Move cursor by an offset to a new position. (4d) | |
void | _moveCursorOffset5D (const ImageVector &p) |
Move cursor by an offset to a new position. (5d) | |
void | _moveCursorOffset6D (const ImageVector &p) |
Move cursor by an offset to a new position. (6d) | |
void | _moveCursorOffset1DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (1d) | |
void | _moveCursorOffset2DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (2d) | |
void | _moveCursorOffset3DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (3d) | |
void | _moveCursorOffset4DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (4d) | |
void | _moveCursorOffset5DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (5d) | |
void | _moveCursorOffset6DE (const ImageVector &p) |
Move cursor by an offset to a new position with testing and exception throw if necessary. (6d) | |
Move cursor to next higher position. The *E versions throw ML_OUT_OF_RANGE exceptions when outside the image. | |
Cursor movement implementation. | |
void | _moveFX () |
void | _moveFY () |
void | _moveFZ () |
void | _moveFC () |
void | _moveFT () |
void | _moveFU () |
void | _moveFXE () |
void | _moveFYE () |
void | _moveFZE () |
void | _moveFCE () |
void | _moveFTE () |
void | _moveFUE () |
Move cursor to next lower position. The *E versions throw ML_OUT_OF_RANGE exceptions when outside the image. | |
void | _moveBX () |
void | _moveBY () |
void | _moveBZ () |
void | _moveBC () |
void | _moveBT () |
void | _moveBU () |
void | _moveBXE () |
void | _moveBYE () |
void | _moveBZE () |
void | _moveBCE () |
void | _moveBTE () |
void | _moveBUE () |
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.
Accesses to the virtual volume can simple be performed with setValue and getValue. The accesses by the setValue and getValue are well optimized code which might be between 9 (1D), 18 (3D) and 36 (6D) instructions per voxel if the page below position is already mapped.
A cursor manager is also available to move a cursor forward with moveF*, backwards with moveB* methods. About 5-9 instructions might be executed for these move methods.
Accesses to voxels below cursor are available with setCursorValue and getCursorValue. On good compilers and already mapped pages they might use about 5-7 instructions.
So the cursor approach will probably be faster on data volumes with more than 2 dimensions.
Notes:
All calls of virtual volume accesses can be executed with or without testing of correctness (see areExceptionsOn parameter of constructors). If areExceptionsOn is true then all accesses to the virtual volume are tested and if necessary exceptions are thrown which can be caught by the code calling the virtual volume methods. Otherwise most functions perform no testing. Note that exception handling versions are slower than with disabled exceptions.
There are also some routines to get the boxes of the currently written pages. It is also possible to read/write the data of the written pages directly.
EXCEPTIONS:
The following exceptions are thrown if areExceptionsOn is passed as true to the constructors and errors occur:
Other exception resulting from failures of page requesting could also be thrown. They usually are returned redirected from getTile-commands.
If areExceptionsOn == false then no exceptions are thrown and many errors are handled by calling the ML_PRINT*() error macros and terminating the function/method. The virtual volume instance will be invalidated then. Invalid voxel accesses or memory failures during voxel accesses will destroy program state or cause unknown exceptions.
Note that areExceptionsOn == true degrades performance of voxel accesses.
Definition at line 210 of file mlTVirtualVolume.h.
A typedef to "export" the type of voxels components.
Definition at line 223 of file mlTVirtualVolume.h.
|
inlineprotected |
Hide the default constructor to avoid incorrect usage due to missing initializations.
Definition at line 214 of file mlTVirtualVolume.h.
|
inline |
Constructor 1.
A valid VirtualVolume vVol must be passed. vVol is not destroyed by the destructor when this is deleted (see destructor comments).
Definition at line 227 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Convenience constructor (2) creating an untyped virtual volume inside the typed one to avoid additional management of the untyped instance.
For documentation of parameters see corresponding constructor of VirtualVolume. Note that this constructor builds a significant VirtualVolume data structure inside, which will be destroyed automatically on TVirtualVolume destruction (see destructor comments).
Definition at line 240 of file mlTVirtualVolume.h.
References MLGetDataTypeFromPtr(), and mlrange_cast().
|
inline |
Convenience constructor (3) creating an untyped virtual volume inside the typed one to avoid additional management of the untyped instance.
For documentation of parameters see corresponding constructor of VirtualVolume. Note that this constructor builds a significant VirtualVolume data structure inside which will be destroyed automatically on TVirtualVolume destruction (see destructor comments).
Definition at line 257 of file mlTVirtualVolume.h.
References MLGetDataTypeFromPtr(), and mlrange_cast().
|
inlinevirtual |
Destructor.
Destroys this instance. The used untyped virtualVolume instance vVol is left unchanged if it was passed as reference to the constructor 1 (the TVirtualVolume(VirtualVolume &vVol)). If it was automatically created by any of the convenience constructors 2 or 3 it also will be deleted.
Definition at line 273 of file mlTVirtualVolume.h.
|
protected |
Clean up all settings. Implements the destruction sequence.
Definition at line 1320 of file mlTVirtualVolume.h.
|
inlineprotected |
Get voxel method for a certain dimension. (1d)
Definition at line 1362 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 635 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 642 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (1D)
Definition at line 1370 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Get voxel method for a certain dimension. (2d)
Definition at line 1381 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 636 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 643 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (2d)
Definition at line 1389 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Get voxel method for a certain dimension. (3d)
Definition at line 1402 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 637 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 644 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (3d)
Definition at line 1412 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Get voxel method for a certain dimension. (4d)
Definition at line 1429 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 638 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 645 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (4d)
Definition at line 1443 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Get voxel method for a certain dimension. (5d)
Definition at line 1463 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 639 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 646 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (5d)
Definition at line 1479 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Get voxel method for a certain dimension. (6d)
Definition at line 1503 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 640 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 647 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Get voxel at a position for a certain dimension with testing and exception throw if necessary. (6d)
Definition at line 1521 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
protected |
Initialize the typed virtual volume. A valid virtual volume should be passed.
Initialize the typed virtual volume.
A valid virtual volume must be passed. Note that this function does NOT change the _convenienceInstance pointer (which must initialized to NULL or to a valid local instance before).
Select the correct cursor movement functions for exception case.
Select the correct cursor movement functions for non exception case.
Definition at line 1143 of file mlTVirtualVolume.h.
References ML_BAD_DATA_TYPE, ML_BAD_DIMENSION, ML_PRINT_ERROR, ML_PRINT_FATAL_ERROR, MLGetDataTypeFromPtr(), and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (1d)
Definition at line 2216 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 663 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 670 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (1d) Throws exception if out of range.
Definition at line 2224 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (2d)
Definition at line 2236 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 664 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 671 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (2d) Throws exception if out of range.
Definition at line 2244 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (3d)
Definition at line 2257 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 665 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 672 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (3d) Throws exception if out of range.
Definition at line 2267 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (4d)
Definition at line 2284 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 666 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 673 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (4d) Throws exception if out of range.
Definition at line 2295 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d)
Definition at line 2314 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 667 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 674 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) Throws exception if out of range.
Definition at line 2326 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d)
Definition at line 2348 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt.
|
inlinestaticprotected |
Definition at line 668 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 675 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Returns true if voxel is mapped in memory for a certain dimension, otherwise false. (6d) Throws exception if out of range.
Definition at line 2361 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Definition at line 833 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 861 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 868 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 846 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Definition at line 834 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 862 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 869 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 847 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Definition at line 835 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 863 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 870 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 848 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Definition at line 830 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 858 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 865 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 843 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Definition at line 831 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 859 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 866 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 844 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Definition at line 832 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 860 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 867 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 845 of file mlTVirtualVolume.h.
References _VV_MOVEBE_TEST.
|
inlineprotected |
Move cursor by an offset to a new position. (1d)
Definition at line 1994 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 754 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 761 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (1d)
Definition at line 2003 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position. (2d)
Definition at line 2016 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 755 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 762 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (2d)
Definition at line 2026 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position. (3d)
Definition at line 2041 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 756 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 763 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (3d)
Definition at line 2054 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position. (4d)
Definition at line 2074 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 757 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 764 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (4d)
Definition at line 2089 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position. (5d)
Definition at line 2112 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 758 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 765 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (5d)
Definition at line 2132 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position. (6d)
Definition at line 2161 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 759 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 766 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Move cursor by an offset to a new position with testing and exception throw if necessary. (6d)
Definition at line 2181 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Definition at line 794 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 813 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 820 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 801 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Definition at line 795 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 814 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 821 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 802 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Definition at line 796 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 815 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 822 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 803 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Definition at line 791 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 810 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 817 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 798 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Definition at line 792 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 811 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 818 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 799 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Definition at line 793 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 812 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 819 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Definition at line 800 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE.
|
inlineprotected |
Set cursor position for a certain dimension. (1d)
Definition at line 1768 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 709 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 716 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (1d)
Definition at line 1777 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension. (2d)
Definition at line 1790 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 710 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 717 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (2d)
Definition at line 1801 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension. (3d)
Definition at line 1817 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 711 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 718 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (3d)
Definition at line 1830 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension. (4d)
Definition at line 1850 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 712 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 719 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (4d)
Definition at line 1865 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension. (5d)
Definition at line 1888 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 713 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 720 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (5d)
Definition at line 1906 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension. (6d)
Definition at line 1935 of file mlTVirtualVolume.h.
|
inlinestaticprotected |
Definition at line 714 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 721 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set cursor position for a certain dimension with testing and exception throw if necessary. (6d)
Definition at line 1955 of file mlTVirtualVolume.h.
References ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (1d)
Definition at line 1556 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 649 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 656 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (1d)
Definition at line 1565 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (2d)
Definition at line 1578 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 650 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 657 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (2d)
Definition at line 1587 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (3d)
Definition at line 1601 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 651 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 658 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (3d)
Definition at line 1612 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (4d)
Definition at line 1630 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 652 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 659 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (4d)
Definition at line 1645 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (5d)
Definition at line 1668 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 653 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 660 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (5d)
Definition at line 1685 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
|
inlineprotected |
Set voxel method for a certain dimension. (6d)
Definition at line 1712 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestaticprotected |
Definition at line 654 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestaticprotected |
Definition at line 661 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Set voxel at a position for a certain dimension with testing and exception throw if necessary. (6d)
Definition at line 1731 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, ML_OUT_OF_RANGE, and mlrange_cast().
void ml::TVirtualVolume< DATATYPE >::copyFromSubImage | ( | const TSubImage< DATATYPE > & | inImg, |
const SubImageBox & | box, | ||
const ImageVector & | pos ) |
Copy the area given by box from inImg to the position p of the virtual volume.
Copy area from inImg into virtual volume.
The box position (0,0,0,0,0,0) is considered the first valid voxel in inImg. Before copying the region is limited to valid overlapping areas.
Definition at line 1102 of file mlTVirtualVolume.h.
References mlrange_cast(), and ml::TSubImageBox< intT >::v1.
|
inline |
Takes overlapping region from *this, outSubImg and maskBits and copies all voxels from *this to outSubImg if the corresponding bit in maskBits has the value maskValue.
If the value differs the value bkVal is only written if writeBK is true; otherwise the value in outSubImg is left unchanged. Non-overlapping regions of *this, outSubImg and maskBits are not read, checked or handled. Cursor positions of outSubImg, maskBits and *this are used but restored after usage. Values from this are simply cast from DATATYPE to OUTDTYPE before writing them into outSubimg.
outSubImg | is the target subimage to be filled with masked voxels from *this in regions overlapping *this and maskBits. |
maskBits | specifies voxels mask. If a bit mask value equals maskVal then the voxel from *this is copied to outSubImg if it's within the image extents. |
maskValue | is the value which must be the bit value in maskBits to force a copy of a voxel value to outSubImg; default is true. |
writeBK | determines whether voxel values in outSubImg are filled with bkVal in the case that voxel is not masked; default is false. |
bkVal | is the value written in the case that the corresponding voxel is not masked, that writeBK is true and that voxel is within overlapping range of *this, outSubImg and maskBits; default is 0. |
Definition at line 392 of file mlTVirtualVolume.h.
References ml::SubImage::getBox(), ml::TSubImage< DATATYPE >::getImagePointer(), ml::TSubImageBox< intT >::intersect(), mlrange_cast(), ml::TSubImageBox< intT >::v1, and ml::TSubImageBox< intT >::v2.
void ml::TVirtualVolume< DATATYPE >::copyToSubImage | ( | TSubImage< DATATYPE > & | outSubImg | ) |
Copy area from the virtual volume into the subimage given by outSubImg.
Copy area from virtual volume into outSubImg.
Note that only valid regions of the virtual volumes are read - if outSubImg reaches outside the virtual volume the corresponding areas are not read, i.e. these regions are left undefined in outSubImg.
Definition at line 1093 of file mlTVirtualVolume.h.
References ml::TVirtualVolume< DATATYPE >::copyToSubImage().
Referenced by ml::TVirtualVolume< DATATYPE >::copyToSubImage().
void ml::TVirtualVolume< DATATYPE >::fill | ( | const SubImageBox & | box, |
DATATYPE | value ) |
Fill the area box in the virtual image with voxel value value.
Fill box in virtual volume with value.
If area reaches outside the valid virtual volume area it is automatically clamped to valid voxels.
Definition at line 1064 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 506 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 505 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 504 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 507 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Return the current cursor coordinates.
Definition at line 302 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 493 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Return value under cursor.
Definition at line 1004 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, and mlrange_cast().
|
inlinestatic |
Definition at line 491 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 487 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 490 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 486 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 489 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Wrapper functions for non template application interfaces.
It always requires a valid, non NULL pointer to the correctly typed virtual volume instance, otherwise crashes will occur. Since all these functions are very time critical those pointers are not checked and the calling application must guarantee valid pointers. For documentation have a look at the wrapped function. Removing type names like "Int", "Int64", "Double" or long double and the W at the end of the function name will lead to the name of the corresponding wrapped function.
Definition at line 485 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 492 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 488 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Get a voxel value from the virtual volume.
The position pos
must be within the valid image area.
Definition at line 292 of file mlTVirtualVolume.h.
|
inline |
Get a set of voxels from the virtual volume.
Their positions must be within the valid image area. *pos must point to a vector of at least num vectors with image positions. *results must point to a vector of at least num DATATYPE entries which will be filled with the voxel data. This method is preferable to your own getValue loops since it probably will be optimized in the future.
Definition at line 985 of file mlTVirtualVolume.h.
|
inline |
Returns the pointer to the wrapped untyped virtual volume.
Definition at line 281 of file mlTVirtualVolume.h.
|
inline |
Returns typed pointer to data of written page with page id wp.
wp | is the page id of the written page to access and it must be within [0, getNumWrittenPages()-1]. |
Definition at line 473 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Returns true if voxel is mapped into memory, otherwise it returns false.
Definition at line 311 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 494 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Shift cursor to current position + offset.
Definition at line 331 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 520 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 318 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 511 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 319 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 512 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 320 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 513 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 315 of file mlTVirtualVolume.h.
|
inline |
Special cursor move: Increment x coordinate of cursor.
When going out of image set x to zero and increase y. If y overflows then increment z etc. So an image can easily scanned as a one dimensional sequence. If the cursor is on the last voxel it won't be moved outside the image; it remains there without throwing exceptions or causing errors. It just returns false instead of true. So the sequence resetCursor(); do {} while (moveCursorXWrapAround()); permits easy image scanning.
When going out of image set x to zero and increase y. If y overflows then increment z etc. So an image can easily scanned as a one dimensional sequence. If the cursor is on the last voxel it won't be moved outside the image; it remains there without throwing exceptions or causing errors. It just returns false instead of true. So the sequence resetCursor(); do {} while (moveCursorXWrapAround()); permits easy scanning of the whole virtual volume image.
Definition at line 1028 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 522 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 508 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 316 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 509 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 317 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 510 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlineprotected |
Hide the default assignment operator to avoid incorrect usage due to missing initializations.
Definition at line 218 of file mlTVirtualVolume.h.
|
inline |
Set cursor to default position (0,0,0,0,0,0).
Definition at line 1012 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 521 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 325 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 517 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 326 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 518 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 327 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 519 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 322 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 514 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 323 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 515 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Definition at line 324 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 516 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Set the cursor to a certain position.
Definition at line 299 of file mlTVirtualVolume.h.
|
inlinestatic |
Definition at line 495 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Set value under cursor and lock page.
Definition at line 995 of file mlTVirtualVolume.h.
References ml::PageBuffer::_getPageFkt, ml::PageBuffer::_locked, and mlrange_cast().
|
inlinestatic |
Definition at line 502 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 498 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 501 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 497 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 500 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 496 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 503 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 499 of file mlTVirtualVolume.h.
References mlrange_cast().
|
inline |
Write a voxel into the virtual volume.
The position must be within the valid image area. Written pages are hold in memory until vVol is deleted.
Definition at line 296 of file mlTVirtualVolume.h.