ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Class Template Reference

#include <itkSyNImageRegistrationMethod.h>

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
class itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >

Interface method for the performing greedy SyN image registration.

For greedy SyN we use m_Transform to map the time-parameterized middle image to the fixed image (and vice versa using m_Transform->GetInverseDisplacementField() ). We employ another ivar, m_InverseTransform, to map the time-parameterized middle image to the moving image.

Output: The output is the updated transform which has been added to the composite transform.

This implementation is based on the source code in Advanced Normalization Tools (ANTs) [6].

The original paper discussing the method is [5].

The method evolved since that time with crucial contributions from Gang Song and Nick Tustison. Though similar in spirit, this implementation is not identical.

Within an iteration, the two ComputeUpdateField() calls resample each image and mask once to the virtual domain and share the result. The cache is keyed only on the image, transform and reference objects, not on their modification times, so a subclass that runs its own iteration loop must call ClearResampleCache() after the update-field calls of each iteration and whenever it changes an image, mask or transform between them.

Todo
Need to allow the fixed image to have a composite transform.
Author
Nick Tustison
Brian Avants

Definition at line 68 of file itkSyNImageRegistrationMethod.h.

+ Inheritance diagram for itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >:
+ Collaboration diagram for itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >:

Classes

struct  ResampleCacheEntry
 

Public Types

using ConstPointer = SmartPointer<const Self>
 
using DecoratedOutputTransformPointer = typename DecoratedOutputTransformType::Pointer
 
using DerivativeType = typename OutputTransformType::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using DisplacementFieldPointer = typename DisplacementFieldType::Pointer
 
using DisplacementFieldTransformPointer = typename DisplacementFieldTransformType::Pointer
 
using DisplacementFieldTransformType = DisplacementFieldTransform<RealType, ImageDimension>
 
using DisplacementFieldType = typename OutputTransformType::DisplacementFieldType
 
using DisplacementVectorType = typename DisplacementFieldType::PixelType
 
using FixedImagePointer = typename FixedImageType::Pointer
 
using FixedImageType = TFixedImage
 
using FixedMaskImageType = typename ImageMaskSpatialObjectType::ImageType
 
using ImageMaskSpatialObjectType = ImageMaskSpatialObject<ImageDimension>
 
using ImageMetricPointer = typename ImageMetricType::Pointer
 
using MeasureType = typename ImageMetricType::MeasureType
 
using MetricPointer = typename MetricType::Pointer
 
using MovingImagePointer = typename MovingImageType::Pointer
 
using MovingImageType = TMovingImage
 
using MovingMaskImageType = typename ImageMaskSpatialObjectType::ImageType
 
using NumberOfIterationsArrayType = Array<SizeValueType>
 
using OutputTransformPointer = typename OutputTransformType::Pointer
 
using OutputTransformType = TOutputTransform
 
using Pointer = SmartPointer<Self>
 
using PointSetPointer = typename PointSetType::Pointer
 
using RealType = typename OutputTransformType::ScalarType
 
using Self = SyNImageRegistrationMethod
 
using Superclass = ImageRegistrationMethodv4<TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet>
 
using TransformBaseType = typename CompositeTransformType::TransformType
 
- Public Types inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
using CompositeTransformPointer = typename CompositeTransformType::Pointer
 
using CompositeTransformType = CompositeTransform<RealType, ImageDimension>
 
using ConstPointer = SmartPointer<const Self>
 
using DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType
 
using DecoratedInitialTransformPointer = typename DecoratedInitialTransformType::Pointer
 
using DecoratedInitialTransformType = DataObjectDecorator<InitialTransformType>
 
using DecoratedOutputTransformPointer = typename DecoratedOutputTransformType::Pointer
 
using DecoratedOutputTransformType = DataObjectDecorator<OutputTransformType>
 
using DerivativeType = typename OutputTransformType::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using FixedImageConstPointer = typename FixedImageType::ConstPointer
 
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
 
using FixedImageMasksContainerType = std::vector<FixedImageMaskConstPointer>
 
using FixedImageMaskType = typename ImageMetricType::FixedImageMaskType
 
using FixedImagePointer = typename FixedImageType::Pointer
 
using FixedImagesContainerType = std::vector<FixedImageConstPointer>
 
using FixedImageType = TFixedImage
 
using ImageMetricType = ImageToImageMetricv4<FixedImageType, MovingImageType, VirtualImageType, RealType>
 
using InitialTransformPointer = typename InitialTransformType::Pointer
 
using InitialTransformType = Transform<RealType, ImageDimension, ImageDimension>
 
using MetricPointer = typename MetricType::Pointer
 
using MetricSamplePointSetType = typename ImageMetricType::FixedSampledPointSetType
 
using MetricSamplingPercentageArrayType = Array<RealType>
 
using MetricSamplingStrategyEnum = ImageRegistrationMethodv4Enums::MetricSamplingStrategy
 
