18 #ifndef itkSyNImageRegistrationMethod_h
19 #define itkSyNImageRegistrationMethod_h
66 template<
typename TFixedImage,
typename TMovingImage,
typename TOutputTransform =
67 DisplacementFieldTransform<double, TFixedImage::ImageDimension>,
68 typename TVirtualImage = TFixedImage,
69 typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension> >
85 itkStaticConstMacro(
ImageDimension,
unsigned int, TFixedImage::ImageDimension );
127 typedef typename OutputTransformType::ScalarType
RealType;
146 itkSetMacro( LearningRate,
RealType );
147 itkGetConstMacro( LearningRate,
RealType );
156 itkSetMacro( ConvergenceThreshold,
RealType );
157 itkGetConstMacro( ConvergenceThreshold,
RealType );
161 itkSetMacro( ConvergenceWindowSize,
unsigned int );
162 itkGetConstMacro( ConvergenceWindowSize,
unsigned int );
169 itkSetMacro( DownsampleImagesForMetricDerivatives,
bool );
170 itkGetConstMacro( DownsampleImagesForMetricDerivatives,
bool );
176 itkSetMacro( AverageMidPointGradients,
bool );
177 itkGetConstMacro( AverageMidPointGradients,
bool );
184 itkSetMacro( GaussianSmoothingVarianceForTheUpdateField,
RealType );
185 itkGetConstReferenceMacro( GaussianSmoothingVarianceForTheUpdateField,
RealType );
192 itkSetMacro( GaussianSmoothingVarianceForTheTotalField,
RealType );
193 itkGetConstReferenceMacro( GaussianSmoothingVarianceForTheTotalField,
RealType );
209 virtual void PrintSelf( std::ostream & os,
Indent indent )
const ITK_OVERRIDE;
227 const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType,
228 const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType,
229 const MovingImageMasksContainerType, MeasureType & );
249 void operator=( const
Self & ) ITK_DELETE_FUNCTION;
256 #ifndef ITK_MANUAL_INSTANTIATION
257 #include "itkSyNImageRegistrationMethod.hxx"
virtual DisplacementFieldPointer ComputeUpdateField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)
Superclass::MovingImageMasksContainerType MovingImageMasksContainerType
Transform< RealType, ImageDimension, ImageDimension > InitialTransformType
virtual ~SyNImageRegistrationMethod()
Implementation of an image mask as spatial object.
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
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::FixedImageMasksContainerType FixedImageMasksContainerType
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
ImageMaskSpatialObjectType::ImageType FixedMaskImageType
Superclass::VirtualImageType VirtualImageType
bool m_DownsampleImagesForMetricDerivatives
Superclass::InitialTransformType InitialTransformType
ImageMetricType::FixedImageMaskType FixedImageMaskType
Superclass::FixedImageMaskType FixedImageMaskType
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
Superclass::MetricType MetricType
Superclass::ImageMetricType ImageMetricType
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType
unsigned long SizeValueType
OutputTransformPointer m_MovingToMiddleTransform
SyNImageRegistrationMethod()
DisplacementFieldType::PixelType DisplacementVectorType
TFixedImage FixedImageType
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
ImageToImageMetricv4< FixedImageType, MovingImageType, VirtualImageType, RealType > ImageMetricType
Superclass::VirtualImageBaseConstPointer VirtualImageBaseConstPointer
ImageMaskSpatialObject< ImageDimension > ImageMaskSpatialObjectType
Interface method for the performing greedy SyN image registration.
Superclass::VirtualImageBaseType VirtualImageBaseType
RealType m_GaussianSmoothingVarianceForTheTotalField
Superclass::CompositeTransformType CompositeTransformType
TOutputTransform OutputTransformType
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
TOutputTransform OutputTransformType
Superclass::PointSetsContainerType PointSetsContainerType
Superclass::FixedImagesContainerType FixedImagesContainerType
ImageMetricType::MovingImageMaskType MovingImageMaskType
Superclass::MultiMetricType MultiMetricType
RealType m_ConvergenceThreshold
Superclass::MovingImagesContainerType MovingImagesContainerType
ImageMaskSpatialObjectType::ImageType MovingMaskImageType
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
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
Superclass::ImageType ImageType
virtual DisplacementFieldPointer ComputeMetricGradientField(const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)