![]() |
LibCarna Version 3.4.0
|
Implements IntensityVolume generically for a particular VoxelType. More...
#include <BufferedIntensityVolume.hpp>
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. | |
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 intensity value 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. | |
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 50 of file BufferedIntensityVolume.hpp.
typedef BufferType LibCarna::base::BufferedIntensityVolume< VoxelType, BufferType >::Buffer |
Holds the used buffer type.
Definition at line 58 of file BufferedIntensityVolume.hpp.
typedef VoxelType LibCarna::base::BufferedIntensityVolume< VoxelType, BufferType >::Voxel |
Holds the type used to store the value of a single voxel.
Definition at line 63 of file BufferedIntensityVolume.hpp.
|
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 73 of file BufferedIntensityVolume.hpp.
|
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 82 of file BufferedIntensityVolume.hpp.
|
inline |
References the underlying buffer.
Definition at line 147 of file BufferedIntensityVolume.hpp.
|
inline |
References the underlying buffer.
Definition at line 155 of file BufferedIntensityVolume.hpp.
|
inlinestatic |
Returns the intensity value corresponding to bufferValue.
Definition at line 92 of file BufferedIntensityVolume.hpp.
|
inlinestatic |
Returns the buffer value corresponding to an intensity.
Definition at line 100 of file BufferedIntensityVolume.hpp.
|
inlinevirtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Implements LibCarna::base::IntensityVolume.
Definition at line 122 of file BufferedIntensityVolume.hpp.
|
inlinevirtual |
Returns intensity of specified voxel.
Implements LibCarna::base::IntensityVolume.
Definition at line 112 of file BufferedIntensityVolume.hpp.
|
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 139 of file BufferedIntensityVolume.hpp.
|
inline |
Sets the intensity value of a voxel.
Definition at line 130 of file BufferedIntensityVolume.hpp.
|
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 171 of file BufferedIntensityVolume.hpp.
Written by Leonid Kostrykin © 2021–2025. Based on Carna (© 2010-2016).
Documentation generated by Doxygen