18 #ifndef itkSyNImageRegistrationMethod_h
19 #define itkSyNImageRegistrationMethod_h
65 template<
typename TFixedImage,
typename TMovingImage,
typename TOutputTransform =
66 DisplacementFieldTransform<double, TFixedImage::ImageDimension>,
67 typename TVirtualImage = TFixedImage,
68 typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension> >
84 itkStaticConstMacro(
ImageDimension,
unsigned int, TFixedImage::ImageDimension );
120 typedef typename OutputTransformType::ScalarType
RealType;
139 itkSetMacro( LearningRate,
RealType );
140 itkGetConstMacro( LearningRate,
RealType );
149 itkSetMacro( ConvergenceThreshold,
RealType );
150 itkGetConstMacro( ConvergenceThreshold,
RealType );
154 itkSetMacro( ConvergenceWindowSize,
unsigned int );
155 itkGetConstMacro( ConvergenceWindowSize,
unsigned int );
162 itkSetMacro( DownsampleImagesForMetricDerivatives,
bool );
163 itkGetConstMacro( DownsampleImagesForMetricDerivatives,
bool );
169 itkSetMacro( AverageMidPointGradients,
bool );
170 itkGetConstMacro( AverageMidPointGradients,
bool );
177 itkSetMacro( GaussianSmoothingVarianceForTheUpdateField,
RealType );
178 itkGetConstReferenceMacro( GaussianSmoothingVarianceForTheUpdateField,
RealType );
185 itkSetMacro( GaussianSmoothingVarianceForTheTotalField,
RealType );
186 itkGetConstReferenceMacro( GaussianSmoothingVarianceForTheTotalField,
RealType );
202 virtual void PrintSelf( std::ostream & os,
Indent indent )
const ITK_OVERRIDE;
220 const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType,
221 const PointSetsContainerType, const TransformBaseType *, const FixedImageMaskType *, MeasureType & );
241 void operator=( const Self & );
248 #ifndef ITK_MANUAL_INSTANTIATION
249 #include "itkSyNImageRegistrationMethod.hxx"
Transform< RealType, ImageDimension, ImageDimension > InitialTransformType
virtual ~SyNImageRegistrationMethod()
Superclass::PointSetMetricType PointSetMetricType
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
Superclass::MeasureType MeasureType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
ImageMetricType::FixedImageMaskType FixedImageMaskType
Superclass::PointSetType PointSetType
virtual DisplacementFieldPointer ScaleUpdateField(const DisplacementFieldType *)
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
MovingImageType::Pointer MovingImagePointer
virtual void InitializeRegistrationAtEachLevel(const SizeValueType) override
OutputTransformType::Pointer OutputTransformPointer
TVirtualImage VirtualImageType
static const unsigned int ImageDimension
Superclass::VirtualImageType VirtualImageType
bool m_DownsampleImagesForMetricDerivatives
Superclass::InitialTransformType InitialTransformType
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
Superclass::MetricType MetricType
Superclass::ImageMetricType ImageMetricType
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType
unsigned long SizeValueType
OutputTransformPointer m_MovingToMiddleTransform
SyNImageRegistrationMethod()
virtual DisplacementFieldPointer ComputeUpdateField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMaskType *, MeasureType &)
DisplacementFieldType::PixelType DisplacementVectorType
ImageMetricType::MovingImageMaskType MovingImageMaskType
TFixedImage FixedImageType
ImageToImageMetricv4< FixedImageType, MovingImageType, VirtualImageType, RealType > ImageMetricType
Superclass::VirtualImageBaseConstPointer VirtualImageBaseConstPointer
Interface method for the performing greedy SyN image registration.
Superclass::VirtualImageBaseType VirtualImageBaseType
RealType m_GaussianSmoothingVarianceForTheTotalField
Superclass::CompositeTransformType CompositeTransformType
TOutputTransform OutputTransformType
TOutputTransform OutputTransformType
Superclass::PointSetsContainerType PointSetsContainerType
Superclass::FixedImagesContainerType FixedImagesContainerType
Superclass::MultiMetricType MultiMetricType
RealType m_ConvergenceThreshold
Implementation of the composite pattern.
Superclass::MovingImagesContainerType MovingImagesContainerType
ImageMetricType::Pointer ImageMetricPointer
TMovingImage MovingImageType
ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Superclass
virtual void GenerateData() override
ImageMetricType::MeasureType MeasureType
DisplacementFieldType::Pointer DisplacementFieldPointer
OutputTransformType::DerivativeType DerivativeType
std::vector< MovingImagePointer > MovingImagesContainerType
virtual DisplacementFieldPointer ComputeMetricGradientField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMaskType *, MeasureType &)
ObjectToObjectMetricBaseTemplate< RealType > MetricType
virtual DisplacementFieldPointer GaussianSmoothDisplacementField(const DisplacementFieldType *, const RealType)
unsigned int m_ConvergenceWindowSize
CompositeTransformType::TransformType TransformBaseType
OutputTransformType::DisplacementFieldType DisplacementFieldType
Superclass::DecoratedOutputTransformType DecoratedOutputTransformType
virtual DisplacementFieldPointer InvertDisplacementField(const DisplacementFieldType *, const DisplacementFieldType *=nullptr)
OutputTransformType::ScalarType RealType
DataObjectDecorator< OutputTransformType > DecoratedOutputTransformType
OutputTransformPointer m_FixedToMiddleTransform
FixedImageType::Pointer FixedImagePointer
Control indentation during Print() invocation.
DerivativeType::ValueType DerivativeValueType
std::vector< FixedImagePointer > FixedImagesContainerType
Array< SizeValueType > NumberOfIterationsArrayType
VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
RealType m_GaussianSmoothingVarianceForTheUpdateField
Interface method for the current registration framework.
virtual void StartOptimization()
bool m_AverageMidPointGradients
PointSetToPointSetMetricv4< PointSetType, PointSetType, RealType > PointSetMetricType
MetricType::Pointer MetricPointer
CompositeTransform< RealType, ImageDimension > CompositeTransformType
SyNImageRegistrationMethod Self
PointSetType::Pointer PointSetPointer
SmartPointer< const Self > ConstPointer
OutputTransformType::ScalarType RealType
std::vector< PointSetConstPointer > PointSetsContainerType
OutputTransformType::Pointer OutputTransformPointer
ObjectToObjectMultiMetricv4< ImageDimension, ImageDimension, VirtualImageType, RealType > MultiMetricType
ImageBase< ImageDimension > VirtualImageBaseType