18#ifndef itkImageRegistrationMethodv4_h 
   19#define itkImageRegistrationMethodv4_h 
   33#include "ITKRegistrationMethodsv4Export.h" 
   59extern ITKRegistrationMethodsv4_EXPORT std::ostream &
 
  112template <
typename TFixedImage,
 
  113          typename TMovingImage,
 
  115          typename TVirtualImage = TFixedImage,
 
  154  using RealType = 
typename OutputTransformType::ScalarType;
 
  215#if !defined(ITK_LEGACY_REMOVE) 
  233  virtual const FixedImageType *
 
  250  virtual const MovingImageType *
 
  267  virtual const PointSetType *
 
  284  virtual const PointSetType *
 
  409    for (
unsigned int level = 0; level < factors.
Size(); ++level)
 
 
  419  ShrinkFactorsPerDimensionContainerType
 
  424      itkExceptionStringMacro(
"Requesting level greater than the number of levels.");
 
 
  458  itkSetMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, 
bool);
 
  459  itkGetConstMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, 
bool);
 
  460  itkBooleanMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits);
 
  481  virtual const DecoratedOutputTransformType *
 
  487  virtual OutputTransformType *
 
  499  itkGetConstReferenceMacro(CurrentMetricValue, 
RealType);
 
  502  itkGetConstReferenceMacro(CurrentConvergenceValue, 
RealType);
 
  505  itkGetConstReferenceMacro(IsConverged, 
bool);
 
  511  itkSetMacro(InPlace, 
bool);
 
  512  itkGetConstMacro(InPlace, 
bool);
 
  513  itkBooleanMacro(InPlace);
 
  617  template <
typename TTransform>
 
  621    ptr = TTransform::New();
 
 
 
  632#ifndef ITK_MANUAL_INSTANTIATION 
  633#  include "itkImageRegistrationMethodv4.hxx" 
enum type for metric sampling strategy
 
Array class with size defined at construction time.
 
SizeValueType Size() const
 
Decorates any subclass of itkObject with a DataObject API.
 
SmartPointer< Self > Pointer
 
Base class for templated image classes.
 
SmartPointer< const Self > ConstPointer
 
Contains all enum classes for ImageRegistrationMethodv4 class.
 
bool m_InitializeCenterOfLinearOutputTransform
 
virtual void SetFixedImage(SizeValueType, const FixedImageType *)
 
ObjectToObjectMetricBaseTemplate< RealType > MetricType
 
virtual void InitializeRegistrationAtEachLevel(const SizeValueType)
 
virtual const DecoratedOutputTransformType * GetTransformOutput() const
 
typename DecoratedInitialTransformType::Pointer DecoratedInitialTransformPointer
 
typename MovingImageType::ConstPointer MovingImageConstPointer
 
typename OutputTransformType::Pointer OutputTransformPointer
 
virtual void SetMovingPointSet(const PointSetType *pointSet)
 
SmartPointer< Self > Pointer
 
int m_FirstImageMetricIndex
 
SmoothingSigmasArrayType m_SmoothingSigmasPerLevel
 
std::vector< TransformParametersAdaptorPointer > TransformParametersAdaptorsContainerType
 
typename DerivativeType::ValueType DerivativeValueType
 
virtual const DecoratedOutputTransformType * GetOutput() const
 
virtual const FixedImageType * GetFixedImage() const
 
ImageRegistrationMethodv4 Self
 
virtual void SetMovingImage(SizeValueType, const MovingImageType *)
 
void PrintSelf(std::ostream &os, Indent indent) const override
 
typename ImageMetricType::FixedSampledPointSetType MetricSamplePointSetType
 
typename PointSetType::ConstPointer PointSetConstPointer
 
DataObjectDecorator< OutputTransformType > DecoratedOutputTransformType
 
typename ShrinkFilterType::ShrinkFactorsType ShrinkFactorsPerDimensionContainerType
 
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
 
PointSetsContainerType m_FixedPointSets
 
typename DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
 
typename OutputTransformType::ScalarType RealType
 
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
 
