ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Class Template Reference

#include <itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h>

Detailed Description

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

Interface method for the current registration framework using the time varying velocity field transform.

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

This derived class from the SimpleImageRegistrationMethod class is specialized to handle time-varying velocity field transforms of which there are currently 3:

  1. TimeVaryingDisplacementFieldTransform
  2. GaussianSmoothingOnUpdateTimeVaryingDisplacementFieldTransform
  3. BSplineSmoothingOnUpdateTimeVaryingDisplacementFieldTransform

The latter is derived from the former and performs an optional spatial and temporal smoothing on the update and total velocity fields. Integration of the velocity field is performed using 4th order Runge Kutta and is performed using the class itkTimeVaryingBSplineVelocityFieldIntegrationImageFilter.

Optimization occurs in an iterative fashion where for each sample time point, t, in the velocity field, we integrate the velocity field in the range [0, t] to yield the displacement field which warps fixed image to time point t. Simultaneously, we integrate the velocity field in the range [t, 1] to yield the displacement field transform which warps the moving image to time point t. The metric derivative for each time point of the velocity field calculated in this way produces the normalized update field (or gradient) of the velocity field to be added to the total field at each iteration after being multiplied by the learning rate and optionally smoothed. Mathematically, this can be described as

\[ v_{total} = B_1( v_{total} + \lambda * B_2( v_{update} ) ) \]

where

\( B_1 = \) bspline smoothing on the total field \( B_2 = \) bspline smoothing on the update field \( \lambda = \) learning rate \( v_{update} = \) the normalized velocity field where we normalize the velocity field at each time point separately by the max norm of the field at that time point. This is done due to a weakly necessary (but not sufficient) condition being that the velocity field have a constant norm for all time points.

Author
Nick Tustison
Brian Avants

Definition at line 91 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.

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

Public Types

using BSplineFilterType = BSplineScatteredDataPointSetToImageFilter< VelocityFieldPointSetType, TimeVaryingVelocityFieldType >
 
using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = ContinuousIndex< typename DisplacementFieldPointType::CoordRepType, ImageDimension >
 
using DecoratedOutputTransformPointer = typename DecoratedOutputTransformType::Pointer
 
using DerivativeType = typename OutputTransformType::DerivativeType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using DisplacementFieldPointType = typename DisplacementFieldType::PointType
 
using DisplacementFieldTransformPointer = typename DisplacementFieldTransformType::Pointer
 
using DisplacementFieldTransformType = DisplacementFieldTransform< RealType, ImageDimension >
 
using DisplacementFieldType = typename OutputTransformType::DisplacementFieldType
 
using DisplacementVectorType = typename TimeVaryingVelocityFieldControlPointLatticeType::PixelType
 
using FixedImagePointer = typename FixedImageType::Pointer
 
using FixedImageType = TFixedImage
 
using FixedMaskImageType = typename ImageMaskSpatialObjectType::ImageType
 
using ImageMaskSpatialObjectType = ImageMaskSpatialObject< ImageDimension >
 
using ImageMetricPointer = typename ImageMetricType::Pointer
 
using InputPointSetPointer = typename InputPointSetType::Pointer
 
using InputPointSetType = TPointSet
 
using MaskImageType = typename ImageMaskSpatialObjectType::ImageType
 
using MeasureType = typename ImageMetricType::MeasureType
 
using MetricDerivativeType = typename ImageMetricType::DerivativeType
 
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 RealType = typename OutputTransformType::ScalarType
 
using Self = TimeVaryingBSplineVelocityFieldImageRegistrationMethod
 
using Superclass = ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
 
using TimeVaryingVelocityFieldControlPointLatticePointer = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer
 
using TimeVaryingVelocityFieldControlPointLatticeType = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType
 
using TimeVaryingVelocityFieldPointer = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer
 
using TimeVaryingVelocityFieldType = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType
 
using TimeVaryingWeightedMaskImageType = Image< WeightsElementType, ImageDimension+1 >
 
using TransformBaseType = typename CompositeTransformType::TransformType
 
using VelocityFieldPointSetPointer = typename VelocityFieldPointSetType::Pointer
 
using VelocityFieldPointSetType = PointSet< DisplacementVectorType, ImageDimension+1 >
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using WeightedMaskImageType = Image< WeightsElementType, ImageDimension >
 
using WeightsContainerType = typename BSplineFilterType::WeightsContainerType
 
