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;
212 virtual
void GenerateData() ITK_OVERRIDE;
215 virtual
void StartOptimization();
221 virtual
void InitializeRegistrationAtEachLevel( const
SizeValueType ) ITK_OVERRIDE;
227 const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType,
228 const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType,
229 const MovingImageMasksContainerType, MeasureType & );
233 virtual
DisplacementFieldPointer InvertDisplacementField( const DisplacementFieldType *, const DisplacementFieldType * = ITK_NULLPTR );
235 RealType m_LearningRate;
240 RealType m_ConvergenceThreshold;
241 unsigned int m_ConvergenceWindowSize;
244 bool m_DownsampleImagesForMetricDerivatives;
245 bool m_AverageMidPointGradients;
250 RealType m_GaussianSmoothingVarianceForTheUpdateField;
251 RealType m_GaussianSmoothingVarianceForTheTotalField;
255 #ifndef ITK_MANUAL_INSTANTIATION
256 #include "itkSyNImageRegistrationMethod.hxx"
Superclass::MovingImageMasksContainerType MovingImageMasksContainerType
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
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::FixedImageMasksContainerType FixedImageMasksContainerType
Superclass::PointSetType PointSetType
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
MovingImageType::Pointer MovingImagePointer
OutputTransformType::Pointer OutputTransformPointer
ImageMaskSpatialObjectType::ImageType FixedMaskImageType
Superclass::VirtualImageType VirtualImageType
Superclass::InitialTransformType InitialTransformType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::MetricType MetricType
Superclass::ImageMetricType ImageMetricType
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType
unsigned long SizeValueType
DisplacementFieldType::PixelType DisplacementVectorType
TFixedImage FixedImageType
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
Superclass::VirtualImageBaseConstPointer VirtualImageBaseConstPointer
ImageMaskSpatialObject< ImageDimension > ImageMaskSpatialObjectType
Interface method for the performing greedy SyN image registration.
Superclass::VirtualImageBaseType VirtualImageBaseType
Superclass::CompositeTransformType CompositeTransformType
TOutputTransform OutputTransformType
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
TOutputTransform OutputTransformType
Superclass::PointSetsContainerType PointSetsContainerType
Superclass::FixedImagesContainerType FixedImagesContainerType
Superclass::MultiMetricType MultiMetricType
Superclass::MovingImagesContainerType MovingImagesContainerType
ImageMaskSpatialObjectType::ImageType MovingMaskImageType
ImageMetricType::Pointer ImageMetricPointer
TMovingImage MovingImageType
ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Superclass
ImageMetricType::MeasureType MeasureType
DisplacementFieldType::Pointer DisplacementFieldPointer
OutputTransformType::DerivativeType DerivativeType
std::vector< MovingImagePointer > MovingImagesContainerType
CompositeTransformType::TransformType TransformBaseType
OutputTransformType::DisplacementFieldType DisplacementFieldType
Superclass::DecoratedOutputTransformType DecoratedOutputTransformType
OutputTransformType::ScalarType RealType
FixedImageType::Pointer FixedImagePointer
Control indentation during Print() invocation.
DerivativeType::ValueType DerivativeValueType
std::vector< FixedImagePointer > FixedImagesContainerType
Array< SizeValueType > NumberOfIterationsArrayType
DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
Interface method for the current registration framework.
MetricType::Pointer MetricPointer
SyNImageRegistrationMethod Self
PointSetType::Pointer PointSetPointer
SmartPointer< const Self > ConstPointer
OutputTransformType::ScalarType RealType
std::vector< PointSetConstPointer > PointSetsContainerType
OutputTransformType::Pointer OutputTransformPointer
Superclass::ImageType ImageType