ITK  5.1.0
Insight Toolkit
itkPointSetToPointSetMetricv4.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 itkPointSetToPointSetMetricv4_h
19 #define itkPointSetToPointSetMetricv4_h
20 
22 
23 #include "itkFixedArray.h"
24 #include "itkPointsLocator.h"
25 #include "itkPointSet.h"
26 
27 namespace itk
28 {
69 template <typename TFixedPointSet, typename TMovingPointSet, class TInternalComputationValueType = double>
70 class ITK_TEMPLATE_EXPORT PointSetToPointSetMetricv4
71  : public ObjectToObjectMetric<TFixedPointSet::PointDimension,
72  TMovingPointSet::PointDimension,
73  Image<TInternalComputationValueType, TFixedPointSet::PointDimension>,
74  TInternalComputationValueType>
75 {
76 public:
77  ITK_DISALLOW_COPY_AND_ASSIGN(PointSetToPointSetMetricv4);
78 
81  using Superclass = ObjectToObjectMetric<TFixedPointSet::PointDimension,
82  TMovingPointSet::PointDimension,
84  TInternalComputationValueType>;
87 
90 
92  using MeasureType = typename Superclass::MeasureType;
93 
95  using ParametersType = typename Superclass::ParametersType;
96  using ParametersValueType = typename Superclass::ParametersValueType;
97  using NumberOfParametersType = typename Superclass::NumberOfParametersType;
98 
100  using DerivativeType = typename Superclass::DerivativeType;
101 
103  using FixedTransformType = typename Superclass::FixedTransformType;
104  using FixedTransformPointer = typename Superclass::FixedTransformPointer;
105  using FixedInputPointType = typename Superclass::FixedInputPointType;
106  using FixedOutputPointType = typename Superclass::FixedOutputPointType;
107  using FixedTransformParametersType = typename Superclass::FixedTransformParametersType;
108 
109  using MovingTransformType = typename Superclass::MovingTransformType;
110  using MovingTransformPointer = typename Superclass::MovingTransformPointer;
111  using MovingInputPointType = typename Superclass::MovingInputPointType;
112  using MovingOutputPointType = typename Superclass::MovingOutputPointType;
113  using MovingTransformParametersType = typename Superclass::MovingTransformParametersType;
114 
115  using JacobianType = typename Superclass::JacobianType;
116  using FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType;
117  using MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType;
118 
119  using DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType;
120 
121  using ObjectType = typename Superclass::ObjectType;
122 
124  using DimensionType = typename Superclass::DimensionType;
125 
127  using FixedPointSetType = TFixedPointSet;
129  using FixedPixelType = typename TFixedPointSet::PixelType;
130  using FixedPointsContainer = typename TFixedPointSet::PointsContainer;
131 
132  static constexpr DimensionType FixedPointDimension = Superclass::FixedDimension;
133 
135  using MovingPointSetType = TMovingPointSet;
137  using MovingPixelType = typename TMovingPointSet::PixelType;
138  using MovingPointsContainer = typename TMovingPointSet::PointsContainer;
139 
140  static constexpr DimensionType MovingPointDimension = Superclass::MovingDimension;
141 
148  static constexpr DimensionType PointDimension = Superclass::FixedDimension;
149 
152  using CoordRepType = typename PointType::CoordRepType;
154  using PointsConstIterator = typename PointsContainer::ConstIterator;
155  using PointIdentifier = typename PointsContainer::ElementIdentifier;
156 
160 
163 
164  using DerivativeValueType = typename DerivativeType::ValueType;
166 
168  using VirtualImageType = typename Superclass::VirtualImageType;
169  using VirtualImagePointer = typename Superclass::VirtualImagePointer;
170  using VirtualPixelType = typename Superclass::VirtualPixelType;
171  using VirtualRegionType = typename Superclass::VirtualRegionType;
172  using VirtualSizeType = typename Superclass::VirtualSizeType;
173  using VirtualSpacingType = typename Superclass::VirtualSpacingType;
174  using VirtualOriginType = typename Superclass::VirtualPointType;
175  using VirtualPointType = typename Superclass::VirtualPointType;
176  using VirtualDirectionType = typename Superclass::VirtualDirectionType;
177  using VirtualRadiusType = typename Superclass::VirtualSizeType;
178  using VirtualIndexType = typename Superclass::VirtualIndexType;
179  using VirtualPointSetType = typename Superclass::VirtualPointSetType;
180  using VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer;
181 
183  void
184  SetFixedObject(const ObjectType * object) override
185  {
186  auto * pointSet = dynamic_cast<FixedPointSetType *>(const_cast<ObjectType *>(object));
187  if (pointSet != nullptr)
188  {
189  this->SetFixedPointSet(pointSet);
190  }
191  else
192  {
193  itkExceptionMacro("Incorrect object type. Should be a point set.")
194  }
195  }
197 
199  void
200  SetMovingObject(const ObjectType * object) override
201  {
202  auto * pointSet = dynamic_cast<MovingPointSetType *>(const_cast<ObjectType *>(object));
203  if (pointSet != nullptr)
204  {
205  this->SetMovingPointSet(pointSet);
206  }
207  else
208  {
209  itkExceptionMacro("Incorrect object type. Should be a point set.")
210  }
211  }
213 
215  itkSetConstObjectMacro(FixedPointSet, FixedPointSetType);
216  itkGetConstObjectMacro(FixedPointSet, FixedPointSetType);
218 
220  itkGetModifiableObjectMacro(FixedTransformedPointSet, FixedTransformedPointSetType);
221 
223  itkSetConstObjectMacro(MovingPointSet, MovingPointSetType);
224  itkGetConstObjectMacro(MovingPointSet, MovingPointSetType);
226 
228  itkGetModifiableObjectMacro(MovingTransformedPointSet, MovingTransformedPointSetType);
229 
234  GetNumberOfComponents() const;
235 
246  MeasureType
247  GetValue() const override;
248 
259  void
260  GetDerivative(DerivativeType &) const override;
261 
272  void
273  GetValueAndDerivative(MeasureType &, DerivativeType &) const override;
274 
280  virtual MeasureType
281  GetLocalNeighborhoodValue(const PointType &, const PixelType & pixel) const = 0;
282 
287  virtual LocalDerivativeType
288  GetLocalNeighborhoodDerivative(const PointType &, const PixelType & pixel) const;
289 
294  virtual void
295  GetLocalNeighborhoodValueAndDerivative(const PointType &,
296  MeasureType &,
297  LocalDerivativeType &,
298  const PixelType & pixel) const = 0;
299 
304  const VirtualPointSetType *
305  GetVirtualTransformedPointSet() const;
306 
311  void
312  Initialize() override;
313 
314  bool
316  {
317  /* An arbitrary point in the virtual domain will not always
318  * correspond to a point within either point set. */
319  return false;
320  }
321 
333  itkSetMacro(StoreDerivativeAsSparseFieldForLocalSupportTransforms, bool);
334  itkGetConstMacro(StoreDerivativeAsSparseFieldForLocalSupportTransforms, bool);
335  itkBooleanMacro(StoreDerivativeAsSparseFieldForLocalSupportTransforms);
337 
341  itkSetMacro(CalculateValueAndDerivativeInTangentSpace, bool);
342  itkGetConstMacro(CalculateValueAndDerivativeInTangentSpace, bool);
343  itkBooleanMacro(CalculateValueAndDerivativeInTangentSpace);
345 
346 protected:
348  ~PointSetToPointSetMetricv4() override = default;
349  void
350  PrintSelf(std::ostream & os, Indent indent) const override;
351 
352  typename FixedPointSetType::ConstPointer m_FixedPointSet;
354 
356 
357  typename MovingPointSetType::ConstPointer m_MovingPointSet;
359 
361 
364 
370 
379 
382  virtual void
383  InitializePointSets() const;
384 
389  virtual void
390  InitializeForIteration() const;
391 
397  virtual SizeValueType
398  CalculateNumberOfValidFixedPoints() const;
399 
402  void
403  CalculateValueAndDerivative(MeasureType & value, DerivativeType & derivative, bool calculateValue) const;
404 
411  void
412  TransformFixedAndCreateVirtualPointSet() const;
413 
420  void
421  TransformMovingPointSet() const;
422 
427  void
428  InitializePointsLocators() const;
429 
434  void
435  StorePointDerivative(const VirtualPointType &, const DerivativeType &, DerivativeType &) const;
436 
437  using MetricCategoryType = typename Superclass::MetricCategoryType;
438 
441  GetMetricCategory() const override
442  {
444  }
445 
446  virtual bool
448  {
449  return true;
450  };
451 
452  virtual bool
454  {
455  return true;
456  };
457 
458 private:
459  mutable bool m_MovingTransformPointLocatorsNeedInitialization;
461 
462  // Flag to keep track of whether a warning has already been issued
463  // regarding the number of valid points.
465 
466  // Flag to store derivatives at fixed point locations with the rest being zero gradient
467  // (default = true).
469 
472 
473  // Create ranges over the point set for multithreaded computation of value and derivatives
474  using PointIdentifierPair = std::pair<PointIdentifier, PointIdentifier>;
475  using PointIdentifierRanges = std::vector<PointIdentifierPair>;
477  CreateRanges() const;
478 };
479 } // end namespace itk
480 
481 #ifndef ITK_MANUAL_INSTANTIATION
482 # include "itkPointSetToPointSetMetricv4.hxx"
483 #endif
484 
485 #endif
itk::PointsLocator::NeighborsIdentifierType
typename TreeType::InstanceIdentifierVectorType NeighborsIdentifierType
Definition: itkPointsLocator.h:82
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::MovingTransformPointer
typename MovingTransformType::Pointer MovingTransformPointer
Definition: itkObjectToObjectMetric.h:162
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::DimensionType
SizeValueType DimensionType
Definition: itkObjectToObjectMetric.h:128
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::FixedPointType
typename TPointSet ::PointType FixedPointType
Definition: itkPointSetToPointSetMetricv4.h:128
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualRadiusType
typename VirtualImageType::SizeType VirtualRadiusType
Definition: itkObjectToObjectMetric.h:146
itk::OptimizerParameters< TInternalComputationValueType >
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::CoordRepType
typename PointType::CoordRepType CoordRepType
Definition: itkPointSetToPointSetMetricv4.h:152
itk::PointSetToPointSetMetricv4::GetMetricCategory
MetricCategoryType GetMetricCategory() const override
Definition: itkPointSetToPointSetMetricv4.h:441
itk::PointSetToPointSetMetricv4::m_CalculateValueAndDerivativeInTangentSpace
bool m_CalculateValueAndDerivativeInTangentSpace
Definition: itkPointSetToPointSetMetricv4.h:378
itk::PointSet
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Definition: itkPointSet.h:82
itk::ModifiedTimeType
SizeValueType ModifiedTimeType
Definition: itkIntTypes.h:102
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PixelType
FixedPixelType PixelType
Definition: itkPointSetToPointSetMetricv4.h:151
itk::PointSetToPointSetMetricv4::m_HaveWarnedAboutNumberOfValidPoints
bool m_HaveWarnedAboutNumberOfValidPoints
Definition: itkPointSetToPointSetMetricv4.h:464
itk::ObjectToObjectMetricBaseTemplate::NumberOfParametersType
unsigned int NumberOfParametersType
Definition: itkObjectToObjectMetricBase.h:160
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::MovingPixelType
typename TPointSet ::PixelType MovingPixelType
Definition: itkPointSetToPointSetMetricv4.h:137
itk::PointSetToPointSetMetricv4::m_MovingTransformedPointSet
MovingTransformedPointSetType::Pointer m_MovingTransformedPointSet
Definition: itkPointSetToPointSetMetricv4.h:358
itk::ObjectToObjectMetricBaseTemplate::MetricCategoryType
MetricCategoryType
Definition: itkObjectToObjectMetricBase.h:219
itk::PointSetToPointSetMetricv4::SupportsArbitraryVirtualDomainSamples
bool SupportsArbitraryVirtualDomainSamples() const override
Definition: itkPointSetToPointSetMetricv4.h:315
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::DisplacementFieldTransformType
typename Superclass::MovingDisplacementFieldTransformType DisplacementFieldTransformType
Definition: itkPointSetToPointSetMetricv4.h:119
itk::GTest::TypedefsAndConstructors::Dimension2::PointType
ImageBaseType::PointType PointType
Definition: itkGTestTypedefsAndConstructors.h:51
itk::PointSetToPointSetMetricv4::m_MovingTransformedPointSetTime
ModifiedTimeType m_MovingTransformedPointSetTime
Definition: itkPointSetToPointSetMetricv4.h:470
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::FixedOutputPointType
typename FixedTransformType::OutputPointType FixedOutputPointType
Definition: itkObjectToObjectMetric.h:159
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::FixedPointsContainer
typename TPointSet ::PointsContainer FixedPointsContainer
Definition: itkPointSetToPointSetMetricv4.h:130
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::PointsLocator
Accelerate geometric searches for points.
Definition: itkPointsLocator.h:42
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointIdentifierPair
std::pair< PointIdentifier, PointIdentifier > PointIdentifierPair
Definition: itkPointSetToPointSetMetricv4.h:474
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::FixedInputPointType
typename FixedTransformType::InputPointType FixedInputPointType
Definition: itkObjectToObjectMetric.h:158
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::MovingOutputPointType
typename MovingTransformType::OutputPointType MovingOutputPointType
Definition: itkObjectToObjectMetric.h:164
itk::MetricCategoryEnum::POINT_SET_METRIC
itkPointsLocator.h
itk::ObjectToObjectMetricBaseTemplate::DerivativeValueType
typename DerivativeType::ValueType DerivativeValueType
Definition: itkObjectToObjectMetricBase.h:97
itk::PointSetToPointSetMetricv4::m_UsePointSetData
bool m_UsePointSetData
Definition: itkPointSetToPointSetMetricv4.h:369
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualDirectionType
typename VirtualImageType::DirectionType VirtualDirectionType
Definition: itkObjectToObjectMetric.h:145
itk::PointSetToPointSetMetricv4::m_MovingTransformedPointsLocator
PointsLocatorType::Pointer m_MovingTransformedPointsLocator
Definition: itkPointSetToPointSetMetricv4.h:360
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualRegionType
typename VirtualImageType::RegionType VirtualRegionType
Definition: itkObjectToObjectMetric.h:140
itk::PointSetToPointSetMetricv4::RequiresFixedPointsLocator
virtual bool RequiresFixedPointsLocator() const
Definition: itkPointSetToPointSetMetricv4.h:453
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::FixedTransformPointer
typename FixedTransformType::Pointer FixedTransformPointer
Definition: itkObjectToObjectMetric.h:157
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::MovingInputPointType
typename MovingTransformType::InputPointType MovingInputPointType
Definition: itkObjectToObjectMetric.h:163
itkObjectToObjectMetric.h
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualPointSetPointer
typename VirtualPointSetType::Pointer VirtualPointSetPointer
Definition: itkObjectToObjectMetric.h:151
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointsContainer
FixedPointsContainer PointsContainer
Definition: itkPointSetToPointSetMetricv4.h:153
itk::PointSetToPointSetMetricv4::RequiresMovingPointsLocator
virtual bool RequiresMovingPointsLocator() const
Definition: itkPointSetToPointSetMetricv4.h:447
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::JacobianType
typename FixedTransformType::JacobianType JacobianType
Definition: itkObjectToObjectMetric.h:168
itk::PointSetToPointSetMetricv4::m_FixedPointSet
FixedPointSetType::ConstPointer m_FixedPointSet
Definition: itkPointSetToPointSetMetricv4.h:352
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::FixedPointSetType
TPointSet FixedPointSetType
Definition: itkPointSetToPointSetMetricv4.h:127
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualIndexType
typename VirtualImageType::IndexType VirtualIndexType
Definition: itkObjectToObjectMetric.h:147
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::FixedTransformParametersType
typename FixedTransformType::ParametersType FixedTransformParametersType
Definition: itkObjectToObjectMetric.h:160
itkFixedArray.h
itk::CostFunctionTemplate::ParametersValueType
TInternalComputationValueType ParametersValueType
Definition: itkCostFunction.h:52
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointIdentifier
typename PointsContainer::ElementIdentifier PointIdentifier
Definition: itkPointSetToPointSetMetricv4.h:155
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::MovingTransformParametersType
typename MovingTransformType::ParametersType MovingTransformParametersType
Definition: itkObjectToObjectMetric.h:165
itk::PointSetToPointSetMetricv4::m_FixedTransformPointLocatorsNeedInitialization
bool m_FixedTransformPointLocatorsNeedInitialization
Definition: itkPointSetToPointSetMetricv4.h:460
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualOriginType
typename VirtualImageType::PointType VirtualOriginType
Definition: itkObjectToObjectMetric.h:143
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualPointType
typename VirtualImageType::PointType VirtualPointType
Definition: itkObjectToObjectMetric.h:144
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::MovingPointsContainer
typename TPointSet ::PointsContainer MovingPointsContainer
Definition: itkPointSetToPointSetMetricv4.h:138
itk::PointSetToPointSetMetricv4::m_FixedTransformedPointSet
FixedTransformedPointSetType::Pointer m_FixedTransformedPointSet
Definition: itkPointSetToPointSetMetricv4.h:353
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::MovingTransformJacobianType
typename MovingTransformType::JacobianType MovingTransformJacobianType
Definition: itkObjectToObjectMetric.h:170
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::FixedPixelType
typename TPointSet ::PixelType FixedPixelType
Definition: itkPointSetToPointSetMetricv4.h:129
itk::FixedArray
Simulate a standard C array with copy semantics.
Definition: itkFixedArray.h:52
itk::PointSetToPointSetMetricv4::m_StoreDerivativeAsSparseFieldForLocalSupportTransforms
bool m_StoreDerivativeAsSparseFieldForLocalSupportTransforms
Definition: itkPointSetToPointSetMetricv4.h:468
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointIdentifierRanges
std::vector< PointIdentifierPair > PointIdentifierRanges
Definition: itkPointSetToPointSetMetricv4.h:475
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::MovingPointType
typename TPointSet ::PointType MovingPointType
Definition: itkPointSetToPointSetMetricv4.h:136
itk::ObjectToObjectMetricBaseTemplate::MeasureType
typename Superclass::MeasureType MeasureType
Definition: itkObjectToObjectMetricBase.h:93
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointsConstIterator
typename PointsContainer::ConstIterator PointsConstIterator
Definition: itkPointSetToPointSetMetricv4.h:154
itk::PointSetToPointSetMetricv4::SetMovingObject
void SetMovingObject(const ObjectType *object) override
Definition: itkPointSetToPointSetMetricv4.h:200
itk::PointSetToPointSetMetricv4::m_FixedTransformedPointsLocator
PointsLocatorType::Pointer m_FixedTransformedPointsLocator
Definition: itkPointSetToPointSetMetricv4.h:355
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::PointType
FixedPointType PointType
Definition: itkPointSetToPointSetMetricv4.h:150
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkArray.h:26
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualSpacingType
typename VirtualImageType::SpacingType VirtualSpacingType
Definition: itkObjectToObjectMetric.h:142
itk::PointSetToPointSetMetricv4::m_FixedTransformedPointSetTime
ModifiedTimeType m_FixedTransformedPointSetTime
Definition: itkPointSetToPointSetMetricv4.h:471
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualImagePointer
typename VirtualImageType::Pointer VirtualImagePointer
Definition: itkObjectToObjectMetric.h:137
itk::PointSetToPointSetMetricv4::m_VirtualTransformedPointSet
VirtualPointSetPointer m_VirtualTransformedPointSet
Definition: itkPointSetToPointSetMetricv4.h:363
itk::Object
Base class for most ITK classes.
Definition: itkObject.h:60
itk::ObjectToObjectMetric
Computes similarity between regions of two objects.
Definition: itkObjectToObjectMetric.h:91
itk::Image
Templated n-dimensional image class.
Definition: itkImage.h:86
itk::Transform
Transform points and vectors from an input space to an output space.
Definition: itkTransform.h:81
itkPointSet.h
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::MovingPointSetType
TPointSet MovingPointSetType
Definition: itkPointSetToPointSetMetricv4.h:135
itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, TInternalComputationValueType >::NeighborsIdentifierType
typename PointsLocatorType::NeighborsIdentifierType NeighborsIdentifierType
Definition: itkPointSetToPointSetMetricv4.h:159
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualPixelType
typename VirtualImageType::PixelType VirtualPixelType
Definition: itkObjectToObjectMetric.h:139
itk::ObjectToObjectMetricBaseTemplate::DerivativeType
typename Superclass::DerivativeType DerivativeType
Definition: itkObjectToObjectMetricBase.h:96
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::VirtualSizeType
typename VirtualRegionType::SizeType VirtualSizeType
Definition: itkObjectToObjectMetric.h:141
itk::PointSetToPointSetMetricv4
Computes similarity between two point sets.
Definition: itkPointSetToPointSetMetricv4.h:70
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:83
itk::ObjectToObjectMetric< TPointSet ::PointDimension, TPointSet ::PointDimension, Image< TInternalComputationValueType, TPointSet ::PointDimension >, TInternalComputationValueType >::FixedTransformJacobianType
typename FixedTransformType::JacobianType FixedTransformJacobianType
Definition: itkObjectToObjectMetric.h:169
itk::PointSetToPointSetMetricv4::SetFixedObject
void SetFixedObject(const ObjectType *object) override
Definition: itkPointSetToPointSetMetricv4.h:184
itk::PointSetToPointSetMetricv4::m_MovingPointSet
MovingPointSetType::ConstPointer m_MovingPointSet
Definition: itkPointSetToPointSetMetricv4.h:357