using WeightsElementType = typename WeightsContainerType::Element
 
- 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 MultiThreaderType = MultiThreaderBase
 
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

const char * GetNameOfClass () const override
 
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 SetNumberOfTimePointSamples (SizeValueType _arg)
 
virtual SizeValueType GetNumberOfTimePointSamples () const
 
- Public Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
virtual const RealTypeGetCurrentConvergenceValue () const
 
virtual const SizeValueTypeGetCurrentIteration () const
 
virtual SizeValueType GetCurrentLevel () const
 
virtual const RealTypeGetCurrentMetricValue () const
 
virtual const bool & GetIsConverged () const
 
virtual OutputTransformTypeGetModifiableTransform ()
 
virtual const OutputTransformTypeGetTransform () const
 
virtual DecoratedOutputTransformTypeGetTransformOutput ()
 
virtual const DecoratedOutputTransformTypeGetTransformOutput () const
 
void InitializeCenterOfLinearOutputTransform ()
 
DataObjectPointer MakeOutput (DataObjectPointerArraySizeType) override
 
virtual void SetFixedInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
void SetMetricSamplingPercentage (const RealType)
 
virtual void SetMovingInitialTransformInput (const DataObjectDecorator< InitialTransformType > *_arg)
 
virtual void SetFixedImage (const FixedImageType *image)
 
virtual const FixedImageTypeGetFixedImage () const
 
virtual void SetFixedImage (SizeValueType, const FixedImageType *)
 
virtual const FixedImageTypeGetFixedImage (SizeValueType) const
 
virtual void SetMovingImage (const MovingImageType *image)
 
virtual const MovingImageTypeGetMovingImage () const
 
virtual void SetMovingImage (SizeValueType, const MovingImageType *)
 
virtual const MovingImageTypeGetMovingImage (SizeValueType) const
 
virtual void SetFixedPointSet (const PointSetType *pointSet)
 
virtual const PointSetTypeGetFixedPointSet () const
 
virtual void SetFixedPointSet (SizeValueType, const PointSetType *)
 
virtual const PointSetTypeGetFixedPointSet (SizeValueType) const
 
virtual void SetMovingPointSet (const PointSetType *pointSet)
 
virtual const PointSetTypeGetMovingPointSet () const
 
virtual void SetMovingPointSet (SizeValueType, const PointSetType *)
 
virtual const PointSetTypeGetMovingPointSet (SizeValueType) const
 
virtual void SetOptimizer (OptimizerType *_arg)
 
virtual OptimizerTypeGetModifiableOptimizer ()
 
void SetOptimizerWeights (OptimizerWeightsType &)
 
virtual OptimizerWeightsType GetOptimizerWeights () const
 
virtual void SetMetric (MetricType *_arg)
 
virtual MetricTypeGetModifiableMetric ()
 
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 TransformParametersAdaptorsContainerTypeGetTransformParametersAdaptorsPerLevel () const
 
void SetNumberOfLevels (const SizeValueType)
 
virtual SizeValueType GetNumberOfLevels () const
 
void SetShrinkFactorsPerLevel (ShrinkFactorsArrayType factors)
 
ShrinkFactorsPerDimensionContainerType GetShrinkFactorsPerDimension (const unsigned int level) const
 
void SetShrinkFactorsPerDimension (unsigned int level, ShrinkFactorsPerDimensionContainerType factors)
 
virtual void SetSmoothingSigmasPerLevel (SmoothingSigmasArrayType _arg)
 
virtual SmoothingSigmasArrayType GetSmoothingSigmasPerLevel () const
 
virtual void SetSmoothingSigmasAreSpecifiedInPhysicalUnits (bool _arg)
 
virtual bool GetSmoothingSigmasAreSpecifiedInPhysicalUnits () const
 
virtual void SmoothingSigmasAreSpecifiedInPhysicalUnitsOn ()
 
virtual DecoratedOutputTransformTypeGetOutput ()
 
virtual const DecoratedOutputTransformTypeGetOutput () const
 
virtual void SetInPlace (bool _arg)
 
virtual bool GetInPlace () const
 
virtual void InPlaceOn ()
 
virtual void InitializeCenterOfLinearOutputTransformOn ()
 
virtual void SetInitializeCenterOfLinearOutputTransform (bool _arg)
 
virtual bool GetInitializeCenterOfLinearOutputTransform () const
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreaderTypeGetMultiThreader () 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 DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
void SetMultiThreader (MultiThreaderType *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 SetNumberOfWorkUnits (ThreadIdType _arg)
 
virtual const ThreadIdTypeGetNumberOfWorkUnits () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () 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)
 
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 AttachMetricGradientPointSetAtSpecificTimePoint (const RealType, VelocityFieldPointSetType *, WeightsContainerType *, const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType)
 
void GenerateData () override
 
void GetMetricDerivativePointSetForAllTimePoints (VelocityFieldPointSetType *, WeightsContainerType *)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void StartOptimization ()
 
 TimeVaryingBSplineVelocityFieldImageRegistrationMethod ()
 
 ~TimeVaryingBSplineVelocityFieldImageRegistrationMethod () override=default
 
- Protected Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >
virtual void AllocateOutputs ()
 
virtual VirtualImageBaseConstPointer GetCurrentLevelVirtualDomainImage ()
 
 ImageRegistrationMethodv4 ()
 
virtual void InitializeRegistrationAtEachLevel (const SizeValueType)
 
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)
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
virtual const DataObjectPointerArraySizeTypeGetNumberOfRequiredInputs () const
 
virtual const DataObjectPointerArraySizeTypeGetNumberOfRequiredOutputs () 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 () ITKv5_CONST
 
virtual void VerifyPreconditions () ITKv5_CONST
 
 ~ProcessObject () override
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryInputName () const
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryOutputName () const
 
DataObjectGetOutput (DataObjectPointerArraySizeType i)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType i) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
virtual bool GetThreaderUpdateProgress () const
 
virtual void ThreaderUpdateProgressOn ()
 
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 ()
 

Private Attributes

WeightsElementType m_BoundaryWeight {}
 
RealType m_ConvergenceThreshold {}
 
unsigned int m_ConvergenceWindowSize { 10 }
 
DisplacementFieldTransformPointer m_IdentityDisplacementFieldTransform {}
 
RealType m_LearningRate {}
 
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel {}
 
SizeValueType m_NumberOfTimePointSamples { 4 }
 

Additional Inherited Members

- Static Protected Member Functions inherited from itk::ProcessObject
static constexpr float progressFixedToFloat (uint32_t fixed)
 
static uint32_t progressFloatToFixed (float f)
 
- 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< ShrinkFactorsPerDimensionContainerTypem_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 {}
 

Member Typedef Documentation

◆ BSplineFilterType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::BSplineFilterType = BSplineScatteredDataPointSetToImageFilter<VelocityFieldPointSetType, TimeVaryingVelocityFieldType>

◆ ConstPointer

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

◆ ContinuousIndexType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ContinuousIndexType = ContinuousIndex<typename DisplacementFieldPointType::CoordRepType, ImageDimension>

◆ DecoratedOutputTransformPointer

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

◆ DerivativeType

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

◆ DerivativeValueType

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

◆ DisplacementFieldPointType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementFieldPointType = typename DisplacementFieldType::PointType

◆ DisplacementFieldTransformPointer

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

◆ DisplacementFieldTransformType

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

◆ DisplacementFieldType

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

◆ DisplacementVectorType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::DisplacementVectorType = typename TimeVaryingVelocityFieldControlPointLatticeType::PixelType

◆ FixedImagePointer

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

◆ FixedImageType

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

Input type alias for the images and transforms.

Definition at line 113 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.

◆ FixedMaskImageType

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

◆ ImageMaskSpatialObjectType

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

◆ ImageMetricPointer

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

◆ InputPointSetPointer

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::InputPointSetPointer = typename InputPointSetType::Pointer

◆ InputPointSetType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::InputPointSetType = TPointSet

◆ MaskImageType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MaskImageType = typename ImageMaskSpatialObjectType::ImageType

◆ MeasureType

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

◆ MetricDerivativeType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::MetricDerivativeType = typename ImageMetricType::DerivativeType

◆ MetricPointer

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

◆ MovingImagePointer

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

◆ MovingImageType

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

◆ MovingMaskImageType

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

◆ NumberOfIterationsArrayType

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

◆ OutputTransformPointer

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

◆ OutputTransformType

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

◆ Pointer

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

◆ RealType

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

◆ Self

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

Standard class type aliases.

Definition at line 98 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.

◆ Superclass

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

◆ TimeVaryingVelocityFieldControlPointLatticePointer

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

◆ TimeVaryingVelocityFieldControlPointLatticeType

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

◆ TimeVaryingVelocityFieldPointer

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::TimeVaryingVelocityFieldPointer = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer

◆ TimeVaryingVelocityFieldType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::TimeVaryingVelocityFieldType = typename OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType

◆ TimeVaryingWeightedMaskImageType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::TimeVaryingWeightedMaskImageType = Image<WeightsElementType, ImageDimension + 1>

◆ TransformBaseType

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

◆ VelocityFieldPointSetPointer

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::VelocityFieldPointSetPointer = typename VelocityFieldPointSetType::Pointer

◆ VelocityFieldPointSetType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::VelocityFieldPointSetType = PointSet<DisplacementVectorType, ImageDimension + 1>

◆ VirtualImageType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::VirtualImageType = typename Superclass::VirtualImageType

◆ WeightedMaskImageType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::WeightedMaskImageType = Image<WeightsElementType, ImageDimension>

◆ WeightsContainerType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::WeightsContainerType = typename BSplineFilterType::WeightsContainerType

◆ WeightsElementType

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
using itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::WeightsElementType = typename WeightsContainerType::Element

Constructor & Destructor Documentation

◆ TimeVaryingBSplineVelocityFieldImageRegistrationMethod()

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

◆ ~TimeVaryingBSplineVelocityFieldImageRegistrationMethod()

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

Member Function Documentation

◆ AttachMetricGradientPointSetAtSpecificTimePoint()

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::AttachMetricGradientPointSetAtSpecificTimePoint ( const  RealType,
VelocityFieldPointSetType ,
WeightsContainerType ,
const  FixedImagesContainerType,
const  PointSetsContainerType,
const TransformBaseType ,
const  MovingImagesContainerType,
const  PointSetsContainerType,
const TransformBaseType ,
const  FixedImageMasksContainerType 
)
protected

◆ GenerateData()

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

◆ GetConvergenceThreshold()

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

Set/Get the convergence threshold

◆ GetConvergenceWindowSize()

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

Set/Get the convergence window size

◆ GetLearningRate()

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

Set/Get the learning rate.

◆ GetMetricDerivativePointSetForAllTimePoints()

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetMetricDerivativePointSetForAllTimePoints ( VelocityFieldPointSetType ,
WeightsContainerType  
)
protected

Translate metrics to the point-set for building the (n+1)-D B-spline model

◆ GetNameOfClass()

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

◆ GetNumberOfIterationsPerLevel()

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

Set/Get the number of iterations per level.

◆ GetNumberOfTimePointSamples()

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual SizeValueType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::GetNumberOfTimePointSamples ( ) const
virtual

Set/Get the number of time point samples.

◆ New()

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

Method for creation through the object factory.

◆ PrintSelf()

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< 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 >.

◆ SetConvergenceThreshold()

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

Set/Get the convergence threshold

◆ SetConvergenceWindowSize()

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

Set/Get the convergence window size

◆ SetLearningRate()

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

Set/Get the learning rate.

◆ SetNumberOfIterationsPerLevel()

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

Set/Get the number of iterations per level.

◆ SetNumberOfTimePointSamples()

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::SetNumberOfTimePointSamples ( SizeValueType  _arg)
virtual

Set/Get the number of time point samples.

◆ StartOptimization()

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

Start the optimization at each level.

Performs a basic gradient descent operation.

Member Data Documentation

◆ ImageDimension

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
constexpr unsigned int itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::ImageDimension = TFixedImage::ImageDimension
staticconstexpr

ImageDimension constants

Definition at line 107 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.

◆ m_BoundaryWeight

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
WeightsElementType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_BoundaryWeight {}
private

◆ m_ConvergenceThreshold

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_ConvergenceThreshold {}
private

◆ m_ConvergenceWindowSize

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
unsigned int itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_ConvergenceWindowSize { 10 }
private

◆ m_IdentityDisplacementFieldTransform

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
DisplacementFieldTransformPointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_IdentityDisplacementFieldTransform {}
private

◆ m_LearningRate

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_LearningRate {}
private

◆ m_NumberOfIterationsPerLevel

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
NumberOfIterationsArrayType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_NumberOfIterationsPerLevel {}
private

◆ m_NumberOfTimePointSamples

template<typename TFixedImage , typename TMovingImage , typename TOutputTransform = TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>, typename TVirtualImage = TFixedImage, typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
SizeValueType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet >::m_NumberOfTimePointSamples { 4 }
private

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