using MetricType = ObjectToObjectMetricBaseTemplate<RealType>
 
using MovingImageConstPointer = typename MovingImageType::ConstPointer
 
using MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer
 
using MovingImageMasksContainerType = std::vector<MovingImageMaskConstPointer>
 
using MovingImageMaskType = typename ImageMetricType::MovingImageMaskType
 
using MovingImagePointer = typename MovingImageType::Pointer
 
using MovingImagesContainerType = std::vector<MovingImageConstPointer>
 
using MovingImageType = TMovingImage
 
using MultiMetricType = ObjectToObjectMultiMetricv4<ImageDimension, ImageDimension, VirtualImageType, RealType>
 
using OptimizerPointer = typename OptimizerType::Pointer
 
using OptimizerType = ObjectToObjectOptimizerBaseTemplate<RealType>
 
using OptimizerWeightsType = typename OptimizerType::ScalesType
 
using OutputTransformPointer = typename OutputTransformType::Pointer
 
using OutputTransformType = TOutputTransform
 
using Pointer = SmartPointer<Self>
 
using PointSetConstPointer = typename PointSetType::ConstPointer
 
using PointSetMetricType = PointSetToPointSetMetricWithIndexv4<PointSetType, PointSetType, RealType>
 
using PointSetsContainerType = std::vector<PointSetConstPointer>
 
using PointSetType = TPointSet
 
using RealType = typename OutputTransformType::ScalarType
 
using Self = ImageRegistrationMethodv4
 
using ShrinkFactorsArrayType = Array<SizeValueType>
 
using ShrinkFactorsPerDimensionContainerType = typename ShrinkFilterType::ShrinkFactorsType
 
using ShrinkFilterType = ShrinkImageFilter<FixedImageType, VirtualImageType>
 
using SmoothingSigmasArrayType = Array<RealType>
 
using Superclass = ProcessObject
 
using TransformParametersAdaptorPointer = typename TransformParametersAdaptorType::Pointer
 
using TransformParametersAdaptorsContainerType = std::vector<TransformParametersAdaptorPointer>
 
using TransformParametersAdaptorType = TransformParametersAdaptorBase<InitialTransformType>
 
using VectorType = Vector<RealType, ImageDimension>
 
using VirtualImageBaseConstPointer = typename VirtualImageBaseType::ConstPointer
 
using VirtualImageBaseType = ImageBase<ImageDimension>
 
using VirtualImagePointer = typename VirtualImageType::Pointer
 
using VirtualImageType = TVirtualImage
 
- Public Types inherited from itk::ProcessObject
using ConstPointer = SmartPointer<const Self>
 
using DataObjectIdentifierType = DataObject::DataObjectIdentifierType
 
using DataObjectPointer = DataObject::Pointer
 
using DataObjectPointerArray = std::vector<DataObjectPointer>
 
using DataObjectPointerArraySizeType = DataObjectPointerArray::size_type
 
using NameArray = std::vector<DataObjectIdentifierType>
 
using Pointer = SmartPointer<Self>
 
using Self = ProcessObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = LightObject
 

Public Member Functions

virtual::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual void SetLearningRate (RealType _arg)
 
virtual RealType GetLearningRate () const
 
virtual void SetNumberOfIterationsPerLevel (NumberOfIterationsArrayType _arg)
 
virtual NumberOfIterationsArrayType GetNumberOfIterationsPerLevel () const
 
virtual void SetConvergenceThreshold (RealType _arg)
 
virtual RealType GetConvergenceThreshold () const
 
virtual void SetConvergenceWindowSize (unsigned int _arg)
 
virtual unsigned int GetConvergenceWindowSize () const
 
virtual void SetDownsampleImagesForMetricDerivatives (bool _arg)
 
virtual bool GetDownsampleImagesForMetricDerivatives () const
 
virtual void SetAverageMidPointGradients (bool _arg)
 
virtual bool GetAverageMidPointGradients () const
 
virtual void SetGaussianSmoothingVarianceForTheUpdateField (RealType _arg)
 
virtual const RealType & GetGaussianSmoothingVarianceForTheUpdateField () const
 
virtual void SetGaussianSmoothingVarianceForTheTotalField (RealType _arg)
 
virtual const RealType & GetGaussianSmoothingVarianceForTheTotalField () const
 
virtual OutputTransformType * GetModifiableFixedToMiddleTransform ()
 
virtual const OutputTransformType * GetFixedToMiddleTransform () const
 
virtual OutputTransformType * GetModifiableMovingToMiddleTransform ()
 
virtual const OutputTransformType * GetMovingToMiddleTransform () const
 
virtual void SetFixedToMiddleTransform (OutputTransformType *_arg)
 
virtual void SetMovingToMiddleTransform (OutputTransformType *_arg)
 
