Carna
Version 3.3.2
|
Implements IntensityVolume generically for a particular VoxelType. More...
#include <BufferedIntensityVolume.h>
Public Types | |
typedef BufferType | Buffer |
Holds the used buffer type. | |
typedef VoxelType | Voxel |
Holds the type used to store the value of a single voxel. | |
![]() | |
typedef float | Value |
Holds the co-domain type of the vector field. | |
Public Member Functions | |
BufferedIntensityVolume (const math::Vector3ui &size, Association< BufferType > *buffer) | |
Instantiates \(D \to \left[0, 1\right]\) with \(D = [0, s_x) \times [0, s_y) \times [0, s_z)\), where \(s_x, s_y, s_z\) is size. More... | |
BufferedIntensityVolume (const math::Vector3ui &size) | |
float | operator() (unsigned int x, unsigned int y, unsigned int z) const |
Returns intensity of specified voxel. | |
float | operator() (const math::Vector3ui &at) const |
void | setVoxel (unsigned int x, unsigned int y, unsigned int z, float intensity) |
Sets the HUV of a voxel. | |
void | setVoxel (const math::Vector3ui &at, float intensity) |
BufferType & | buffer () |
References the underlying buffer. | |
const BufferType & | buffer () const |
References the underlying buffer. | |
![]() | |
IntensityVolume () | |
Instantiates. | |
IntensityVolume (const math::Vector3ui &size) | |
Instantiates. | |
![]() | |
virtual | ~VectorField () |
Does nothing. | |
Static Public Member Functions | |
static float | bufferValueToIntensity (VoxelType bufferValue) |
Returns the intensity value corresponding to bufferValue. | |
static VoxelType | intensityToBufferValue (float intensity) |
Returns the buffer value corresponding to an intensity. | |
Protected Attributes | |
const std::unique_ptr< Association< BufferType > > | myBuffer |
Holds the underlying buffer. More... | |
Additional Inherited Members | |
![]() | |
math::Vector3ui | size |
Holds the resolution. | |
Implements IntensityVolume generically for a particular VoxelType.
VoxelType | is the data type used to store the value of a single voxel. |
BufferType | is the data type used as voxel container. |
Definition at line 42 of file BufferedIntensityVolume.h.
|
inline |
Instantiates \(D \to \left[0, 1\right]\) with \(D = [0, s_x) \times [0, s_y) \times [0, s_z)\), where \(s_x, s_y, s_z\) is size.
buffer != nullptr && buffer->get() != nullptr
(**buffer).size() >= size.x * size.y * size.z
Definition at line 65 of file BufferedIntensityVolume.h.
|
inlineexplicit |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 74 of file BufferedIntensityVolume.h.
|
inlinevirtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Implements Carna::base::IntensityVolume.
Definition at line 114 of file BufferedIntensityVolume.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 131 of file BufferedIntensityVolume.h.
|
protected |
Holds the underlying buffer.
The voxels are written \(x\)- \(y\)-plane wise, each plane \(x\)-row wise. To compute the index of some voxel \(\left(x, y, z\right)\), use the following computation rule:
\[ x + \mathrm{width} \cdot y + \mathrm{height} \cdot \mathrm{width} \cdot z \]
Definition at line 163 of file BufferedIntensityVolume.h.
Documentation generated by Doxygen