34#ifndef itkAdvancedRayCastInterpolateImageFunction_h
35#define itkAdvancedRayCastInterpolateImageFunction_h
37#include "itkInterpolateImageFunction.h"
38#include "itkTransform.h"
55template <
class TInputImage,
class TCoordRep =
double>
57 :
public InterpolateImageFunction<TInputImage, TCoordRep>
64 using Superclass = InterpolateImageFunction<TInputImage, TCoordRep>;
75 using TransformType = Transform<TCoordRep, InputImageDimension, InputImageDimension>;
83 using PixelType =
typename Superclass::InputPixelType;
85 using SizeType =
typename TInputImage::SizeType;
101 using typename Superclass::OutputType;
104 using typename Superclass::InputImageType;
107 using typename Superclass::RealType;
113 using typename Superclass::PointType;
116 using typename Superclass::IndexType;
119 using typename Superclass::ContinuousIndexType;
164 itkSetMacro(Threshold,
double);
166 itkGetConstMacro(Threshold,
double);
201 PrintSelf(std::ostream & os, Indent indent)
const override;
210 double m_Threshold{ 0.0 };
219 const InputImageType *
const input = this->GetInputImage();
222 itkExceptionMacro(
"Input image required!");
224 return input->GetLargestPossibleRegion().GetSize();
230#ifndef ITK_MANUAL_INSTANTIATION
231# include "itkAdvancedRayCastInterpolateImageFunction.hxx"
Projective interpolation of an image at specified positions.
typename TransformType::JacobianType TransformJacobianType
InterpolatorPointer m_Interpolator
Pointer to the interpolator.
SmartPointer< const Self > ConstPointer
SizeType GetRadius() const override
ITK_DISALLOW_COPY_AND_MOVE(AdvancedRayCastInterpolateImageFunction)
typename TransformType::OutputPointType OutputPointType
Vector< TCoordRep, InputImageDimension > DirectionType
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override
OutputType Evaluate(const PointType &point) const override
Interpolate the image at a point position.
Transform< TCoordRep, InputImageDimension, InputImageDimension > TransformType
typename TInputImage::SizeType SizeType
bool IsInsideBuffer(const IndexType &) const override
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension)
bool IsInsideBuffer(const ContinuousIndexType &) const override
typename TransformType::Pointer TransformPointer
void PrintSelf(std::ostream &os, Indent indent) const override
Print the object.
~AdvancedRayCastInterpolateImageFunction() override=default
Destructor.
bool IsInsideBuffer(const PointType &) const override
itkGetModifiableObjectMacro(Interpolator, InterpolatorType)
itkStaticConstMacro(ImageDimension, unsigned int, Superclass::ImageDimension)
InterpolateImageFunction< TInputImage, TCoordRep > Superclass
typename InterpolatorType::Pointer InterpolatorPointer
TransformPointer m_Transform
Transformation used to calculate the new focal point position.
AdvancedRayCastInterpolateImageFunction()=default
Constructor.
itkGetModifiableObjectMacro(Transform, TransformType)
InterpolateImageFunction< TInputImage, TCoordRep > InterpolatorType
typename TransformType::InputPointType InputPointType
typename TransformType::ParametersType TransformParametersType