18 #ifndef itkTimeVaryingVelocityFieldIntegrationImageFilter_h
19 #define itkTimeVaryingVelocityFieldIntegrationImageFilter_h
52 template<
typename TTimeVaryingVelocityField,
typename TDisplacementField =
53 Image<
typename TTimeVaryingVelocityField::PixelType,
54 TTimeVaryingVelocityField::ImageDimension - 1> >
61 <TTimeVaryingVelocityField, TDisplacementField>
Superclass;
75 TTimeVaryingVelocityField::ImageDimension );
78 TDisplacementField::ImageDimension );
83 typedef typename DisplacementFieldType::PixelType
VectorType;
84 typedef typename VectorType::RealValueType
RealType;
86 typedef typename DisplacementFieldType::PointType
PointType;
121 itkSetClampMacro( LowerTimeBound,
RealType, 0, 1 );
127 itkGetConstMacro( LowerTimeBound,
RealType );
133 itkSetClampMacro( UpperTimeBound,
RealType, 0, 1 );
139 itkGetConstMacro( UpperTimeBound,
RealType );
145 itkSetMacro( NumberOfIntegrationSteps,
unsigned int );
151 itkGetConstMacro( NumberOfIntegrationSteps,
unsigned int );
180 void operator=( const Self & );
186 #ifndef ITK_MANUAL_INSTANTIATION
187 #include "itkTimeVaryingVelocityFieldIntegrationImageFilter.hxx"
DisplacementFieldPointer m_InitialDiffeomorphism
~TimeVaryingVelocityFieldIntegrationImageFilter()
DisplacementFieldType::PointType PointType
Light weight base class for most itk classes.
TimeVaryingVelocityFieldIntegrationImageFilter()
ImageToImageFilter< TTimeVaryingVelocityField, TDisplacementField > Superclass
RealType m_LowerTimeBound
RealType m_UpperTimeBound
SmartPointer< Self > Pointer
unsigned int m_NumberOfIntegrationSteps
DisplacementFieldType::PixelType VectorType
virtual void ThreadedGenerateData(const OutputRegionType &, ThreadIdType) override
SmartPointer< const Self > ConstPointer
DisplacementFieldInterpolatorPointer m_DisplacementFieldInterpolator
DisplacementFieldType::Pointer DisplacementFieldPointer
void PrintSelf(std::ostream &os, Indent indent) const override
VectorInterpolateImageFunction< DisplacementFieldType, ScalarType > DisplacementFieldInterpolatorType
VectorType::RealValueType RealType
Integrate a time-varying velocity field using 4th order Runge-Kutta.
TDisplacementField DisplacementFieldType
DisplacementFieldInterpolatorType::Pointer DisplacementFieldInterpolatorPointer
TimeVaryingVelocityFieldIntegrationImageFilter Self
DisplacementFieldType::RegionType OutputRegionType
VelocityFieldInterpolatorPointer m_VelocityFieldInterpolator
static const unsigned int OutputImageDimension
unsigned int ThreadIdType
unsigned int m_NumberOfTimePoints
Base class for filters that take an image as input and produce an image as output.
static const unsigned int InputImageDimension
Control indentation during Print() invocation.
VectorInterpolateImageFunction< TimeVaryingVelocityFieldType, ScalarType > VelocityFieldInterpolatorType
Base class for all vector image interpolaters.
TTimeVaryingVelocityField TimeVaryingVelocityFieldType
VectorType::ValueType ScalarType
virtual void BeforeThreadedGenerateData() override
virtual void GenerateOutputInformation() override
VelocityFieldInterpolatorType::Pointer VelocityFieldInterpolatorPointer
VectorType IntegrateVelocityAtPoint(const PointType &initialSpatialPoint, const TimeVaryingVelocityFieldType *inputField)