virtual VirtualImageBaseConstPointer GetCurrentLevelVirtualDomainImage()
 
TMovingImage MovingImageType
 
void SetNumberOfLevels(const SizeValueType)
 
typename VirtualImageType::Pointer VirtualImagePointer
 
Vector< RealType, ImageDimension > VectorType
 
virtual const PointSetType * GetFixedPointSet() const
 
ObjectToObjectOptimizerBaseTemplate< RealType > OptimizerType
 
DataObjectDecorator< InitialTransformType > DecoratedInitialTransformType
 
ObjectToObjectMultiMetricv4< ImageDimension, ImageDimension, VirtualImageType, RealType > MultiMetricType
 
typename FixedImageType::ConstPointer FixedImageConstPointer
 
virtual void SetFixedPointSet(const PointSetType *pointSet)
 
static constexpr unsigned int ImageDimension
 
FixedImageMasksContainerType m_FixedImageMasks
 
ShrinkImageFilter< FixedImageType, VirtualImageType > ShrinkFilterType
 
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
 
SizeValueType m_NumberOfMovingObjects
 
static void MakeOutputTransform(SmartPointer< InitialTransformType > &ptr)
 
typename CompositeTransformType::Pointer CompositeTransformPointer
 
typename VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
 
Array< SizeValueType > ShrinkFactorsArrayType
 
virtual DecoratedOutputTransformType * GetOutput()
 
std::vector< PointSetConstPointer > PointSetsContainerType
 
void SetOptimizerWeights(OptimizerWeightsType &)
 
virtual OutputTransformType * GetModifiableTransform()
 
SizeValueType m_CurrentLevel
 
typename TransformParametersAdaptorType::Pointer TransformParametersAdaptorPointer
 
bool m_OptimizerWeightsAreIdentity
 
~ImageRegistrationMethodv4() override=default
 
PointSetToPointSetMetricWithIndexv4< PointSetType, PointSetType, RealType > PointSetMetricType
 
const TransformParametersAdaptorsContainerType & GetTransformParametersAdaptorsPerLevel() const
 
MovingImageMasksContainerType m_MovingImageMasks
 
static void MakeOutputTransform(SmartPointer< TTransform > &ptr)
 
virtual const MovingImageType * GetMovingImage(SizeValueType) const
 
RealType m_CurrentMetricValue
 
typename FixedImageType::Pointer FixedImagePointer
 
MetricSamplingPercentageArrayType m_MetricSamplingPercentagePerLevel
 
OptimizerWeightsType m_OptimizerWeights
 
virtual void SetMovingPointSet(SizeValueType, const PointSetType *)
 
void SetMetricSamplingPercentage(const RealType)
 
virtual void SetFixedImage(const FixedImageType *image)
 
std::vector< ShrinkFactorsPerDimensionContainerType > m_ShrinkFactorsPerLevel
 
MovingImagesContainerType m_MovingSmoothImages
 
virtual const PointSetType * GetFixedPointSet(SizeValueType) const
 
SmartPointer< const Self > ConstPointer
 
virtual const FixedImageType * GetFixedImage(SizeValueType) const
 
ImageBase< ImageDimension > VirtualImageBaseType
 
std::vector< MovingImageConstPointer > MovingImagesContainerType
 
void SetShrinkFactorsPerLevel(ShrinkFactorsArrayType factors)
 
virtual void SetMetricSamplingPercentagePerLevel(const MetricSamplingPercentageArrayType &samplingPercentages)
 
virtual void SetFixedPointSet(SizeValueType, const PointSetType *)
 
virtual DecoratedOutputTransformType * GetTransformOutput()
 
TVirtualImage VirtualImageType
 
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) override
Make a DataObject of the correct type to used as the specified output.
 
virtual const PointSetType * GetMovingPointSet() const
 
void MetricSamplingReinitializeSeed(int seed)
 
OptimizerPointer m_Optimizer
 
virtual void SetMetricSamplePoints()
 
OutputTransformPointer m_OutputTransform
 
MetricSamplingStrategyEnum m_MetricSamplingStrategy
 
