18#ifndef itkComputeJacobianTerms_h
19#define itkComputeJacobianTerms_h
36template <
class TFixedImage,
class TTransform>
86 itkSetMacro(UseScales,
bool);
87 itkSetMacro(MaxBandCovSize,
unsigned int);
88 itkSetMacro(NumberOfBandStructureSamples,
unsigned int);
89 itkSetMacro(NumberOfJacobianMeasurements, SizeValueType);
95 if (region != this->m_FixedImageRegion)
97 this->m_FixedImageRegion = region;
107 Compute(
double & TrC,
double & TrCC,
double & maxJJ,
double & maxJCJ);
113 typename FixedImageType::ConstPointer m_FixedImage{
nullptr };
118 bool m_UseScales{
false };
120 unsigned int m_MaxBandCovSize{ 0 };
121 unsigned int m_NumberOfBandStructureSamples{ 0 };
122 SizeValueType m_NumberOfJacobianMeasurements{ 0 };
154#ifndef ITK_MANUAL_INSTANTIATION
155# include "itkComputeJacobianTerms.hxx"
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename ImageGridSamplerType ::ImageSampleContainerType ImageSampleContainerType
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
ITK_DISALLOW_COPY_AND_MOVE(ComputeJacobianTerms)
typename ScaledSingleValuedNonLinearOptimizerType::ScalesType ScalesType
typename TransformType::ScalarType CoordinateRepresentationType
virtual void SampleFixedImageForJacobianTerms(ImageSampleContainerPointer &sampleContainer)
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
~ComputeJacobianTerms() override=default
typename FixedImageType::PointType FixedImagePointType
typename FixedImageType::IndexType FixedImageIndexType
typename FixedImageMaskType::Pointer FixedImageMaskPointer
void SetFixedImageRegion(const FixedImageRegionType ®ion)
typename TransformType::Pointer TransformPointer
typename JacobianType::ValueType JacobianValueType
itkStaticConstMacro(FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
ComputeJacobianTerms()=default
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
virtual void Compute(double &TrC, double &TrCC, double &maxJJ, double &maxJCJ)
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
typename TransformType::NumberOfParametersType NumberOfParametersType
typename TransformType::JacobianType JacobianType
TFixedImage FixedImageType
typename FixedImageType::RegionType FixedImageRegionType
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
JacobianType TransformJacobianType
SmartPointer< const Self > ConstPointer
typename ScaledSingleValuedNonLinearOptimizerType ::ScaledCostFunctionPointer ScaledCostFunctionPointer
Samples image voxels on a regular grid.
This class is a base class for any image sampler that randomly picks samples.
This class is a base class for any image sampler.
NonLinearOptimizer::ScalesType ScalesType