- Public Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
virtual const RealType & GetCurrentConvergenceValue () const
 
virtual const SizeValueType & GetCurrentIteration () const
 
virtual SizeValueType GetCurrentLevel () const
 
virtual const RealType & GetCurrentMetricValue () const
 
virtual const InitialTransformType * GetFixedInitialTransform () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetFixedInitialTransformInput () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetFixedInitialTransformInput () const
 
virtual const InitialTransformType * GetInitialTransform () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetInitialTransformInput () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetInitialTransformInput () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetInputnumber () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetInputnumber () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetInputnumber () const
 
virtual const bool & GetIsConverged () const
 
virtual OutputTransformType * GetModifiableTransform ()
 
virtual const InitialTransformType * GetMovingInitialTransform () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetMovingInitialTransformInput () const
 
virtual const DataObjectDecorator< InitialTransformType > * GetMovingInitialTransformInput () const
 
ShrinkFactorsPerDimensionContainerType GetShrinkFactorsPerDimension (const unsigned int level) const
 
virtual const OutputTransformType * GetTransform () const
 
virtual DecoratedOutputTransformType * GetTransformOutput ()
 
virtual const DecoratedOutputTransformType * GetTransformOutput () const
 
void InitializeCenterOfLinearOutputTransform ()
 
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
DataObjectPointer MakeOutput (DataObjectPointerArraySizeType) override
 
virtual void SetFixedInitialTransform (const InitialTransformType *_arg)
 
virtual void SetFixedInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetInitialTransform (const InitialTransformType *_arg)
 
