20 #ifndef MIRTK_BSplineInterpolateImageFunction_H 21 #define MIRTK_BSplineInterpolateImageFunction_H 23 #include "mirtk/InterpolateImageFunction.h" 24 #include "mirtk/MirrorExtrapolateImageFunction.h" 41 template <
class TImage>
45 mirtkGenericInterpolatorMacro(
105 VoxelType
Get2D(
double,
double,
double = 0,
double = 0)
const;
120 template <
class TOtherImage>
typename TOtherImage::VoxelType
121 Get2D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
133 template <
class TOtherImage,
class TCoefficient>
typename TCoefficient::VoxelType
135 double,
double,
double = 0,
double = 0)
const;
141 VoxelType
Get3D(
double,
double,
double = 0,
double = 0)
const;
156 template <
class TOtherImage>
typename TOtherImage::VoxelType
157 Get3D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
169 template <
class TOtherImage,
class TCoefficient>
typename TCoefficient::VoxelType
171 double,
double,
double = 0,
double = 0)
const;
177 VoxelType
Get4D(
double,
double,
double = 0,
double = 0)
const;
192 template <
class TOtherImage>
typename TOtherImage::VoxelType
193 Get4D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
205 template <
class TOtherImage,
class TCoefficient>
typename TCoefficient::VoxelType
207 double,
double,
double = 0,
double = 0)
const;
213 VoxelType
Get(
double,
double,
double = 0,
double = 0)
const;
219 VoxelType
GetWithPadding(
double,
double,
double = 0,
double = 0)
const;
228 template <
class TOtherImage>
typename TOtherImage::VoxelType
229 Get(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
241 template <
class TOtherImage,
class TCoefficient>
typename TCoefficient::VoxelType
243 double,
double,
double = 0,
double = 0)
const;
250 virtual VoxelType
GetInside(
double,
double,
double = 0,
double = 0)
const;
253 virtual VoxelType
GetOutside(
double,
double,
double = 0,
double = 0)
const;
295 #endif // MIRTK_BSplineInterpolateImageFunction_H mirtkPublicAttributeMacro(int, SplineDegree)
Degree of B-spline.
BSplineInterpolateImageFunction(int degree=3)
Constructor.
GenericBSplineInterpolateImageFunction(int=3)
Constructor.
virtual ~GenericBSplineInterpolateImageFunction()
Destructor.
VoxelType Get3D(double, double, double=0, double=0) const
VoxelType Get2D(double, double, double=0, double=0) const
virtual void Initialize()
VoxelType Get4D(double, double, double=0, double=0) const
virtual void Update()
Update spline coefficients.
VoxelType Get(double, double, double=0, double=0) const
virtual VoxelType GetWithPaddingOutside(double, double, double=0, double=0) const
mirtkComponentMacro(CoefficientExtrapolator, InfiniteCoefficient)
Infinite discrete coefficient image obtained by extrapolation.
VoxelType GetWithPadding4D(double, double, double=0, double=0) const
VoxelType GetWithPadding2D(double, double, double=0, double=0) const
virtual VoxelType GetOutside(double, double, double=0, double=0) const
Evaluate generic image at an arbitrary location (in pixels)
virtual VoxelType GetInside(double, double, double=0, double=0) const
virtual void BoundingInterval(double, int &, int &) const
VoxelType GetWithPadding(double, double, double=0, double=0) const
VoxelType GetWithPadding3D(double, double, double=0, double=0) const
mirtkAttributeMacro(bool, UseInputCoefficients)
Input image contains spline coefficients.
virtual VoxelType GetWithPaddingInside(double, double, double=0, double=0) const