SizeValueType m_CurrentIteration
 
Transform< RealType, ImageDimension, ImageDimension > InitialTransformType
 
TransformParametersAdaptorsContainerType m_TransformParametersAdaptorsPerLevel
 
SizeValueType m_NumberOfMetrics
 
std::vector< FixedImageConstPointer > FixedImagesContainerType
 
virtual void SetMovingImage(const MovingImageType *image)
 
typename OptimizerType::Pointer OptimizerPointer
 
void GenerateData() override
 
typename MovingImageMaskType::ConstPointer MovingImageMaskConstPointer
 
VirtualImagePointer m_VirtualDomainImage
 
virtual void AllocateOutputs()
 
typename ImageMetricType::MovingImageMaskType MovingImageMaskType
 
virtual const MovingImageType * GetMovingImage() const
 
SizeValueType m_NumberOfLevels
 
RealType m_CurrentConvergenceValue
 
SizeValueType m_NumberOfFixedObjects
 
typename InitialTransformType::Pointer InitialTransformPointer
 
typename MovingImageType::Pointer MovingImagePointer
 
typename ImageMetricType::FixedImageMaskType FixedImageMaskType
 
void InitializeCenterOfLinearOutputTransform()
 
typename MetricType::Pointer MetricPointer
 
ImageRegistrationMethodv4()
 
typename OptimizerType::ScalesType OptimizerWeightsType
 
PointSetsContainerType m_MovingPointSets
 
virtual const OutputTransformType * GetTransform() const
 
CompositeTransform< RealType, ImageDimension > CompositeTransformType
 
TOutputTransform OutputTransformType
 
virtual const PointSetType * GetMovingPointSet(SizeValueType) const
 
TransformParametersAdaptorBase< InitialTransformType > TransformParametersAdaptorType
 
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
 
ImageToImageMetricv4< FixedImageType, MovingImageType, VirtualImageType, RealType > ImageMetricType
 
void MetricSamplingReinitializeSeed()
 
typename OutputTransformType::DerivativeType DerivativeType
 
FixedImagesContainerType m_FixedSmoothImages
 
ImageRegistrationMethodv4Enums::MetricSamplingStrategy MetricSamplingStrategyEnum
 
TFixedImage FixedImageType
 
void SetShrinkFactorsPerDimension(unsigned int level, ShrinkFactorsPerDimensionContainerType factors)
 
ShrinkFactorsPerDimensionContainerType GetShrinkFactorsPerDimension(const unsigned int level) const
 
CompositeTransformPointer m_CompositeTransform
 
bool m_SmoothingSigmasAreSpecifiedInPhysicalUnits
 
Array< RealType > MetricSamplingPercentageArrayType
 
void SetTransformParametersAdaptorsPerLevel(TransformParametersAdaptorsContainerType &)
 
Array< RealType > SmoothingSigmasArrayType
 
SpatialObject< Self::FixedImageDimension > FixedImageMaskType
 
SpatialObject< Self::MovingImageDimension > MovingImageMaskType
 
PointSet< typename FixedImageType::PixelType, Self::FixedImageDimension > FixedSampledPointSetType
 
Control indentation during Print() invocation.
 
Base class for all object-to-object similarity metrics added in ITKv4.
 
SmartPointer< Self > Pointer
 
This class takes one or more ObjectToObject metrics and assigns weights to their derivatives to compu...
 
Abstract base for object-to-object optimizers.
 
OptimizerParameters< RealType > ScalesType
 
SmartPointer< Self > Pointer
 
virtual void Modified() const
 
Generic representation for an optimization method.
 
Computes similarity between two point sets.
 
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
 
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
 
DataObject::Pointer DataObjectPointer
 
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
 
Reduce the size of an image by an integer factor in each dimension.
 
FixedArray< unsigned int, ImageDimension > ShrinkFactorsType
 
Implements transparent reference counting.
 
A templated class holding a n-Dimensional vector.
 
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
 
constexpr TContainer MakeFilled(typename TContainer::const_reference value)
 
unsigned long SizeValueType
 
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)