18 #ifndef itkRegistrationParameterScalesEstimator_h
19 #define itkRegistrationParameterScalesEstimator_h
53 template <
typename TMetric >
90 static constexpr
SizeValueType FixedDimension = TMetric::FixedDimension;
91 static constexpr
SizeValueType MovingDimension = TMetric::MovingDimension;
92 static constexpr
SizeValueType VirtualDimension = TMetric::VirtualDimension;
107 typedef enum { FullDomainSampling = 0,
111 VirtualDomainPointSetSampling } SamplingStrategyType;
128 itkSetMacro(TransformForward,
bool);
129 itkGetConstMacro(TransformForward,
bool);
142 void EstimateScales(
ScalesType &scales)
override = 0;
151 FloatType EstimateMaximumStepSize()
override;
154 virtual void SetScalesSamplingStrategy();
157 virtual void SetStepScaleSamplingStrategy();
163 void PrintSelf(std::ostream & os,
Indent indent)
const override;
166 bool CheckAndSetInputs();
179 bool CheckGeneralAffineTransform();
186 template<
typename TTransform >
bool CheckGeneralAffineTransformTemplated();
189 template<
typename TTargetPo
intType >
void TransformPoint(
const VirtualPointType &point, TTargetPointType &mappedPoint);
192 template<
typename TContinuousIndexType >
void TransformPointToContinuousIndex(
const VirtualPointType &point,TContinuousIndexType &mappedIndex);
198 bool TransformHasLocalSupportForScalesEstimation();
201 bool IsDisplacementFieldTransform();
204 bool IsBSplineTransform();
210 void UpdateTransformParameters(
const ParametersType &deltaParameters);
213 virtual void SampleVirtualDomain();
216 void SampleVirtualDomainFully();
219 void SampleVirtualDomainWithCorners();
222 void SampleVirtualDomainRandomly();
225 void SampleVirtualDomainWithCentralRegion();
231 void SampleVirtualDomainWithPointSet();
274 bool m_TransformForward;
285 #ifndef ITK_MANUAL_INSTANTIATION
286 #include "itkRegistrationParameterScalesEstimator.hxx"
Light weight base class for most itk classes.
typename Superclass::FloatType FloatType
typename MetricType::MovingTransformType MovingTransformType
unsigned long SizeValueType
typename MetricType::FixedTransformType FixedTransformType
typename TMetric::VirtualSizeType VirtualSizeType
typename FixedTransformType::ConstPointer FixedTransformConstPointer
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
typename TMetric::VirtualIndexType VirtualIndexType
typename Superclass::ParametersType ParametersType
typename TMetric::JacobianType JacobianType
typename TMetric::VirtualImageType VirtualImageType
typename TMetric::VirtualImageConstPointer VirtualImageConstPointer
typename TMetric::VirtualPointSetType VirtualPointSetType
typename TMetric::VirtualRegionType VirtualRegionType
typename MovingTransformType::ConstPointer MovingTransformConstPointer
signed long IndexValueType
std::vector< VirtualPointType > SamplePointContainerType
Implements a registration helper class for estimating scales of transform parameters and step sizes...
Generate a unique, increasing time value.
typename TMetric::VirtualPointSetPointer VirtualPointSetPointer
typename MetricType::Pointer MetricPointer
typename Superclass::ScalesType ScalesType
Control indentation during Print() invocation.
typename MetricType::ConstPointer MetricConstPointer
typename TMetric::VirtualImagePointer VirtualImagePointer
typename TMetric::VirtualSpacingType VirtualSpacingType
typename TMetric::VirtualPointType VirtualPointType