virtual void SetInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetInputnumber (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetInputnumber (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetInputnumber (const DataObjectDecorator< InitialTransformType > *_arg)
 
void SetMetricSamplingPercentage (const RealType)
 
virtual void SetMovingInitialTransform (const InitialTransformType *_arg)
 
virtual void SetMovingInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
void SetShrinkFactorsPerDimension (unsigned int level, ShrinkFactorsPerDimensionContainerType factors)
 
void SetShrinkFactorsPerLevel (ShrinkFactorsArrayType factors)
 
virtual void SetFixedImage (const FixedImageType *image)
 
virtual const FixedImageType * GetFixedImage () const
 
virtual void SetFixedImage (SizeValueType, const FixedImageType *)
 
virtual const FixedImageType * GetFixedImage (SizeValueType) const
 
virtual void SetMovingImage (const MovingImageType *image)
 
virtual const MovingImageType * GetMovingImage () const
 
virtual void SetMovingImage (SizeValueType, const MovingImageType *)
 
virtual const MovingImageType * GetMovingImage (SizeValueType) const
 
virtual void SetFixedPointSet (const PointSetType *pointSet)
 
virtual const PointSetType * GetFixedPointSet () const
 
virtual void SetFixedPointSet (SizeValueType, const PointSetType *)
 
virtual const PointSetType * GetFixedPointSet (SizeValueType) const
 
virtual void SetMovingPointSet (const PointSetType *pointSet)
 
virtual const PointSetType * GetMovingPointSet () const
 
virtual void SetMovingPointSet (SizeValueType, const PointSetType *)
 
virtual const PointSetType * GetMovingPointSet (SizeValueType) const
 
virtual void SetOptimizer (OptimizerType *_arg)
 
virtual OptimizerType * GetModifiableOptimizer ()
 
virtual const OptimizerType * GetOptimizer () const
 
void SetOptimizerWeights (OptimizerWeightsType &)
 
virtual OptimizerWeightsType GetOptimizerWeights () const
 
virtual void SetMetric (MetricType *_arg)
 
virtual MetricType * GetModifiableMetric ()
 
virtual const MetricType * GetMetric () const
 
virtual void SetMetricSamplingStrategy (const MetricSamplingStrategyEnum _arg)
 
virtual MetricSamplingStrategyEnum GetMetricSamplingStrategy () const
 
void MetricSamplingReinitializeSeed ()
 
void MetricSamplingReinitializeSeed (int seed)
 
virtual void SetMetricSamplingPercentagePerLevel (const MetricSamplingPercentageArrayType &samplingPercentages)
 
virtual MetricSamplingPercentageArrayType GetMetricSamplingPercentagePerLevel () const
 
void SetTransformParametersAdaptorsPerLevel (TransformParametersAdaptorsContainerType &)
 
const TransformParametersAdaptorsContainerType & GetTransformParametersAdaptorsPerLevel () const
 
void SetNumberOfLevels (const SizeValueType)
 
virtual SizeValueType GetNumberOfLevels () const
 
virtual void SetSmoothingSigmasPerLevel (SmoothingSigmasArrayType _arg)
 
virtual SmoothingSigmasArrayType GetSmoothingSigmasPerLevel () const
 
virtual void SetSmoothingSigmasAreSpecifiedInPhysicalUnits (bool _arg)
 
virtual bool GetSmoothingSigmasAreSpecifiedInPhysicalUnits () const
 
virtual void SmoothingSigmasAreSpecifiedInPhysicalUnitsOn ()
 
virtual void SmoothingSigmasAreSpecifiedInPhysicalUnitsOff ()
 
virtual DecoratedOutputTransformType * GetOutput ()
 
virtual const DecoratedOutputTransformType * GetOutput () const
 
virtual void SetInPlace (bool _arg)
 
virtual bool GetInPlace () const
 
virtual void InPlaceOn ()
 
virtual void InPlaceOff ()
 
virtual void InitializeCenterOfLinearOutputTransformOn ()
 
virtual void InitializeCenterOfLinearOutputTransformOff ()
 
virtual void SetInitializeCenterOfLinearOutputTransform (bool _arg)
 
virtual bool GetInitializeCenterOfLinearOutputTransform () const
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *output)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreaderBase * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual DataObjectPointerArraySizeType GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual float GetProgress () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
void IncrementProgress (float increment)
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
void SetMultiThreader (MultiThreaderBase *threader)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
virtual void SetReleaseDataFlag (bool val)
 
virtual bool GetReleaseDataFlag () const
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void SetNumberOfWorkUnits (ThreadIdType numberOfWorkUnits)
 
virtual const ThreadIdType & GetNumberOfWorkUnits () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
Command * GetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionary & GetMetaDataDictionary ()
 
const MetaDataDictionary & GetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStamp & GetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TFixedImage::ImageDimension
 
- Static Public Attributes inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
static constexpr unsigned int ImageDimension = TFixedImage::ImageDimension
 

Protected Member Functions

void ClearResampleCache ()
 
virtual DisplacementFieldPointer ComputeMetricGradientField (const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)
 
virtual DisplacementFieldPointer ComputeUpdateField (const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType, const MovingImageMasksContainerType, MeasureType &)
 
virtual DisplacementFieldPointer GaussianSmoothDisplacementField (const DisplacementFieldType *, const RealType)
 
void GenerateData () override
 
void InitializeRegistrationAtEachLevel (const SizeValueType) override
 
virtual DisplacementFieldPointer InvertDisplacementField (const DisplacementFieldType *, const DisplacementFieldType *=nullptr)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
template<typename TImage>
TImage::ConstPointer ResampleImageToVirtualDomain (const TImage *, const TransformBaseType *, const VirtualImageBaseType *)
 
template<typename TImage>
TImage::ConstPointer ResampleMaskToVirtualDomain (const TImage *, const TransformBaseType *, const VirtualImageBaseType *)
 
virtual DisplacementFieldPointer ScaleUpdateField (const DisplacementFieldType *)
 
virtual void StartOptimization ()
 
 SyNImageRegistrationMethod ()
 
 ~SyNImageRegistrationMethod () override=default
 
- Protected Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
virtual void AllocateOutputs ()
 
virtual VirtualImageBaseConstPointer GetCurrentLevelVirtualDomainImage ()
 
 ImageRegistrationMethodv4 ()
 
virtual void SetMetricSamplePoints ()
 
 ~ImageRegistrationMethodv4 () override=default
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
void AddOptionalInputName (const DataObjectIdentifierType &)
 
void AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
virtual void AddOutput (DataObject *output)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateInputRequestedRegion ()
 
virtual void GenerateOutputInformation ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
DataObject * GetInput (const DataObjectIdentifierType &key)
 
const DataObject * GetInput (const DataObjectIdentifierType &key) const
 
virtual const DataObjectPointerArraySizeType & GetNumberOfRequiredInputs () const
 
virtual const DataObjectPointerArraySizeType & GetNumberOfRequiredOutputs () const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
virtual void PopBackInput ()
 
virtual void PopFrontInput ()
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void PushBackInput (const DataObject *input)
 
virtual void PushFrontInput (const DataObject *input)
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &name, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *object)
 
virtual void SetPrimaryOutput (DataObject *object)
 
void SetRequiredInputNames (const NameArray &)
 
virtual void VerifyInputInformation () const
 
virtual void VerifyPreconditions () const
 
 ~ProcessObject () override
 
DataObject * GetInput (DataObjectPointerArraySizeType idx)
 
const DataObject * GetInput (DataObjectPointerArraySizeType idx) const
 
DataObject * GetPrimaryInput ()
 
const DataObject * GetPrimaryInput () const
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryInputName () const
 
DataObject * GetOutput (const DataObjectIdentifierType &key)
 
const DataObject * GetOutput (const DataObjectIdentifierType &key) const
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryOutputName () const
 
DataObject * GetOutput (DataObjectPointerArraySizeType i)
 
const DataObject * GetOutput (DataObjectPointerArraySizeType i) const
 
DataObject * GetPrimaryOutput ()
 
