18#ifndef itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
19#define itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
86template <
typename TFixedImage,
87 typename TMovingImage,
89 typename TVirtualImage = TFixedImage,
151 using RealType =
typename OutputTransformType::ScalarType;
160 typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType;
162 typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer;
165 typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer;
204 itkSetMacro(ConvergenceWindowSize,
unsigned int);
205 itkGetConstMacro(ConvergenceWindowSize,
unsigned int);
262#ifndef ITK_MANUAL_INSTANTIATION
263# include "itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.hxx"
Array class with size defined at construction time.
Image filter which provides a B-spline output approximation.
VectorContainer< unsigned int, RealType > WeightsContainerType
A templated class holding a point in n-Dimensional image space.
SmartPointer< Self > Pointer
Implementation of an image mask as spatial object.
Image< PixelType, TDimension > ImageType
ObjectToObjectMetricBaseTemplate< RealType > MetricType
DataObjectDecorator< OutputTransformType > DecoratedOutputTransformType
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
ObjectToObjectMultiMetricv4< ImageDimension, ImageDimension, VirtualImageType, RealType > MultiMetricType
typename VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
std::vector< PointSetConstPointer > PointSetsContainerType
PointSetToPointSetMetricWithIndexv4< PointSetType, PointSetType, RealType > PointSetMetricType
ImageBase< ImageDimension > VirtualImageBaseType
std::vector< MovingImageConstPointer > MovingImagesContainerType
TVirtualImage VirtualImageType
Transform< RealType, ImageDimension, ImageDimension > InitialTransformType
std::vector< FixedImageConstPointer > FixedImagesContainerType
typename ImageMetricType::MovingImageMaskType MovingImageMaskType
typename ImageMetricType::FixedImageMaskType FixedImageMaskType
ImageRegistrationMethodv4()
CompositeTransform< RealType, ImageDimension > CompositeTransformType
ImageToImageMetricv4< FixedImageType, MovingImageType, VirtualImageType, RealType > ImageMetricType
SmartPointer< Self > Pointer
Templated n-dimensional image class.
Control indentation during Print() invocation.
Array< double > DerivativeType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
SmartPointer< Self > Pointer
Implements transparent reference counting.
typename MovingImageType::Pointer MovingImagePointer
typename DerivativeType::ValueType DerivativeValueType
BSplineScatteredDataPointSetToImageFilter< VelocityFieldPointSetType, TimeVaryingVelocityFieldType > BSplineFilterType
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldType
WeightsElementType m_BoundaryWeight
TPointSet InputPointSetType
typename OutputTransformType::DisplacementFieldType DisplacementFieldType
TOutputTransform OutputTransformType
ImageMaskSpatialObject< ImageDimension > ImageMaskSpatialObjectType
SizeValueType m_NumberOfTimePointSamples
TMovingImage MovingImageType
ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Superclass
typename CompositeTransformType::TransformType TransformBaseType
Image< WeightsElementType, ImageDimension > WeightedMaskImageType
typename ImageMetricType::Pointer ImageMetricPointer
typename TimeVaryingVelocityFieldControlPointLatticeType::PixelType DisplacementVectorType
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
void AttachMetricGradientPointSetAtSpecificTimePoint(const RealType, VelocityFieldPointSetType *, WeightsContainerType *, const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType)
typename ImageMetricType::DerivativeType MetricDerivativeType
typename ImageMetricType::MeasureType MeasureType
typename WeightsContainerType::Element WeightsElementType
ContinuousIndex< typename DisplacementFieldPointType::CoordinateType, ImageDimension > ContinuousIndexType
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldControlPointLatticeType
typename OutputTransformType::ScalarType RealType
void GetMetricDerivativePointSetForAllTimePoints(VelocityFieldPointSetType *, WeightsContainerType *)
PointSet< DisplacementVectorType, ImageDimension+1 > VelocityFieldPointSetType
typename FixedImageType::Pointer FixedImagePointer
TimeVaryingBSplineVelocityFieldImageRegistrationMethod Self
unsigned int m_ConvergenceWindowSize
typename OutputTransformType::Pointer OutputTransformPointer
typename DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
typename VelocityFieldPointSetType::Pointer VelocityFieldPointSetPointer
typename ImageMaskSpatialObjectType::ImageType FixedMaskImageType
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldControlPointLatticePointer
typename ImageMaskSpatialObjectType::ImageType MaskImageType
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
SmartPointer< Self > Pointer
RealType m_ConvergenceThreshold
TFixedImage FixedImageType
Array< SizeValueType > NumberOfIterationsArrayType
typename MetricType::Pointer MetricPointer
~TimeVaryingBSplineVelocityFieldImageRegistrationMethod() override=default
void GenerateData() override
DisplacementFieldTransformPointer m_IdentityDisplacementFieldTransform
static constexpr unsigned int ImageDimension
typename OutputTransformType::DerivativeType DerivativeType
TimeVaryingBSplineVelocityFieldImageRegistrationMethod()
typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldPointer
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType
typename ImageMaskSpatialObjectType::ImageType MovingMaskImageType
typename DisplacementFieldType::PointType DisplacementFieldPointType
virtual void StartOptimization()
typename InputPointSetType::Pointer InputPointSetPointer
typename BSplineFilterType::WeightsContainerType WeightsContainerType
typename Superclass::VirtualImageType VirtualImageType
Image< WeightsElementType, ImageDimension+1 > TimeVaryingWeightedMaskImageType
typename DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType