18 #ifndef itkRegistrationParameterScalesEstimator_h 19 #define itkRegistrationParameterScalesEstimator_h 53 template <
typename TMetric >
121 itkSetObjectMacro(Metric, MetricType);
127 itkSetMacro(TransformForward,
bool);
128 itkGetConstMacro(TransformForward,
bool);
132 itkSetObjectMacro(VirtualDomainPointSet, VirtualPointSetType);
133 itkSetConstObjectMacro(VirtualDomainPointSet, VirtualPointSetType);
134 itkGetConstObjectMacro(VirtualDomainPointSet, VirtualPointSetType);
144 virtual FloatType
EstimateStepScale(
const ParametersType &step) ITK_OVERRIDE = 0;
147 virtual void EstimateLocalStepScales(
const ParametersType &step, ScalesType &localStepScales) ITK_OVERRIDE = 0;
160 ~RegistrationParameterScalesEstimator(){};
162 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
172 itkSetMacro(SamplingStrategy, SamplingStrategyType);
188 template<
typename TTargetPo
intType >
void TransformPoint(
const VirtualPointType &point, TTargetPointType &mappedPoint);
246 itkGetMacro( SamplingStrategy, SamplingStrategyType )
270 void operator=(const Self&) ITK_DELETE_FUNCTION;
287 #ifndef ITK_MANUAL_INSTANTIATION 288 #include "itkRegistrationParameterScalesEstimator.hxx" virtual FloatType EstimateMaximumStepSize() override
virtual void EstimateScales(ScalesType &scales) override=0
virtual void SetScalesSamplingStrategy()
MetricType::ConstPointer MetricConstPointer
std::vector< VirtualPointType > SamplePointContainerType
TInternalComputationValueType FloatType
virtual void SampleVirtualDomain()
SizeValueType GetNumberOfLocalParameters()
OptimizerParameters< TInternalComputationValueType > ScalesType
TMetric::VirtualIndexType VirtualIndexType
MetricType::MovingTransformType MovingTransformType
bool IsBSplineTransform()
static ITK_CONSTEXPR SizeValueType SizeOfSmallDomain
signed long IndexValueType
SamplePointContainerType m_SamplePoints
void SampleVirtualDomainWithPointSet()
void UpdateTransformParameters(const ParametersType &deltaParameters)
static const SizeValueType MovingDimension
bool TransformHasLocalSupportForScalesEstimation()
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
void ComputeSquaredJacobianNorms(const VirtualPointType &p, ParametersType &squareNorms)
SmartPointer< const Self > ConstPointer
OptimizerParameterScalesEstimatorTemplate< typename TMetric::ParametersValueType > Superclass
OptimizerParameters< TInternalComputationValueType > ParametersType
void TransformPointToContinuousIndex(const VirtualPointType &point, TContinuousIndexType &mappedIndex)
unsigned long SizeValueType
IndexValueType m_CentralRegionRadius
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
SamplingStrategyType m_SamplingStrategy
Superclass::FloatType FloatType
void SampleVirtualDomainFully()
void TransformPoint(const VirtualPointType &point, TTargetPointType &mappedPoint)
MetricType::FixedTransformType FixedTransformType
TMetric::VirtualRegionType VirtualRegionType
TMetric::VirtualSpacingType VirtualSpacingType
TMetric::VirtualImagePointer VirtualImagePointer
Superclass::ParametersType ParametersType
VirtualIndexType GetVirtualDomainCentralIndex()
virtual void EstimateLocalStepScales(const ParametersType &step, ScalesType &localStepScales) override=0
FixedTransformType::ConstPointer FixedTransformConstPointer
VirtualRegionType GetVirtualDomainCentralRegion()
Implements a registration helper class for estimating scales of transform parameters and step sizes...
Generate a unique, increasing time value.
SmartPointer< Self > Pointer
void SampleVirtualDomainWithCentralRegion()
bool IsDisplacementFieldTransform()
TMetric::VirtualPointSetType VirtualPointSetType
void SampleVirtualDomainWithCorners()
TMetric::VirtualImageType VirtualImageType
SizeValueType m_NumberOfRandomSamples
virtual void SetStepScaleSamplingStrategy()
void SampleVirtualDomainRandomly()
VirtualPointSetType::ConstPointer m_VirtualDomainPointSet
static const SizeValueType VirtualDimension
TMetric::VirtualPointType VirtualPointType
Control indentation during Print() invocation.
bool CheckGeneralAffineTransformTemplated()
void SampleVirtualDomainWithRegion(VirtualRegionType region)
TMetric::JacobianType JacobianType
bool CheckGeneralAffineTransform()
MetricType::Pointer MetricPointer
SizeValueType GetDimension()
TMetric::VirtualImageConstPointer VirtualImageConstPointer
virtual void PrintSelf(std::ostream &os, Indent indent) const override
static const SizeValueType FixedDimension
RegistrationParameterScalesEstimator Self
TMetric::VirtualSizeType VirtualSizeType
MovingTransformType::ConstPointer MovingTransformConstPointer
TMetric::VirtualPointSetPointer VirtualPointSetPointer
virtual FloatType EstimateStepScale(const ParametersType &step) override=0
Superclass::ScalesType ScalesType
const TransformBaseTemplate< typename TMetric::MeasureType > * GetTransform()