const DataObject * GetPrimaryOutput () const
 
virtual bool GetThreaderUpdateProgress () const
 
virtual void ThreaderUpdateProgressOn ()
 
virtual void ThreaderUpdateProgressOff ()
 
virtual void SetThreaderUpdateProgress (bool arg)
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

bool m_AverageMidPointGradients { false }
 
RealType m_ConvergenceThreshold { static_cast<RealType>(1.0e-6) }
 
unsigned int m_ConvergenceWindowSize { 10 }
 
bool m_DownsampleImagesForMetricDerivatives { true }
 
OutputTransformPointer m_FixedToMiddleTransform { nullptr }
 
RealType m_LearningRate { 0.25 }
 
OutputTransformPointer m_MovingToMiddleTransform { nullptr }
 
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel {}
 
- Protected Attributes inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
CompositeTransformPointer m_CompositeTransform {}
 
RealType m_CurrentConvergenceValue {}
 
SizeValueType m_CurrentIteration {}
 
SizeValueType m_CurrentLevel {}
 
RealType m_CurrentMetricValue {}
 
int m_CurrentRandomSeed {}
 
int m_FirstImageMetricIndex {}
 
FixedImageMasksContainerType m_FixedImageMasks {}
 
PointSetsContainerType m_FixedPointSets {}
 
FixedImagesContainerType m_FixedSmoothImages {}
 
bool m_IsConverged {}
 
MetricPointer m_Metric {}
 
MetricSamplingPercentageArrayType m_MetricSamplingPercentagePerLevel {}
 
MetricSamplingStrategyEnum m_MetricSamplingStrategy {}
 
MovingImageMasksContainerType m_MovingImageMasks {}
 
PointSetsContainerType m_MovingPointSets {}
 
MovingImagesContainerType m_MovingSmoothImages {}
 
SizeValueType m_NumberOfFixedObjects {}
 
SizeValueType m_NumberOfLevels { 0 }
 
SizeValueType m_NumberOfMetrics {}
 
SizeValueType m_NumberOfMovingObjects {}
 
OptimizerPointer m_Optimizer {}
 
OptimizerWeightsType m_OptimizerWeights {}
 
bool m_OptimizerWeightsAreIdentity {}
 
OutputTransformPointer m_OutputTransform {}
 
int m_RandomSeed {}
 
bool m_ReseedIterator {}
 
std::vector< ShrinkFactorsPerDimensionContainerType > m_ShrinkFactorsPerLevel {}
 
bool m_SmoothingSigmasAreSpecifiedInPhysicalUnits {}
 
SmoothingSigmasArrayType m_SmoothingSigmasPerLevel {}
 
TransformParametersAdaptorsContainerType m_TransformParametersAdaptorsPerLevel {}
 
VirtualImagePointer m_VirtualDomainImage {}
 
- Protected Attributes inherited from itk::ProcessObject
TimeStamp m_OutputInformationMTime {}
 
bool m_Updating {}
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Private Types

enum class  ResampleInterpolation {
  Linear ,
  NearestNeighbor
}
 

Private Member Functions

template<typename TImage>
TImage::ConstPointer ResampleToVirtualDomain (const TImage *, const TransformBaseType *, const VirtualImageBaseType *, ResampleInterpolation)
 

Private Attributes

RealType m_GaussianSmoothingVarianceForTheTotalField { 0.5 }
 
RealType m_GaussianSmoothingVarianceForTheUpdateField { 3.0 }
 
std::vector< ResampleCacheEntry > m_ResampleCache {}
 

Additional Inherited Members

- Static Protected Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
template<typename TImage>
static TImage::Pointer MakeGraft (const SmartPointer< TImage > &image)
 
template<typename TImage>
static TImage::Pointer MakeGraft (const TImage *image)
 
- Static Protected Member Functions inherited from itk::ProcessObject
template<typename TSourceObject>
static void MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs)
 
static constexpr float progressFixedToFloat (uint32_t fixed)
 
static uint32_t progressFloatToFixed (float f)
 

Member Typedef Documentation

◆ ConstPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ConstPointer = SmartPointer<const Self>

Definition at line 78 of file itkSyNImageRegistrationMethod.h.

◆ DecoratedOutputTransformPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DecoratedOutputTransformPointer = typename DecoratedOutputTransformType::Pointer

Definition at line 137 of file itkSyNImageRegistrationMethod.h.

◆ DerivativeType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DerivativeType = typename OutputTransformType::DerivativeType

Definition at line 127 of file itkSyNImageRegistrationMethod.h.

◆ DerivativeValueType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DerivativeValueType = typename DerivativeType::ValueType

Definition at line 128 of file itkSyNImageRegistrationMethod.h.

◆ DisplacementFieldPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementFieldPointer = typename DisplacementFieldType::Pointer

