ITK  5.4.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  {
400  shrinkFactors.Fill(factors[level]);
401  this->SetShrinkFactorsPerDimension(level, shrinkFactors);
402  }
403  }
409  ShrinkFactorsPerDimensionContainerType
410  GetShrinkFactorsPerDimension(const unsigned int level) const
411  {
412  if (level >= this->m_ShrinkFactorsPerLevel.size())
413  {
414  itkExceptionMacro("Requesting level greater than the number of levels.");
415  }
416  return this->m_ShrinkFactorsPerLevel[level];
417  }
423  void
425  {
426  if (level >= this->m_ShrinkFactorsPerLevel.size())
427  {
428  this->m_ShrinkFactorsPerLevel.resize(level + 1);
429  }
430  this->m_ShrinkFactorsPerLevel[level] = factors;
431  this->Modified();
432  }
440  itkSetMacro(SmoothingSigmasPerLevel, SmoothingSigmasArrayType);
441  itkGetConstMacro(SmoothingSigmasPerLevel, SmoothingSigmasArrayType);
448  itkSetMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, bool);
449  itkGetConstMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits, bool);
450  itkBooleanMacro(SmoothingSigmasAreSpecifiedInPhysicalUnits);
455  using Superclass::MakeOutput;
457 
460  GetOutput();
461  virtual const DecoratedOutputTransformType *
462  GetOutput() const;
467  {
468  return this->GetOutput();
469  }
470  virtual const DecoratedOutputTransformType *
472  {
473  return this->GetOutput();
474  }
475 
476  virtual OutputTransformType *
477  GetModifiableTransform();
478  virtual const OutputTransformType *
479  GetTransform() const;
480 
482  itkGetConstMacro(CurrentLevel, SizeValueType);
483 
485  itkGetConstReferenceMacro(CurrentIteration, SizeValueType);
486 
487  /* Get the current metric value. This is a helper function for reporting observations. */
488  itkGetConstReferenceMacro(CurrentMetricValue, RealType);
489 
491  itkGetConstReferenceMacro(CurrentConvergenceValue, RealType);
492 
494  itkGetConstReferenceMacro(IsConverged, bool);
495 
499  itkSetMacro(InPlace, bool);
500  itkGetConstMacro(InPlace, bool);
501  itkBooleanMacro(InPlace);
509  itkBooleanMacro(InitializeCenterOfLinearOutputTransform);
510  itkSetMacro(InitializeCenterOfLinearOutputTransform, bool);
511  itkGetConstMacro(InitializeCenterOfLinearOutputTransform, bool);
526  void
527  InitializeCenterOfLinearOutputTransform();
528 
529 protected:
531  ~ImageRegistrationMethodv4() override = default;
532  void
533  PrintSelf(std::ostream & os, Indent indent) const override;
534 
536  void
537  GenerateData() override;
538 
539  virtual void
540  AllocateOutputs();
541 
543  virtual void
544  InitializeRegistrationAtEachLevel(const SizeValueType);
545 
547  virtual VirtualImageBaseConstPointer
548  GetCurrentLevelVirtualDomainImage();
549 
551  virtual void
552  SetMetricSamplePoints();
553 
554  SizeValueType m_CurrentLevel{};
555  SizeValueType m_NumberOfLevels{ 0 };
556  SizeValueType m_CurrentIteration{};
557  RealType m_CurrentMetricValue{};
558  RealType m_CurrentConvergenceValue{};
559  bool m_IsConverged{};
560 
561  FixedImagesContainerType m_FixedSmoothImages{};
562  MovingImagesContainerType m_MovingSmoothImages{};
563  FixedImageMasksContainerType m_FixedImageMasks{};
564  MovingImageMasksContainerType m_MovingImageMasks{};
565  VirtualImagePointer m_VirtualDomainImage{};
566  PointSetsContainerType m_FixedPointSets{};
567  PointSetsContainerType m_MovingPointSets{};
568  SizeValueType m_NumberOfFixedObjects{};
569  SizeValueType m_NumberOfMovingObjects{};
570 
571  OptimizerPointer m_Optimizer{};
572  OptimizerWeightsType m_OptimizerWeights{};
573  bool m_OptimizerWeightsAreIdentity{};
574 
575  MetricPointer m_Metric{};
576  MetricSamplingStrategyEnum m_MetricSamplingStrategy{};
577  MetricSamplingPercentageArrayType m_MetricSamplingPercentagePerLevel{};
578  SizeValueType m_NumberOfMetrics{};
579  int m_FirstImageMetricIndex{};
580  std::vector<ShrinkFactorsPerDimensionContainerType> m_ShrinkFactorsPerLevel{};
581  SmoothingSigmasArrayType m_SmoothingSigmasPerLevel{};
582  bool m_SmoothingSigmasAreSpecifiedInPhysicalUnits{};
583 
584  bool m_ReseedIterator{};
585  int m_RandomSeed{};
586  int m_CurrentRandomSeed{};
587 
588 
589  TransformParametersAdaptorsContainerType m_TransformParametersAdaptorsPerLevel{};
590 
591  CompositeTransformPointer m_CompositeTransform{};
592 
593  // TODO: m_OutputTransform should be removed and replaced with a named input parameter for
594  // the pipeline
595  OutputTransformPointer m_OutputTransform{};
596 
597 
598 private:
599  bool m_InPlace{};
600 
601  bool m_InitializeCenterOfLinearOutputTransform{};
602 
603  // helper function to create the right kind of concrete transform
604  template <typename TTransform>
605  static void
607  {
608  ptr = TTransform::New();
609  }
610 
611  static void
613  {
615  }
616 };
617 } // end namespace itk
618 
619 #ifndef ITK_MANUAL_INSTANTIATION
620 # include "itkImageRegistrationMethodv4.hxx"
621 #endif
622 
623 #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:612
itk::PointSet
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Definition: itkPointSet.h:82
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::operator<<
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
Definition: itkArray.h:216
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:466
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:471
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::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:410
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:606
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: itkAnnulusOperator.h:24
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:424
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:83
itk::ImageRegistrationMethodv4::DerivativeType
typename OutputTransformType::DerivativeType DerivativeType
Definition: itkImageRegistrationMethodv4.h:155
itkObjectToObjectMultiMetricv4.h