ITK  6.0.0
Insight Toolkit
itkImageRegistrationMethodv4.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * https://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkImageRegistrationMethodv4_h
19 #define itkImageRegistrationMethodv4_h
20 
21 #include "itkProcessObject.h"
22 
23 #include "itkCompositeTransform.h"
24 #include "itkDataObjectDecorator.h"
30 #include "itkShrinkImageFilter.h"
31 #include "itkIdentityTransform.h"
33 #include "ITKRegistrationMethodsv4Export.h"
34 
35 #include <vector>
36 
37 namespace itk
38 {
44 {
45 public:
51  enum class MetricSamplingStrategy : uint8_t
52  {
53  NONE,
54  REGULAR,
55  RANDOM
56  };
57 };
58 // Define how to print enumeration
59 extern ITKRegistrationMethodsv4_EXPORT std::ostream &
61 
112 template <typename TFixedImage,
113  typename TMovingImage,
114  typename TOutputTransform = Transform<double, TFixedImage::ImageDimension, TFixedImage::ImageDimension>,
115  typename TVirtualImage = TFixedImage,
116  typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension>>
117 class ITK_TEMPLATE_EXPORT ImageRegistrationMethodv4 : public ProcessObject
118 {
119 public:
120  ITK_DISALLOW_COPY_AND_MOVE(ImageRegistrationMethodv4);
121 
127 
129  itkNewMacro(Self);
130 
132  static constexpr unsigned int ImageDimension = TFixedImage::ImageDimension;
133 
135  itkOverrideGetNameOfClassMacro(ImageRegistrationMethodv4);
136 
138  using FixedImageType = TFixedImage;
141  using FixedImagesContainerType = std::vector<FixedImageConstPointer>;
142  using MovingImageType = TMovingImage;
145  using MovingImagesContainerType = std::vector<MovingImageConstPointer>;
146 
147  using PointSetType = TPointSet;
149  using PointSetsContainerType = std::vector<PointSetConstPointer>;
150 
152  using OutputTransformType = TOutputTransform;
154  using RealType = typename OutputTransformType::ScalarType;
155  using DerivativeType = typename OutputTransformType::DerivativeType;
156  using DerivativeValueType = typename DerivativeType::ValueType;
157 
160 
163 
166 
168 
169  using VirtualImageType = TVirtualImage;
173 
177 
180  using FixedImageMasksContainerType = std::vector<FixedImageMaskConstPointer>;
183  using MovingImageMasksContainerType = std::vector<MovingImageMaskConstPointer>;
184 
193 
196 
198 
201 
205  using TransformParametersAdaptorsContainerType = std::vector<TransformParametersAdaptorPointer>;
206 
210 
213 
215 #if !defined(ITK_LEGACY_REMOVE)
216 
217  using MetricSamplingStrategyType = MetricSamplingStrategyEnum;
218  static constexpr MetricSamplingStrategyEnum NONE = MetricSamplingStrategyEnum::NONE;
219  static constexpr MetricSamplingStrategyEnum REGULAR = MetricSamplingStrategyEnum::REGULAR;
220  static constexpr MetricSamplingStrategyEnum RANDOM = MetricSamplingStrategyEnum::RANDOM;
221 #endif
222 
223 
225 
227  virtual void
229  {
230  this->SetFixedImage(0, image);
231  }
232  virtual const FixedImageType *
234  {
235  return this->GetFixedImage(0);
236  }
237  virtual void
238  SetFixedImage(SizeValueType, const FixedImageType *);
239  virtual const FixedImageType * GetFixedImage(SizeValueType) const;
243  virtual void
245  {
246  this->SetMovingImage(0, image);
247  }
248  virtual const MovingImageType *
250  {
251  return this->GetMovingImage(0);
252  }
253  virtual void
254  SetMovingImage(SizeValueType, const MovingImageType *);
255  virtual const MovingImageType * GetMovingImage(SizeValueType) const;
259  virtual void
260  SetFixedPointSet(const PointSetType * pointSet)
261  {
262  this->SetFixedPointSet(0, pointSet);
263  }
264  virtual const PointSetType *
266  {
267  return this->GetFixedPointSet(0);
268  }
269  virtual void
270  SetFixedPointSet(SizeValueType, const PointSetType *);
271  virtual const PointSetType * GetFixedPointSet(SizeValueType) const;
275  virtual void
276  SetMovingPointSet(const PointSetType * pointSet)
277  {
278  this->SetMovingPointSet(0, pointSet);
279  }
280  virtual const PointSetType *
282  {
283  return this->GetMovingPointSet(0);
284  }
285  virtual void
286  SetMovingPointSet(SizeValueType, const PointSetType *);
287  virtual const PointSetType * GetMovingPointSet(SizeValueType) const;
291  itkSetObjectMacro(Optimizer, OptimizerType);
292  itkGetModifiableObjectMacro(Optimizer, OptimizerType);
303  void
304  SetOptimizerWeights(OptimizerWeightsType &);
305  itkGetConstMacro(OptimizerWeights, OptimizerWeightsType);
309  itkSetObjectMacro(Metric, MetricType);
310  itkGetModifiableObjectMacro(Metric, MetricType);
314  itkSetEnumMacro(MetricSamplingStrategy, MetricSamplingStrategyEnum);
315  itkGetEnumMacro(MetricSamplingStrategy, MetricSamplingStrategyEnum);
329  void
330  MetricSamplingReinitializeSeed();
331  void
332  MetricSamplingReinitializeSeed(int seed);
336  void
337  SetMetricSamplingPercentage(const RealType);
338 
340  virtual void
341  SetMetricSamplingPercentagePerLevel(const MetricSamplingPercentageArrayType & samplingPercentages);
342  itkGetConstMacro(MetricSamplingPercentagePerLevel, MetricSamplingPercentageArrayType);
346  itkSetGetDecoratedObjectInputMacro(FixedInitialTransform, InitialTransformType);
347 
349  itkSetGetDecoratedObjectInputMacro(MovingInitialTransform, InitialTransformType);
350 
366  itkSetGetDecoratedObjectInputMacro(InitialTransform, InitialTransformType);
367 
369  void
370  SetTransformParametersAdaptorsPerLevel(TransformParametersAdaptorsContainerType &);
371  const TransformParametersAdaptorsContainerType &
372  GetTransformParametersAdaptorsPerLevel() const;
382  void
383  SetNumberOfLevels(const SizeValueType);
384  itkGetConstMacro(NumberOfLevels, SizeValueType);
394  void
396  {
397  for (unsigned int level = 0; level < factors.Size(); ++level)
398  {
399  auto shrinkFactors = MakeFilled<ShrinkFactorsPerDimensionContainerType>(factors[level]);
400  this->SetShrinkFactorsPerDimension(level, shrinkFactors);
401  }
402  }
408  ShrinkFactorsPerDimensionContainerType
409  GetShrinkFactorsPerDimension(const unsigned int level) const
410  {
411  if (level >= this->m_ShrinkFactorsPerLevel.size())
412  {
413  itkExceptionMacro("Requesting level greater than the number of levels.");
414  }
415  return this->m_ShrinkFactorsPerLevel[level];
416  }
422  void
424  {
425  if (level >= this->m_ShrinkFactorsPerLevel.size())
426  {
427  this->m_ShrinkFactorsPerLevel.resize(level + 1);
428  }
429  this->m_ShrinkFactorsPerLevel[level] = factors;
430  this->Modified();
431  }
439  itkSetMacro(SmoothingSigmasPerLevel, SmoothingSigmasArrayType);
440  itkGetConstMacro(SmoothingSigmasPerLevel, SmoothingSigmasArrayType);
447  itkSetMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, bool);
448  itkGetConstMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, bool);
449  itkBooleanMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits);
454  using Superclass::MakeOutput;
456 
459  GetOutput();
460  virtual const DecoratedOutputTransformType *
461  GetOutput() const;
466  {
467  return this->GetOutput();
468  }
469  virtual const DecoratedOutputTransformType *
471  {
472  return this->GetOutput();
473  }
474 
475  virtual OutputTransformType *
476  GetModifiableTransform();
477  virtual const OutputTransformType *
478  GetTransform() const;
479 
481  itkGetConstMacro(CurrentLevel, SizeValueType);
482 
484  itkGetConstReferenceMacro(CurrentIteration, SizeValueType);
485 
486  /* Get the current metric value. This is a helper function for reporting observations. */
487  itkGetConstReferenceMacro(CurrentMetricValue, RealType);
488 
490  itkGetConstReferenceMacro(CurrentConvergenceValue, RealType);
491 
493  itkGetConstReferenceMacro(IsConverged, bool);
494 
498  itkSetMacro(InPlace, bool);
499  itkGetConstMacro(InPlace, bool);
500  itkBooleanMacro(InPlace);
508  itkBooleanMacro(InitializeCenterOfLinearOutputTransform);
509  itkSetMacro(InitializeCenterOfLinearOutputTransform, bool);
510  itkGetConstMacro(InitializeCenterOfLinearOutputTransform, bool);
525  void
526  InitializeCenterOfLinearOutputTransform();
527 
528 protected:
530  ~ImageRegistrationMethodv4() override = default;
531  void
532  PrintSelf(std::ostream & os, Indent indent) const override;
533 
535  void
536  GenerateData() override;
537 
538  virtual void
539  AllocateOutputs();
540 
542  virtual void
543  InitializeRegistrationAtEachLevel(const SizeValueType);
544 
546  virtual VirtualImageBaseConstPointer
547  GetCurrentLevelVirtualDomainImage();
548 
550  virtual void
551  SetMetricSamplePoints();
552 
553  SizeValueType m_CurrentLevel{};
554  SizeValueType m_NumberOfLevels{ 0 };
555  SizeValueType m_CurrentIteration{};
556  RealType m_CurrentMetricValue{};
557  RealType m_CurrentConvergenceValue{};
558  bool m_IsConverged{};
559 
560  FixedImagesContainerType m_FixedSmoothImages{};
561  MovingImagesContainerType m_MovingSmoothImages{};
562  FixedImageMasksContainerType m_FixedImageMasks{};
563  MovingImageMasksContainerType m_MovingImageMasks{};
564  VirtualImagePointer m_VirtualDomainImage{};
565  PointSetsContainerType m_FixedPointSets{};
566  PointSetsContainerType m_MovingPointSets{};
567  SizeValueType m_NumberOfFixedObjects{};
568  SizeValueType m_NumberOfMovingObjects{};
569 
570  OptimizerPointer m_Optimizer{};
571  OptimizerWeightsType m_OptimizerWeights{};
572  bool m_OptimizerWeightsAreIdentity{};
573 
574  MetricPointer m_Metric{};
575  MetricSamplingStrategyEnum m_MetricSamplingStrategy{};
576  MetricSamplingPercentageArrayType m_MetricSamplingPercentagePerLevel{};
577  SizeValueType m_NumberOfMetrics{};
578  int m_FirstImageMetricIndex{};
579  std::vector<ShrinkFactorsPerDimensionContainerType> m_ShrinkFactorsPerLevel{};
580  SmoothingSigmasArrayType m_SmoothingSigmasPerLevel{};
581  bool m_SmoothingSigmasAreSpecifiedInPhysicalUnits{};
582 
583  bool m_ReseedIterator{};
584  int m_RandomSeed{};
585  int m_CurrentRandomSeed{};
586 
587 
588  TransformParametersAdaptorsContainerType m_TransformParametersAdaptorsPerLevel{};
589 
590  CompositeTransformPointer m_CompositeTransform{};
591 
592  // TODO: m_OutputTransform should be removed and replaced with a named input parameter for
593  // the pipeline
594  OutputTransformPointer m_OutputTransform{};
595 
596 
597 private:
598  bool m_InPlace{};
599 
600  bool m_InitializeCenterOfLinearOutputTransform{};
601 
602  // helper function to create the right kind of concrete transform
603  template <typename TTransform>
604  static void
606  {
607  ptr = TTransform::New();
608  }
609 
610  static void
612  {
614  }
615 };
616 } // end namespace itk
617 
618 #ifndef ITK_MANUAL_INSTANTIATION
619 # include "itkImageRegistrationMethodv4.hxx"
620 #endif
621 
622 #endif
itk::ImageRegistrationMethodv4::MovingImageMaskConstPointer
typename MovingImageMaskType::ConstPointer MovingImageMaskConstPointer
Definition: itkImageRegistrationMethodv4.h:182
Pointer
SmartPointer< Self > Pointer
Definition: itkAddImageFilter.h:93
itk::ImageRegistrationMethodv4::MovingImageType
TMovingImage MovingImageType
Definition: itkImageRegistrationMethodv4.h:142
itk::OptimizerParameters< TInternalComputationValueType >
ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkAddImageFilter.h:94
itk::TransformParametersAdaptorBase
Base helper class intended for multi-resolution image registration.
Definition: itkTransformParametersAdaptorBase.h:55
itk::ImageRegistrationMethodv4::ShrinkFactorsPerDimensionContainerType
typename ShrinkFilterType::ShrinkFactorsType ShrinkFactorsPerDimensionContainerType
Definition: itkImageRegistrationMethodv4.h:195
itk::CompositeTransform
This class contains a list of transforms and concatenates them by composition.
Definition: itkCompositeTransform.h:87
itk::ImageRegistrationMethodv4::SetMovingPointSet
virtual void SetMovingPointSet(const PointSetType *pointSet)
Definition: itkImageRegistrationMethodv4.h:276
itk::ImageRegistrationMethodv4::MakeOutputTransform
static void MakeOutputTransform(SmartPointer< InitialTransformType > &ptr)
Definition: itkImageRegistrationMethodv4.h:611
itk::PointSet
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Definition: itkPointSet.h:81
itk::ImageRegistrationMethodv4::PointSetsContainerType
std::vector< PointSetConstPointer > PointSetsContainerType
Definition: itkImageRegistrationMethodv4.h:149
itk::ImageRegistrationMethodv4::FixedImagePointer
typename FixedImageType::Pointer FixedImagePointer
Definition: itkImageRegistrationMethodv4.h:139
itk::ImageRegistrationMethodv4::VirtualImagePointer
typename VirtualImageType::Pointer VirtualImagePointer
Definition: itkImageRegistrationMethodv4.h:170
itk::ObjectToObjectMultiMetricv4
This class takes one ore more ObjectToObject metrics and assigns weights to their derivatives to comp...
Definition: itkObjectToObjectMultiMetricv4.h:96
itk::ImageRegistrationMethodv4::SetFixedPointSet
virtual void SetFixedPointSet(const PointSetType *pointSet)
Definition: itkImageRegistrationMethodv4.h:260
itk::ImageRegistrationMethodv4::InitialTransformPointer
typename InitialTransformType::Pointer InitialTransformPointer
Definition: itkImageRegistrationMethodv4.h:159
itk::ImageRegistrationMethodv4::GetTransformOutput
virtual DecoratedOutputTransformType * GetTransformOutput()
Definition: itkImageRegistrationMethodv4.h:465
itk::ImageBase
Base class for templated image classes.
Definition: itkImageBase.h:114
itk::ImageRegistrationMethodv4::PointSetConstPointer
typename PointSetType::ConstPointer PointSetConstPointer
Definition: itkImageRegistrationMethodv4.h:148
itk::ImageRegistrationMethodv4::PointSetType
TPointSet PointSetType
Definition: itkImageRegistrationMethodv4.h:147
itk::ImageRegistrationMethodv4::GetTransformOutput
virtual const DecoratedOutputTransformType * GetTransformOutput() const
Definition: itkImageRegistrationMethodv4.h:470
itk::ImageRegistrationMethodv4Enums::MetricSamplingStrategy::RANDOM
itk::Optimizer
Generic representation for an optimization method.
Definition: itkOptimizer.h:38
itk::ImageRegistrationMethodv4::GetFixedPointSet
virtual const PointSetType * GetFixedPointSet() const
Definition: itkImageRegistrationMethodv4.h:265
itk::Vector
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:62
itk::ImageRegistrationMethodv4::OptimizerPointer
typename OptimizerType::Pointer OptimizerPointer
Definition: itkImageRegistrationMethodv4.h:209
itk::ImageRegistrationMethodv4::TransformParametersAdaptorsContainerType
std::vector< TransformParametersAdaptorPointer > TransformParametersAdaptorsContainerType
Definition: itkImageRegistrationMethodv4.h:205
itk::ImageRegistrationMethodv4::GetMovingImage
virtual const MovingImageType * GetMovingImage() const
Definition: itkImageRegistrationMethodv4.h:249
itk::ImageRegistrationMethodv4::MovingImageConstPointer
typename MovingImageType::ConstPointer MovingImageConstPointer
Definition: itkImageRegistrationMethodv4.h:144
itk::ImageRegistrationMethodv4::MovingImagesContainerType
std::vector< MovingImageConstPointer > MovingImagesContainerType
Definition: itkImageRegistrationMethodv4.h:145
itk::ImageRegistrationMethodv4::MetricPointer
typename MetricType::Pointer MetricPointer
Definition: itkImageRegistrationMethodv4.h:165
itk::operator<<
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
itk::SmartPointer< Self >
itk::ImageRegistrationMethodv4::SetFixedImage
virtual void SetFixedImage(const FixedImageType *image)
Definition: itkImageRegistrationMethodv4.h:228
itk::ImageRegistrationMethodv4::SetShrinkFactorsPerLevel
void SetShrinkFactorsPerLevel(ShrinkFactorsArrayType factors)
Definition: itkImageRegistrationMethodv4.h:395
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::ImageRegistrationMethodv4::GetShrinkFactorsPerDimension
ShrinkFactorsPerDimensionContainerType GetShrinkFactorsPerDimension(const unsigned int level) const
Definition: itkImageRegistrationMethodv4.h:409
itk::ProcessObject::DataObjectPointerArraySizeType
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
Definition: itkProcessObject.h:194
itk::ImageRegistrationMethodv4::CompositeTransformPointer
typename CompositeTransformType::Pointer CompositeTransformPointer
Definition: itkImageRegistrationMethodv4.h:162
itkTransformParametersAdaptorBase.h
itk::ImageRegistrationMethodv4::VirtualImageBaseConstPointer
typename VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
Definition: itkImageRegistrationMethodv4.h:172
itk::DataObjectDecorator
Decorates any subclass of itkObject with a DataObject API.
Definition: itkDataObjectDecorator.h:66
itk::PointSetToPointSetMetricWithIndexv4
Computes similarity between two point sets.
Definition: itkPointSetToPointSetMetricWithIndexv4.h:72
itk::ImageRegistrationMethodv4::RealType
typename OutputTransformType::ScalarType RealType
Definition: itkImageRegistrationMethodv4.h:154
itk::ImageRegistrationMethodv4Enums::MetricSamplingStrategy
MetricSamplingStrategy
Definition: itkImageRegistrationMethodv4.h:51
itk::ImageRegistrationMethodv4::MovingImageMasksContainerType
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
Definition: itkImageRegistrationMethodv4.h:183
itk::ImageRegistrationMethodv4::FixedImageMasksContainerType
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
Definition: itkImageRegistrationMethodv4.h:180
MetricSamplingStrategy
enum type for metric sampling strategy
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::ImageRegistrationMethodv4::DecoratedInitialTransformPointer
typename DecoratedInitialTransformType::Pointer DecoratedInitialTransformPointer
Definition: itkImageRegistrationMethodv4.h:192
itk::ImageRegistrationMethodv4::FixedImageType
TFixedImage FixedImageType
Definition: itkImageRegistrationMethodv4.h:138
itkProcessObject.h
itk::ImageRegistrationMethodv4::MovingImageMaskType
typename ImageMetricType::MovingImageMaskType MovingImageMaskType
Definition: itkImageRegistrationMethodv4.h:181
itkDataObjectDecorator.h
itk::ImageRegistrationMethodv4::TransformParametersAdaptorPointer
typename TransformParametersAdaptorType::Pointer TransformParametersAdaptorPointer
Definition: itkImageRegistrationMethodv4.h:204
itkImageToImageMetricv4.h
itk::ImageRegistrationMethodv4::FixedImageMaskConstPointer
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
Definition: itkImageRegistrationMethodv4.h:179
itk::SmartPointer::GetPointer
ObjectType * GetPointer() const noexcept
Definition: itkSmartPointer.h:132
itk::ImageRegistrationMethodv4::MovingImagePointer
typename MovingImageType::Pointer MovingImagePointer
Definition: itkImageRegistrationMethodv4.h:143
itk::ObjectToObjectMetricBaseTemplate
Base class for all object-to-object similarity metrics added in ITKv4.
Definition: itkObjectToObjectMetricBase.h:90
itk::ImageRegistrationMethodv4::MakeOutputTransform
static void MakeOutputTransform(SmartPointer< TTransform > &ptr)
Definition: itkImageRegistrationMethodv4.h:605
itk::ImageRegistrationMethodv4::FixedImageConstPointer
typename FixedImageType::ConstPointer FixedImageConstPointer
Definition: itkImageRegistrationMethodv4.h:140
itk::SpatialObject
Implementation of the composite pattern.
Definition: itkSpatialObject.h:58
itk::ShrinkImageFilter
Reduce the size of an image by an integer factor in each dimension.
Definition: itkShrinkImageFilter.h:68
itkIdentityTransform.h
itk::FixedArray< unsigned int, ImageDimension >
itk::ImageRegistrationMethodv4::MetricSamplePointSetType
typename ImageMetricType::FixedSampledPointSetType MetricSamplePointSetType
Definition: itkImageRegistrationMethodv4.h:224
itkShrinkImageFilter.h
itkObjectToObjectMetricBase.h
itk::ImageRegistrationMethodv4::SetMovingImage
virtual void SetMovingImage(const MovingImageType *image)
Definition: itkImageRegistrationMethodv4.h:244
itk::ImageRegistrationMethodv4Enums::MetricSamplingStrategy::NONE
itk::ImageRegistrationMethodv4::FixedImagesContainerType
std::vector< FixedImageConstPointer > FixedImagesContainerType
Definition: itkImageRegistrationMethodv4.h:141
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itk::ImageRegistrationMethodv4::FixedImageMaskType
typename ImageMetricType::FixedImageMaskType FixedImageMaskType
Definition: itkImageRegistrationMethodv4.h:178
itk::ImageRegistrationMethodv4
Interface method for the current registration framework.
Definition: itkImageRegistrationMethodv4.h:117
itkPointSetToPointSetMetricWithIndexv4.h
itkObjectToObjectOptimizerBase.h
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition: itkProcessObject.h:139
itk::ImageRegistrationMethodv4::SetShrinkFactorsPerDimension
void SetShrinkFactorsPerDimension(unsigned int level, ShrinkFactorsPerDimensionContainerType factors)
Definition: itkImageRegistrationMethodv4.h:423
itk::ImageRegistrationMethodv4Enums
Contains all enum classes for ImageRegistrationMethodv4 class.
Definition: itkImageRegistrationMethodv4.h:43
itk::ProcessObject
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:41
itk::ObjectToObjectOptimizerBaseTemplate
Abstract base for object-to-object optimizers.
Definition: itkObjectToObjectOptimizerBase.h:113
itk::ImageToImageMetricv4
Definition: itkImageToImageMetricv4.h:174
itk::ImageRegistrationMethodv4::OutputTransformPointer
typename OutputTransformType::Pointer OutputTransformPointer
Definition: itkImageRegistrationMethodv4.h:153
itk::Array< SizeValueType >
itk::ImageRegistrationMethodv4::OptimizerWeightsType
typename OptimizerType::ScalesType OptimizerWeightsType
Definition: itkImageRegistrationMethodv4.h:212
itk::ImageRegistrationMethodv4::GetMovingPointSet
virtual const PointSetType * GetMovingPointSet() const
Definition: itkImageRegistrationMethodv4.h:281
itk::Array::Size
SizeValueType Size() const
Definition: itkArray.h:128
itk::ImageRegistrationMethodv4Enums::MetricSamplingStrategy::REGULAR
itk::ImageRegistrationMethodv4::VirtualImageType
TVirtualImage VirtualImageType
Definition: itkImageRegistrationMethodv4.h:169
itk::ImageRegistrationMethodv4::GetFixedImage
virtual const FixedImageType * GetFixedImage() const
Definition: itkImageRegistrationMethodv4.h:233
itk::Transform
Transform points and vectors from an input space to an output space.
Definition: itkTransform.h:83
itk::ImageRegistrationMethodv4::DecoratedOutputTransformPointer
typename DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
Definition: itkImageRegistrationMethodv4.h:190
New
static Pointer New()
itk::IdentityTransform::New
static Pointer New()
itkCompositeTransform.h
itk::ImageRegistrationMethodv4::OutputTransformType
TOutputTransform OutputTransformType
Definition: itkImageRegistrationMethodv4.h:152
itk::ImageRegistrationMethodv4::DerivativeValueType
typename DerivativeType::ValueType DerivativeValueType
Definition: itkImageRegistrationMethodv4.h:156
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:86
itk::ImageRegistrationMethodv4::DerivativeType
typename OutputTransformType::DerivativeType DerivativeType
Definition: itkImageRegistrationMethodv4.h:155
itkObjectToObjectMultiMetricv4.h