18#ifndef itkTimeVaryingVelocityFieldIntegrationImageFilter_h
19#define itkTimeVaryingVelocityFieldIntegrationImageFilter_h
52template <
typename TTimeVaryingVelocityField,
53 typename TDisplacementField =
54 Image<
typename TTimeVaryingVelocityField::PixelType, TTimeVaryingVelocityField::ImageDimension - 1>>
75 static constexpr unsigned int InputImageDimension = TTimeVaryingVelocityField::ImageDimension;
77 static constexpr unsigned int OutputImageDimension = TDisplacementField::ImageDimension;
82 using VectorType =
typename DisplacementFieldType::PixelType;
83 using RealType =
typename VectorType::RealValueType;
142 itkSetMacro(NumberOfIntegrationSteps,
unsigned int);
148 itkGetConstMacro(NumberOfIntegrationSteps,
unsigned int);
158 itkSetMacro(TimeBoundsAsRates,
bool);
159 itkGetConstMacro(TimeBoundsAsRates,
bool);
160 itkBooleanMacro(TimeBoundsAsRates);
188 unsigned int m_NumberOfIntegrationSteps{};
190 unsigned int m_NumberOfTimePoints{};
194 bool m_TimeBoundsAsRates{
true };
201#ifndef ITK_MANUAL_INSTANTIATION
202# include "itkTimeVaryingVelocityFieldIntegrationImageFilter.hxx"
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Integrate a time-varying velocity field using 4th order Runge-Kutta.
typename DisplacementFieldType::PointType PointType
~TimeVaryingVelocityFieldIntegrationImageFilter() override=default
typename VectorType::RealValueType RealType
typename DisplacementFieldType::PixelType VectorType
typename DisplacementFieldInterpolatorType::Pointer DisplacementFieldInterpolatorPointer
typename DisplacementFieldType::Pointer DisplacementFieldPointer
typename VectorType::ValueType ScalarType
void BeforeThreadedGenerateData() override
TimeVaryingVelocityFieldIntegrationImageFilter()
void GenerateOutputInformation() override
TDisplacementField DisplacementFieldType
void PrintSelf(std::ostream &os, Indent indent) const override
void DynamicThreadedGenerateData(const OutputRegionType &) override
typename VelocityFieldInterpolatorType::Pointer VelocityFieldInterpolatorPointer
TTimeVaryingVelocityField TimeVaryingVelocityFieldType
typename DisplacementFieldType::RegionType OutputRegionType
VectorType IntegrateVelocityAtPoint(const PointType &initialSpatialPoint, const TimeVaryingVelocityFieldType *inputField)
Base class for all vector image interpolators.
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....