|
Grangeat-based 2D/3D image registration
|
A parent texture class containing template data and functionality. More...
#include <Texture.h>
Public Types | |
| using | IntType = intType |
| using | FloatType = floatType |
| using | SizeType = Vec< intType, dimensionality > |
| using | VectorType = Vec< floatType, dimensionality > |
| using | AddressModeType = Vec< TextureAddressMode, dimensionality > |
Public Member Functions | |
| __host__ __device__ const SizeType & | Size () const |
| __host__ __device__ const VectorType & | Spacing () const |
| Get the spacing of the texture's values in world coordinates as (X, Y, Z) | |
| __host__ __device__ const VectorType & | CentrePosition () const |
| Get the position of the centre of the texture in world coordinates as (X, Y, Z) | |
| __host__ __device__ VectorType | SizeWorld () const |
| __host__ __device__ bool | In (const SizeType &index) const |
| __host__ __device__ Linear< VectorType > | MappingWorldToTexCoord () const |
Static Public Attributes | |
| static constexpr std::size_t | DIMENSIONALITY = dimensionality |
Protected Member Functions | |
| Texture ()=default | |
| Texture (SizeType _size, VectorType _spacing, VectorType _centrePosition={}) | |
| Texture (const Texture &)=default | |
| Texture & | operator= (const Texture &)=default |
| Texture (Texture &&) noexcept=default | |
| Texture & | operator= (Texture &&) noexcept=default |
A parent texture class containing template data and functionality.
| dimensionality | The integer dimensionality of the texture |
| intType | The type used to express integer values like the dimensions of the texture |
| floatType | The type used to express floating-point values like the spacing of the texture's values in world coordinates |
This class is not an interface, rather it is templated to store some values and implement some functionality common to all texture objects. It is intended to be used as a fully template-specified base class for any texture object.
| using reg23::Texture< dimensionality, intType, floatType >::AddressModeType = Vec<TextureAddressMode, dimensionality> |
| using reg23::Texture< dimensionality, intType, floatType >::FloatType = floatType |
| using reg23::Texture< dimensionality, intType, floatType >::IntType = intType |
| using reg23::Texture< dimensionality, intType, floatType >::VectorType = Vec<floatType, dimensionality> |
|
protecteddefault |
|
inlineprotected |
|
protecteddefault |
|
protecteddefaultnoexcept |
|
inline |
Get the position of the centre of the texture in world coordinates as (X, Y, Z)
|
inline |
| index | A location in the texture data |
|
inline |
Linear mapping from world coordinates to texture coordinates, according to the texture's world position and value spacing.
|
protecteddefault |
|
protecteddefaultnoexcept |
|
inline |
Get the dimensions of the texture as (X size, Y size, Z size); this will be the reverse order to the values returned by at::Tensor::sizes()
|
inline |
|
inline |
Get the spacing of the texture's values in world coordinates as (X, Y, Z)
|
staticconstexpr |