Definition at line 130 of file itkSyNImageRegistrationMethod.h.

◆ DisplacementFieldTransformPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementFieldTransformPointer = typename DisplacementFieldTransformType::Pointer

Definition at line 140 of file itkSyNImageRegistrationMethod.h.

◆ DisplacementFieldTransformType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementFieldTransformType = DisplacementFieldTransform<RealType, ImageDimension>

Definition at line 139 of file itkSyNImageRegistrationMethod.h.

◆ DisplacementFieldType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementFieldType = typename OutputTransformType::DisplacementFieldType

Definition at line 129 of file itkSyNImageRegistrationMethod.h.

◆ DisplacementVectorType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementVectorType = typename DisplacementFieldType::PixelType

Definition at line 131 of file itkSyNImageRegistrationMethod.h.

◆ FixedImagePointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::FixedImagePointer = typename FixedImageType::Pointer

Definition at line 91 of file itkSyNImageRegistrationMethod.h.

◆ FixedImageType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::FixedImageType = TFixedImage

Input type alias for the images.

Definition at line 90 of file itkSyNImageRegistrationMethod.h.

◆ FixedMaskImageType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::FixedMaskImageType = typename ImageMaskSpatialObjectType::ImageType

Definition at line 108 of file itkSyNImageRegistrationMethod.h.

◆ ImageMaskSpatialObjectType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ImageMaskSpatialObjectType = ImageMaskSpatialObject<ImageDimension>

Definition at line 106 of file itkSyNImageRegistrationMethod.h.

◆ ImageMetricPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ImageMetricPointer = typename ImageMetricType::Pointer

Definition at line 103 of file itkSyNImageRegistrationMethod.h.

◆ MeasureType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MeasureType = typename ImageMetricType::MeasureType

Definition at line 104 of file itkSyNImageRegistrationMethod.h.

◆ MetricPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MetricPointer = typename MetricType::Pointer

Definition at line 120 of file itkSyNImageRegistrationMethod.h.

◆ MovingImagePointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MovingImagePointer = typename MovingImageType::Pointer

Definition at line 94 of file itkSyNImageRegistrationMethod.h.

◆ MovingImageType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MovingImageType = TMovingImage

Definition at line 93 of file itkSyNImageRegistrationMethod.h.

◆ MovingMaskImageType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MovingMaskImageType = typename ImageMaskSpatialObjectType::ImageType

Definition at line 111 of file itkSyNImageRegistrationMethod.h.

◆ NumberOfIterationsArrayType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::NumberOfIterationsArrayType = Array<SizeValueType>

Definition at line 142 of file itkSyNImageRegistrationMethod.h.

◆ OutputTransformPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::OutputTransformPointer = typename OutputTransformType::Pointer

Definition at line 125 of file itkSyNImageRegistrationMethod.h.

◆ OutputTransformType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::OutputTransformType = TOutputTransform

Definition at line 124 of file itkSyNImageRegistrationMethod.h.

◆ Pointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::Pointer = SmartPointer<Self>

Definition at line 77 of file itkSyNImageRegistrationMethod.h.

◆ PointSetPointer

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::PointSetPointer = typename PointSetType::Pointer

Definition at line 98 of file itkSyNImageRegistrationMethod.h.

◆ RealType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::RealType = typename OutputTransformType::ScalarType

Definition at line 126 of file itkSyNImageRegistrationMethod.h.

◆ Self

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::Self = SyNImageRegistrationMethod

Standard class type aliases.

Definition at line 75 of file itkSyNImageRegistrationMethod.h.

◆ Superclass

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::Superclass = ImageRegistrationMethodv4<TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet>

Definition at line 76 of file itkSyNImageRegistrationMethod.h.

◆ TransformBaseType

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::TransformBaseType = typename CompositeTransformType::TransformType

Definition at line 134 of file itkSyNImageRegistrationMethod.h.

Member Enumeration Documentation

◆ ResampleInterpolation

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
enum class itk::SyNImageRegistrationMethod::ResampleInterpolation
strongprivate
Enumerator
Linear 
NearestNeighbor 

Definition at line 286 of file itkSyNImageRegistrationMethod.h.

Constructor & Destructor Documentation

◆ SyNImageRegistrationMethod()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SyNImageRegistrationMethod ( )
protected

◆ ~SyNImageRegistrationMethod()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::~SyNImageRegistrationMethod ( )
overrideprotecteddefault

Member Function Documentation

◆ ClearResampleCache()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ClearResampleCache ( )
inlineprotected

Release the resampled images, and the images and transforms they were computed from.

Definition at line 263 of file itkSyNImageRegistrationMethod.h.

◆ ComputeMetricGradientField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual DisplacementFieldPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ComputeMetricGradientField ( const FixedImagesContainerType ,
const PointSetsContainerType ,
const TransformBaseType * ,
const MovingImagesContainerType ,
const PointSetsContainerType ,
const TransformBaseType * ,
const FixedImageMasksContainerType ,
const MovingImageMasksContainerType ,
MeasureType &  )
protectedvirtual

