18#ifndef itkSyNImageRegistrationMethod_h
19#define itkSyNImageRegistrationMethod_h
56template <
typename TFixedImage,
57 typename TMovingImage,
59 typename TVirtualImage = TFixedImage,
119 using RealType =
typename OutputTransformType::ScalarType;
153 itkSetMacro(ConvergenceWindowSize,
unsigned int);
154 itkGetConstMacro(ConvergenceWindowSize,
unsigned int);
161 itkSetMacro(DownsampleImagesForMetricDerivatives,
bool);
162 itkGetConstMacro(DownsampleImagesForMetricDerivatives,
bool);
168 itkSetMacro(AverageMidPointGradients,
bool);
169 itkGetConstMacro(AverageMidPointGradients,
bool);
175 itkSetMacro(GaussianSmoothingVarianceForTheUpdateField,
RealType);
176 itkGetConstReferenceMacro(GaussianSmoothingVarianceForTheUpdateField,
RealType);
182 itkSetMacro(GaussianSmoothingVarianceForTheTotalField,
RealType);
183 itkGetConstReferenceMacro(GaussianSmoothingVarianceForTheTotalField,
RealType);
265#ifndef ITK_MANUAL_INSTANTIATION
266# include "itkSyNImageRegistrationMethod.hxx"
Array class with size defined at construction time.
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
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Implements transparent reference counting.
virtual DisplacementFieldPointer GaussianSmoothDisplacementField(const DisplacementFieldType *, const RealType)
typename OutputTransformType::ScalarType RealType
void PrintSelf(std::ostream &os, Indent indent) const override
static constexpr unsigned int ImageDimension
typename ImageMaskSpatialObjectType::ImageType FixedMaskImageType
typename CompositeTransformType::TransformType TransformBaseType
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType
typename ImageMetricType::Pointer ImageMetricPointer
virtual DisplacementFieldPointer ComputeUpdateField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)
typename DerivativeType::ValueType DerivativeValueType
virtual DisplacementFieldPointer ScaleUpdateField(const DisplacementFieldType *)
typename ImageMaskSpatialObjectType::ImageType MovingMaskImageType
RealType m_GaussianSmoothingVarianceForTheUpdateField
virtual void StartOptimization()
typename FixedImageType::Pointer FixedImagePointer
typename DisplacementFieldType::Pointer DisplacementFieldPointer
TOutputTransform OutputTransformType
void InitializeRegistrationAtEachLevel(const SizeValueType) override
SmartPointer< const Self > ConstPointer
typename MovingImageType::Pointer MovingImagePointer
bool m_DownsampleImagesForMetricDerivatives
ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Superclass
virtual DisplacementFieldPointer ComputeMetricGradientField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)
TFixedImage FixedImageType
typename DisplacementFieldType::PixelType DisplacementVectorType
SyNImageRegistrationMethod()
~SyNImageRegistrationMethod() override=default
typename Superclass::VirtualImageType VirtualImageType
typename DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
typename MetricType::Pointer MetricPointer
RealType m_GaussianSmoothingVarianceForTheTotalField
SmartPointer< Self > Pointer
SyNImageRegistrationMethod Self
Array< SizeValueType > NumberOfIterationsArrayType
OutputTransformPointer m_MovingToMiddleTransform
typename OutputTransformType::DisplacementFieldType DisplacementFieldType
typename OutputTransformType::Pointer OutputTransformPointer
OutputTransformPointer m_FixedToMiddleTransform
ImageMaskSpatialObject< ImageDimension > ImageMaskSpatialObjectType
void GenerateData() override
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
RealType m_ConvergenceThreshold
unsigned int m_ConvergenceWindowSize
virtual DisplacementFieldPointer InvertDisplacementField(const DisplacementFieldType *, const DisplacementFieldType *=nullptr)
bool m_AverageMidPointGradients
TMovingImage MovingImageType
typename DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
typename ImageMetricType::MeasureType MeasureType
typename OutputTransformType::DerivativeType DerivativeType
typename PointSetType::Pointer PointSetPointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType