18 #ifndef itkRegistrationParameterScalesEstimator_h
19 #define itkRegistrationParameterScalesEstimator_h
30 #include "ITKOptimizersv4Export.h"
56 extern ITKOptimizersv4_EXPORT std::ostream &
79 template <
typename TMetric>
118 static constexpr
SizeValueType VirtualDimension = TMetric::VirtualDimension;
134 #if !defined(ITK_LEGACY_REMOVE)
137 static constexpr
SamplingStrategyType FullDomainSampling = SamplingStrategyType::FullDomainSampling;
140 static constexpr
SamplingStrategyType CentralRegionSampling = SamplingStrategyType::CentralRegionSampling;
142 SamplingStrategyType::VirtualDomainPointSetSampling;
160 itkSetMacro(TransformForward,
bool);
161 itkGetConstMacro(TransformForward,
bool);
175 EstimateScales(
ScalesType & scales)
override = 0;
187 EstimateMaximumStepSize()
override;
191 SetScalesSamplingStrategy();
195 SetStepScaleSamplingStrategy();
202 PrintSelf(std::ostream & os,
Indent indent)
const override;
220 CheckGeneralAffineTransform();
227 template <
typename TTransform>
229 CheckGeneralAffineTransformTemplated();
232 template <
typename TTargetPo
intType>
234 TransformPoint(
const VirtualPointType & point, TTargetPointType & mappedPoint);
237 template <
typename TContinuousIndexType>
239 TransformPointToContinuousIndex(
const VirtualPointType & point, TContinuousIndexType & mappedIndex);
247 TransformHasLocalSupportForScalesEstimation();
251 IsDisplacementFieldTransform();
255 IsBSplineTransform();
259 GetNumberOfLocalParameters();
263 UpdateTransformParameters(
const ParametersType & deltaParameters);
267 SampleVirtualDomain();
271 SampleVirtualDomainFully();
275 SampleVirtualDomainWithCorners();
279 SampleVirtualDomainRandomly();
283 SampleVirtualDomainWithCentralRegion();
291 SampleVirtualDomainWithPointSet();
295 GetVirtualDomainCentralIndex();
299 GetVirtualDomainCentralRegion();
347 #ifndef ITK_MANUAL_INSTANTIATION
348 # include "itkRegistrationParameterScalesEstimator.hxx"