18 #ifndef itkTimeVaryingVelocityFieldImageRegistrationMethodv4_h
19 #define itkTimeVaryingVelocityFieldImageRegistrationMethodv4_h
83 template <
typename TFixedImage,
84 typename TMovingImage,
85 typename TOutputTransform =
86 GaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransform<double, TFixedImage::ImageDimension>,
87 typename TVirtualImage = TFixedImage,
88 typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
105 static constexpr
unsigned int ImageDimension = TFixedImage::ImageDimension;
119 using typename Superclass::ImageMetricType;
123 using typename Superclass::MultiMetricType;
127 using RealType =
typename OutputTransformType::ScalarType;
136 using typename Superclass::CompositeTransformType;
138 using typename Superclass::DecoratedOutputTransformType;
144 itkSetMacro(LearningRate,
RealType);
145 itkGetConstMacro(LearningRate,
RealType);
154 itkSetMacro(ConvergenceThreshold,
RealType);
155 itkGetConstMacro(ConvergenceThreshold,
RealType);
159 itkSetMacro(ConvergenceWindowSize,
unsigned int);
160 itkGetConstMacro(ConvergenceWindowSize,
unsigned int);
167 PrintSelf(std::ostream & os,
Indent indent)
const override;
171 GenerateData()
override;
188 unsigned int m_ConvergenceWindowSize{ 10 };
194 #ifndef ITK_MANUAL_INSTANTIATION
195 # include "itkTimeVaryingVelocityFieldImageRegistrationMethodv4.hxx"