|
Grangeat-based 2D/3D image registration
|
#include <Radon3D.h>
Classes | |
| struct | CommonData |
Public Types | |
| using | IntType = typename texture_t::IntType |
| using | FloatType = typename texture_t::FloatType |
| using | SizeType = typename texture_t::SizeType |
| using | VectorType = typename texture_t::VectorType |
| using | AddressModeType = typename texture_t::AddressModeType |
| texture_t | Type of the texture object that input data will be converted to for sampling. |
This struct is used as a namespace for code that is shared between different implementations of Radon3D_... and DRadon3DDR_... functions
| using reg23::Radon3D< texture_t >::AddressModeType = typename texture_t::AddressModeType |
| using reg23::Radon3D< texture_t >::FloatType = typename texture_t::FloatType |
| using reg23::Radon3D< texture_t >::IntType = typename texture_t::IntType |
| using reg23::Radon3D< texture_t >::SizeType = typename texture_t::SizeType |
| using reg23::Radon3D< texture_t >::VectorType = typename texture_t::VectorType |
|
inlinestatic |
|
inlinestatic |
| texture | The texture object to sample |
| mappingIndexToTexCoord | The mapping from integration iteration index to 3D cartesian texture coordinate (this determines the integration plane) |
| dTexCoordDMappingParameter | The derivative of the sampling locations with respect to some parameter. This is assumed to be constant over the plane. |
| samplesPerDirection | The square-root of the number of samples to make |
IntegrateLooped, with respect to some parameter (according to the value of dTexCoordDMappingParameter).
|
inlinestatic |
| textureIn | The texture object which is being accessed |
| phi | The phi spherical coordinate at which the result should be evaluated |
| theta | The theta spherical coordinate at which the result should be evaluated |
| r | The r spherical coordinate at which the result should be evaluated |
The spherical coordinates should be defined according to the convention stated in reg23/Conventions.md, however the parameter with respect to which this is evaluating the derivative is the unsigned version of r, i.e. the unsigned distance between the orign and the plane.
|
inlinestatic |
| textureIn | The texture object which the returned mapping will be used to access. |
| phi | The phi spherical coordinate of the plane this mapping should correspond to |
| theta | The theta spherical coordinate of the plane this mapping should correspond to |
| r | The r spherical coordinate of the plane this mapping should correspond to |
| mappingIToOffset | The mapping from integration iteration index to untransformed sampling offset |
Linear mapping from integration iteration index to 3D cartesian texture coordinate sampling location, according to the given texture object and integration plane (parameterised in spherical coordinates)The spherical coordinates should be defined according to the convention stated in reg23/Conventions.md
|
inlinestatic |
| planeSize | |
| samplesPerDirection |
Linear mapping from integration iteration index to world sample distance, according to the given plane size and sample countThis is used as part of the approximation of a plane integral: for each sample taken to contribute to the plane integral, the returned functor maps the sample index to the (untransformed) world offset.
The mapping is generated for 3-vectors, as it will ultimately be applied to 3-vectors.
|
inlinestatic |
| texture | The texture object to sample |
| mappingIndexToTexCoord | The mapping from integration iteration index to 3D cartesian texture coordinate (this determines the integration plane) |
| samplesPerDirection | The square-root of the number of samples to make |
mappingIndexToTexCoord can be determined using GetMappingIndexToTexCoord (here the plane to be integrated is defined in spherical coordinates). This function is separate as it is often more efficient to precalculate the value of mappingIndexToTexCoord.