◆ ComputeUpdateField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual DisplacementFieldPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ComputeUpdateField ( const FixedImagesContainerType ,
const PointSetsContainerType ,
const TransformBaseType * ,
const MovingImagesContainerType ,
const PointSetsContainerType ,
const TransformBaseType * ,
const FixedImageMasksContainerType ,
const MovingImageMasksContainerType ,
MeasureType &  )
protectedvirtual

◆ CreateAnother()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual::itk::LightObject::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >.

◆ GaussianSmoothDisplacementField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual DisplacementFieldPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GaussianSmoothDisplacementField ( const DisplacementFieldType * ,
const RealType  )
protectedvirtual

◆ GenerateData()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GenerateData ( )
overrideprotectedvirtual

◆ GetAverageMidPointGradients()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual bool itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetAverageMidPointGradients ( ) const
virtual

Allow the user to average the gradients in the mid-point domain. Default false. One might choose to do this to further reduce bias.

◆ GetConvergenceThreshold()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetConvergenceThreshold ( ) const
virtual

Set/Get the convergence threshold

◆ GetConvergenceWindowSize()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual unsigned int itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetConvergenceWindowSize ( ) const
virtual

Set/Get the convergence window size

◆ GetDownsampleImagesForMetricDerivatives()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual bool itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetDownsampleImagesForMetricDerivatives ( ) const
virtual

Let the user control whether we compute metric derivatives in the downsampled or full-res space. The default is 'true' — classic SyN — but there may be advantages to the other approach. Classic SyN did not have this possibility. This implementation will let us explore the question.

◆ GetFixedToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual const OutputTransformType * itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetFixedToMiddleTransform ( ) const
virtual

Get modifiable FixedToMiddle and MovingToMiddle transforms to save the current state of the registration.

◆ GetGaussianSmoothingVarianceForTheTotalField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual const RealType & itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetGaussianSmoothingVarianceForTheTotalField ( ) const
virtual

Get/Set the Gaussian smoothing variance for the total field.

◆ GetGaussianSmoothingVarianceForTheUpdateField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual const RealType & itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetGaussianSmoothingVarianceForTheUpdateField ( ) const
virtual

Get/Set the Gaussian smoothing variance for the update field.

◆ GetLearningRate()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetLearningRate ( ) const
virtual

Set/Get the learning rate.

◆ GetModifiableFixedToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual OutputTransformType * itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetModifiableFixedToMiddleTransform ( )
virtual

Get modifiable FixedToMiddle and MovingToMiddle transforms to save the current state of the registration.

◆ GetModifiableMovingToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual OutputTransformType * itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetModifiableMovingToMiddleTransform ( )
virtual

Get modifiable FixedToMiddle and MovingToMiddle transforms to save the current state of the registration.

◆ GetMovingToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual const OutputTransformType * itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetMovingToMiddleTransform ( ) const
virtual

Get modifiable FixedToMiddle and MovingToMiddle transforms to save the current state of the registration.

◆ GetNameOfClass()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual const char * itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetNameOfClass ( ) const
virtual

◆ GetNumberOfIterationsPerLevel()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual NumberOfIterationsArrayType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetNumberOfIterationsPerLevel ( ) const
virtual

Set/Get the number of iterations per level.

◆ InitializeRegistrationAtEachLevel()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::InitializeRegistrationAtEachLevel ( const SizeValueType )
overrideprotectedvirtual

Initialize by setting the interconnects between the components. Need to override in the SyN class since we need to "adapt" the m_InverseTransform

Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >.

◆ InvertDisplacementField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual DisplacementFieldPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::InvertDisplacementField ( const DisplacementFieldType * ,
const DisplacementFieldType * = nullptr )
protectedvirtual

◆ New()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
static Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >.

◆ ResampleImageToVirtualDomain()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
template<typename TImage>
TImage::ConstPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ResampleImageToVirtualDomain ( const TImage * ,
const TransformBaseType * ,
const VirtualImageBaseType *  )
protected

Resample an image with linear interpolation to the virtual domain; cached until ClearResampleCache().

◆ ResampleMaskToVirtualDomain()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
template<typename TImage>
TImage::ConstPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ResampleMaskToVirtualDomain ( const TImage * ,
const TransformBaseType * ,
const VirtualImageBaseType *  )
protected

Resample a mask image with nearest-neighbor interpolation to the virtual domain; cached until ClearResampleCache().

◆ ResampleToVirtualDomain()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
template<typename TImage>
TImage::ConstPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ResampleToVirtualDomain ( const TImage * ,
const TransformBaseType * ,
const VirtualImageBaseType * ,
ResampleInterpolation  )
private

