18 #ifndef itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
19 #define itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
86 template<
typename TFixedImage,
typename TMovingImage,
typename TOutputTransform =
87 TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>,
88 typename TVirtualImage = TFixedImage,
89 typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension> >
99 TVirtualImage, TPointSet>;
107 static constexpr
unsigned int ImageDimension = TFixedImage::ImageDimension;
151 using RealType =
typename OutputTransformType::ScalarType;
186 itkSetMacro( LearningRate,
RealType );
187 itkGetConstMacro( LearningRate,
RealType );
196 itkSetMacro( ConvergenceThreshold,
RealType );
197 itkGetConstMacro( ConvergenceThreshold,
RealType );
201 itkSetMacro( ConvergenceWindowSize,
unsigned int );
202 itkGetConstMacro( ConvergenceWindowSize,
unsigned int );
213 void PrintSelf( std::ostream & os,
Indent indent )
const override;
216 void GenerateData()
override;
219 virtual void StartOptimization();
224 void AttachMetricGradientPointSetAtSpecificTimePoint(
const RealType,
235 unsigned int m_ConvergenceWindowSize{ 10 };
245 #ifndef ITK_MANUAL_INSTANTIATION
246 #include "itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.hxx"
TPointSet InputPointSetType
typename DisplacementFieldType::PointType DisplacementFieldPointType
TMovingImage MovingImageType
Implementation of an image mask as spatial object.
typename CompositeTransformType::TransformType TransformBaseType
typename TimeVaryingVelocityFieldControlPointLatticeType::PixelType DisplacementVectorType
Light weight base class for most itk classes.
typename WeightsContainerType::Element WeightsElementType
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
typename ImageMetricType::MeasureType MeasureType
typename ImageMaskSpatialObjectType::ImageType MaskImageType
typename OutputTransformType::DerivativeType DerivativeType
unsigned long SizeValueType
This class takes one ore more ObjectToObject metrics and assigns weights to their derivatives to comp...
typename OutputTransformType::DisplacementFieldType DisplacementFieldType
Computes similarity between two point sets.
std::vector< MovingImageConstPointer > MovingImagesContainerType
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldType
TVirtualImage VirtualImageType
typename ImageMetricType::FixedImageMaskType FixedImageMaskType
typename ImageMetricType::Pointer ImageMetricPointer
typename VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
Base class for all object-to-object similarlity metrics added in ITKv4.
typename Superclass::DerivativeType DerivativeType
WeightsElementType m_BoundaryWeight
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldPointer
typename MovingImageType::Pointer MovingImagePointer
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldControlPointLatticePointer
typename Superclass::MeasureType MeasureType
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
std::vector< PointSetConstPointer > PointSetsContainerType
typename DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
typename InputPointSetType::Pointer InputPointSetPointer
Interface method for the current registration framework using the time varying velocity field transfo...
typename BSplineFilterType::WeightsContainerType WeightsContainerType
Decorates any subclass of itkObject with a DataObject API.
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
typename DerivativeType::ValueType DerivativeValueType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
RealType m_ConvergenceThreshold
typename ImageMetricType::DerivativeType MetricDerivativeType
typename DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
DisplacementFieldTransformPointer m_IdentityDisplacementFieldTransform
Image filter which provides a B-spline output approximation.
std::vector< FixedImageConstPointer > FixedImagesContainerType
TOutputTransform OutputTransformType
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldControlPointLatticeType
typename FixedImageType::Pointer FixedImagePointer
Base class for templated image classes.
typename ImageMetricType::MovingImageMaskType MovingImageMaskType
A templated class holding a point in n-Dimensional image space.
typename VelocityFieldPointSetType::Pointer VelocityFieldPointSetPointer
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
typename OutputTransformType::ScalarType RealType
typename Superclass::ImageType ImageType
Interface method for the current registration framework.
typename ImageMaskSpatialObjectType::ImageType FixedMaskImageType
TFixedImage FixedImageType
typename ImageMaskSpatialObjectType::ImageType MovingMaskImageType
Templated n-dimensional image class.
typename MetricType::Pointer MetricPointer
typename OutputTransformType::Pointer OutputTransformPointer