◆ ScaleUpdateField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual DisplacementFieldPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ScaleUpdateField ( const DisplacementFieldType * )
protectedvirtual

◆ SetAverageMidPointGradients()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetAverageMidPointGradients ( bool _arg)
virtual

Allow the user to average the gradients in the mid-point domain. Default false. One might choose to do this to further reduce bias.

◆ SetConvergenceThreshold()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetConvergenceThreshold ( RealType _arg)
virtual

Set/Get the convergence threshold

◆ SetConvergenceWindowSize()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetConvergenceWindowSize ( unsigned int _arg)
virtual

Set/Get the convergence window size

◆ SetDownsampleImagesForMetricDerivatives()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetDownsampleImagesForMetricDerivatives ( bool _arg)
virtual

Let the user control whether we compute metric derivatives in the downsampled or full-res space. The default is 'true' — classic SyN — but there may be advantages to the other approach. Classic SyN did not have this possibility. This implementation will let us explore the question.

◆ SetFixedToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetFixedToMiddleTransform ( OutputTransformType * _arg)
virtual

Set FixedToMiddle and MovingToMiddle transforms to restore the registration from a saved state.

◆ SetGaussianSmoothingVarianceForTheTotalField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetGaussianSmoothingVarianceForTheTotalField ( RealType _arg)
virtual

Get/Set the Gaussian smoothing variance for the total field.

◆ SetGaussianSmoothingVarianceForTheUpdateField()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetGaussianSmoothingVarianceForTheUpdateField ( RealType _arg)
virtual

Get/Set the Gaussian smoothing variance for the update field.

◆ SetLearningRate()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetLearningRate ( RealType _arg)
virtual

Set/Get the learning rate.

◆ SetMovingToMiddleTransform()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetMovingToMiddleTransform ( OutputTransformType * _arg)
virtual

Set FixedToMiddle and MovingToMiddle transforms to restore the registration from a saved state.

◆ SetNumberOfIterationsPerLevel()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetNumberOfIterationsPerLevel ( NumberOfIterationsArrayType _arg)
virtual

Set/Get the number of iterations per level.

◆ StartOptimization()

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::StartOptimization ( )
protectedvirtual

Handle optimization internally. Starts the optimization at each level. Performs a basic gradient descent operation.

Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >.

Member Data Documentation

◆ ImageDimension

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
unsigned int itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ImageDimension = TFixedImage::ImageDimension
staticconstexpr

ImageDimension constants

Definition at line 84 of file itkSyNImageRegistrationMethod.h.

◆ m_AverageMidPointGradients

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
bool itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_AverageMidPointGradients { false }
protected

Definition at line 283 of file itkSyNImageRegistrationMethod.h.

◆ m_ConvergenceThreshold

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_ConvergenceThreshold { static_cast<RealType>(1.0e-6) }
protected

Definition at line 278 of file itkSyNImageRegistrationMethod.h.

◆ m_ConvergenceWindowSize

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
unsigned int itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_ConvergenceWindowSize { 10 }
protected

Definition at line 279 of file itkSyNImageRegistrationMethod.h.

◆ m_DownsampleImagesForMetricDerivatives

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
bool itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_DownsampleImagesForMetricDerivatives { true }
protected

Definition at line 282 of file itkSyNImageRegistrationMethod.h.

◆ m_FixedToMiddleTransform

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
OutputTransformPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_FixedToMiddleTransform { nullptr }
protected

Definition at line 276 of file itkSyNImageRegistrationMethod.h.

◆ m_GaussianSmoothingVarianceForTheTotalField

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_GaussianSmoothingVarianceForTheTotalField { 0.5 }
private

Definition at line 310 of file itkSyNImageRegistrationMethod.h.

◆ m_GaussianSmoothingVarianceForTheUpdateField

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_GaussianSmoothingVarianceForTheUpdateField { 3.0 }
private

Definition at line 309 of file itkSyNImageRegistrationMethod.h.

◆ m_LearningRate

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_LearningRate { 0.25 }
protected

Definition at line 273 of file itkSyNImageRegistrationMethod.h.

◆ m_MovingToMiddleTransform

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
OutputTransformPointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_MovingToMiddleTransform { nullptr }
protected

Definition at line 275 of file itkSyNImageRegistrationMethod.h.

◆ m_NumberOfIterationsPerLevel

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
NumberOfIterationsArrayType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_NumberOfIterationsPerLevel {}
protected

Definition at line 281 of file itkSyNImageRegistrationMethod.h.

◆ m_ResampleCache

template<typename TFixedImage, typename TMovingImage, typename TOutputTransform = DisplacementFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
std::vector<ResampleCacheEntry> itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_ResampleCache {}
private

Definition at line 307 of file itkSyNImageRegistrationMethod.h.


The documentation for this class was generated from the following file: