template<class TElastix>
class elastix::AdvancedMattesMutualInformationMetric< TElastix >
A metric based on the itk::ParzenWindowMutualInformationImageToImageMetric.
This metric is based on an adapted version of the itk::MattesMutualInformationImageToImageMetric.
The parameters used in this class are:
- Parameters:
Metric: Select this metric as follows:
(Metric "AdvancedMattesMutualInformation")
NumberOfHistogramBins: The size of the histogram. Must be given for each resolution, or for all resolutions at once.
example: (NumberOfHistogramBins 32 32 64)
The default is 32 for each resolution.
NumberOfFixedHistogramBins: The size of the histogram in the fixed dimension. Can be given for each resolution, or for all resolutions at once. If not given, NumberOfHistogramBins is used.
example: (NumberOfFixedHistogramBins 32 32 64)
The default is the value of NumberOfHistogramBins, or, if that one is also not given, 32.
NumberOfMovingHistogramBins: The size of the histogram in the fixed dimension. Can be given for each resolution, or for all resolutions at once. If not given, NumberOfHistogramBins is used.
example: (NumberOfMovingHistogramBins 32 32 64)
The default is the value of NumberOfHistogramBins, or, if that one is also not given, 32.
FixedKernelBSplineOrder: The B-spline order of the Parzen window, used to estimate the joint histogram. Can be given for each resolution, or for all resolutions at once.
example: (FixedKernelBSplineOrder 0 1 1)
The default value is 0.
MovingKernelBSplineOrder: The B-spline order of the Parzen window, used to estimate the joint histogram. Can be given for each resolution, or for all resolutions at once.
example: (MovingKernelBSplineOrder 3 3 3)
The default value is 3.
FixedLimitRangeRatio: The relative extension of the intensity range of the fixed image.
If your fixed image has grey values from a to b and the FixedLimitRangeRatio is 0.001, the joint histogram will expect fixed image grey values from a-0.001(b-a) to b+0.001(b-a). This may be useful if you use high order B-spline interpolator for the fixed image.
example: (FixedLimitRangeRatio 0.001 0.01 0.01)
The default value is 0.01. Can be given for each resolution, or for all resolutions at once.
MovingLimitRangeRatio: The relative extension of the intensity range of the moving image.
If your moving image has grey values from a to b and the MovingLimitRangeRatio is 0.001, the joint histogram will expect moving image grey values from a-0.001(b-a) to b+0.001(b-a). This may be useful if you use high order B-spline interpolator for the moving image.
example: (MovingLimitRangeRatio 0.001 0.01 0.01)
The default value is 0.01. Can be given for each resolution, or for all resolutions at once.
FiniteDifferenceDerivative: Experimental feature, do not use.
UseFastAndLowMemoryVersion: Switch between a version of mutual information that explicitely computes the derivatives of the joint histogram to each transformation parameter (false) and a version that computes the mutual information via another route (true). The first option allocates a large 3D matrix of size: NumberOfFixedHistogramBins * NumberOfMovingHistogramBins * number of affected B-spline parameters. This method is faster for a low number of parameters. The second method does not use this huge matrix, and is therefore much more memory efficient for large images and fine B-spline grids. example: (UseFastAndLowMemoryVersion "false")
The default is "true".
- See also
- ParzenWindowMutualInformationImageToImageMetric
Definition at line 100 of file elxAdvancedMattesMutualInformationMetric.h.
|
| using | ConstPointer = itk::SmartPointer< const Self > |
| |
| using | ITKBaseType = typename Superclass2::ITKBaseType |
| |
| using | Pointer = itk::SmartPointer< Self > |
| |
| using | Self = AdvancedMattesMutualInformationMetric |
| |
| using | Superclass1 = itk::ParzenWindowMutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > |
| |
| using | Superclass2 = MetricBase< TElastix > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
| |
| using | FixedImageLimiterType = LimiterFunctionBase< RealType, FixedImageDimension > |
| |
| using | FixedImageMaskPointer = SmartPointer< FixedImageMaskType > |
| |
| using | FixedImageMaskType = ImageMaskSpatialObject< Self::FixedImageDimension > |
| |
| using | FixedImagePixelType = typename FixedImageType::PixelType |
| |
| using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
| |
| using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
| |
| using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
| |
| using | ImageSamplerType = ImageSamplerBase< FixedImageType > |
| |
| using | MovingImageDerivativeScalesType = FixedArray< double, Self::MovingImageDimension > |
| |
| using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
| |
| using | MovingImageLimiterType = LimiterFunctionBase< RealType, MovingImageDimension > |
| |
| using | MovingImageMaskPointer = SmartPointer< MovingImageMaskType > |
| |
| using | MovingImageMaskType = ImageMaskSpatialObject< Self::MovingImageDimension > |
| |
| using | MovingImageRegionType = typename MovingImageType::RegionType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ParzenWindowMutualInformationImageToImageMetric |
| |
| using | Superclass = ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType > |
| |
| using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
| |
| using | FixedImageLimiterType = LimiterFunctionBase< RealType, FixedImageDimension > |
| |
| using | FixedImageMaskPointer = SmartPointer< FixedImageMaskType > |
| |
| using | FixedImageMaskType = ImageMaskSpatialObject< Self::FixedImageDimension > |
| |
| using | FixedImagePixelType = typename FixedImageType::PixelType |
| |
| using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
| |
| using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
| |
| using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
| |
| using | ImageSamplerType = ImageSamplerBase< FixedImageType > |
| |
| using | MovingImageDerivativeScalesType = FixedArray< double, Self::MovingImageDimension > |
| |
| using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
| |
| using | MovingImageLimiterType = LimiterFunctionBase< RealType, MovingImageDimension > |
| |
| using | MovingImageMaskPointer = SmartPointer< MovingImageMaskType > |
| |
| using | MovingImageMaskType = ImageMaskSpatialObject< Self::MovingImageDimension > |
| |
| using | MovingImageRegionType = typename MovingImageType::RegionType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ParzenWindowHistogramImageToImageMetric |
| |
| using | Superclass = AdvancedImageToImageMetric< TFixedImage, TMovingImage > |
| |
| using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
| |
| using | AdvancedTransformType = AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > |
| |
| using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
| |
| using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > |
| |
| using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
| |
| using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > |
| |
| using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
| |
| using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > |
| |
| using | CombinationTransformType = AdvancedCombinationTransform< ScalarType, FixedImageDimension > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
| |
| using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
| |
| using | FixedImageLimiterType = LimiterFunctionBase< RealType, FixedImageDimension > |
| |
| using | FixedImageMaskConstPointer = SmartPointer< const FixedImageMaskType > |
| |
| using | FixedImageMaskPointer = SmartPointer< FixedImageMaskType > |
| |
| using | FixedImageMaskType = ImageMaskSpatialObject< Self::FixedImageDimension > |
| |
| using | FixedImagePixelType = typename FixedImageType::PixelType |
| |
| using | FixedImagePointer = typename FixedImageType::Pointer |
| |
| using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
| |
| using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
| |
| using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
| |
| using | ImageSamplerType = ImageSamplerBase< FixedImageType > |
| |
| using | MovingImageDerivativeScalesType = FixedArray< double, Self::MovingImageDimension > |
| |
| using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
| |
| using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
| |
| using | MovingImageLimiterType = LimiterFunctionBase< RealType, MovingImageDimension > |
| |
| using | MovingImageMaskConstPointer = SmartPointer< const MovingImageMaskType > |
| |
| using | MovingImageMaskPointer = SmartPointer< MovingImageMaskType > |
| |
| using | MovingImageMaskType = ImageMaskSpatialObject< Self::MovingImageDimension > |
| |
| using | MovingImagePointer = typename MovingImageType::Pointer |
| |
| using | MovingImageRegionType = typename MovingImageType::RegionType |
| |
| using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | ScalarType = typename TransformType::ScalarType |
| |
| using | Self = AdvancedImageToImageMetric |
| |
| using | Superclass = ImageToImageMetric< TFixedImage, TMovingImage > |
| |
| using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
| |
| using | AdvancedMetricType = itk::AdvancedImageToImageMetric< FixedImageType, MovingImageType > |
| |
| using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
| |
| using | ElastixType = TElastix |
| |
| using | FixedImageType = typename ElastixType::FixedImageType |
| |
| using | FixedPointSetType = itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
| |
| using | FixedPointType = typename FixedImageType::PointType |
| |
| using | FixedPointValueType = typename FixedPointType::ValueType |
| |
| using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
| |
| using | ITKBaseType = itk::SingleValuedCostFunction |
| |
| using | MeasureType = typename ITKBaseType::MeasureType |
| |
| using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
| |
| using | MovingImageType = typename ElastixType::MovingImageType |
| |
| using | MovingPointSetType = itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
| |
| using | MovingPointType = typename MovingImageType::PointType |
| |
| using | MovingPointValueType = typename MovingPointType::ValueType |
| |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| |
| using | Self = MetricBase |
| |
| using | Superclass = BaseComponentSE< TElastix > |
| |
| using | ElastixType = TElastix |
| |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| |
| using | Self = BaseComponentSE |
| |
| using | Superclass = BaseComponent |
| |
|
| void | AfterEachIteration () override |
| |
| void | BeforeEachResolution () override |
| |
| | elxClassNameMacro ("AdvancedMattesMutualInformation") |
| |
| virtual const char * | GetClassName () const |
| |
| virtual unsigned int | GetCurrentIteration () const |
| |
| virtual double | GetParam_c () const |
| |
| virtual double | GetParam_gamma () const |
| |
| void | Initialize () override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (AdvancedMattesMutualInformationMetric) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| virtual void | SetCurrentIteration (unsigned int _arg) |
| |
| virtual void | SetParam_c (double _arg) |
| |
| virtual void | SetParam_gamma (double _arg) |
| |
| virtual bool | GetUseJacobianPreconditioning () const |
| |
| MeasureType | GetValue (const ParametersType ¶meters) const override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (ParzenWindowMutualInformationImageToImageMetric) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| virtual void | SetUseJacobianPreconditioning (bool _arg) |
| |
| void | GetDerivative (const ParametersType ¶meters, DerivativeType &Derivative) const override |
| |
| virtual double | GetFiniteDifferencePerturbation () const |
| |
| virtual unsigned int | GetFixedKernelBSplineOrder () const |
| |
| virtual unsigned int | GetMovingKernelBSplineOrder () const |
| |
| virtual unsigned long | GetNumberOfFixedHistogramBins () const |
| |
| virtual unsigned long | GetNumberOfMovingHistogramBins () const |
| |
| virtual bool | GetUseDerivative () const |
| |
| virtual const bool & | GetUseExplicitPDFDerivatives () |
| |
| virtual bool | GetUseFiniteDifferenceDerivative () const |
| |
| void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
| |
| void | Initialize () override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (ParzenWindowHistogramImageToImageMetric) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| virtual void | SetFiniteDifferencePerturbation (double _arg) |
| |
| virtual void | SetFixedKernelBSplineOrder (unsigned int _arg) |
| |
| virtual void | SetMovingKernelBSplineOrder (unsigned int _arg) |
| |
| virtual void | SetNumberOfFixedHistogramBins (unsigned long _arg) |
| |
| virtual void | SetNumberOfMovingHistogramBins (unsigned long _arg) |
| |
| virtual void | SetUseDerivative (bool _arg) |
| |
| virtual void | SetUseExplicitPDFDerivatives (bool _arg) |
| |
| virtual void | SetUseFiniteDifferenceDerivative (bool _arg) |
| |
| virtual void | UseExplicitPDFDerivativesOff () |
| |
| virtual void | UseExplicitPDFDerivativesOn () |
| |
| virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
| |
| virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
| |
| const FixedImageMaskType * | GetFixedImageMask () const override |
| |
| virtual double | GetFixedLimitRangeRatio () const |
| |
| ImageSamplerType * | GetImageSampler () const |
| |
| virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
| |
| virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
| |
| const MovingImageMaskType * | GetMovingImageMask () const override |
| |
| virtual double | GetMovingLimitRangeRatio () const |
| |
| virtual double | GetRequiredRatioOfValidSamples () const |
| |
| virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
| |
| const AdvancedTransformType * | GetTransform () const override |
| |
| AdvancedTransformType * | GetTransform () override |
| |
| virtual bool | GetUseFixedImageLimiter () const |
| |
| virtual bool | GetUseImageSampler () const |
| |
| virtual const bool & | GetUseMetricSingleThreaded () |
| |
| virtual bool | GetUseMovingImageDerivativeScales () const |
| |
| virtual bool | GetUseMovingImageLimiter () const |
| |
| virtual const bool & | GetUseMultiThread () |
| |
| void | Initialize () override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
| |
| virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
| |
| virtual void | SetFixedImageMask (const FixedImageMaskType *const arg) |
| |
| virtual void | SetFixedLimitRangeRatio (double _arg) |
| |
| virtual void | SetImageSampler (ImageSamplerType *_arg) |
| |
| virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
| |
| virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
| |
| virtual void | SetMovingImageMask (const MovingImageMaskType *const arg) |
| |
| virtual void | SetMovingLimitRangeRatio (double _arg) |
| |
| virtual void | SetRequiredRatioOfValidSamples (double _arg) |
| |
| virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg) |
| |
| virtual void | SetTransform (AdvancedTransformType *arg) |
| |
| virtual void | SetUseMetricSingleThreaded (bool _arg) |
| |
| virtual void | SetUseMovingImageDerivativeScales (bool _arg) |
| |
| virtual void | SetUseMultiThread (bool _arg) |
| |
| virtual void | UseMetricSingleThreadedOff () |
| |
| virtual void | UseMetricSingleThreadedOn () |
| |
| virtual void | UseMultiThreadOff () |
| |
| virtual void | UseMultiThreadOn () |
| |
| void | AfterEachIterationBase () override |
| |
| void | BeforeEachResolutionBase () override |
| |
| virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
| |
| virtual bool | GetAdvancedMetricUseImageSampler () const |
| |
| ITKBaseType * | GetAsITKBaseType () |
| |
| const ITKBaseType * | GetAsITKBaseType () const |
| |
| virtual MeasureType | GetCurrentExactMetricValue () const |
| |
| virtual bool | GetShowExactMetricValue () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (MetricBase) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| virtual void | SelectNewSamples () |
| |
| virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
| |
| void | AddTargetCellToIterationInfo (const char *const name) |
| |
| const Configuration * | GetConfiguration () const |
| |
| ElastixType * | GetElastix () const |
| |
| auto & | GetIterationInfoAt (const char *const name) |
| |
| RegistrationType * | GetRegistration () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
| |
| void | RemoveTargetCellFromIterationInfo (const char *const name) |
| |
| void | SetConfiguration (const Configuration *_arg) |
| |
| void | SetElastix (ElastixType *_arg) |
| |
| virtual void | AfterEachResolution () |
| |
| virtual void | AfterEachResolutionBase () |
| |
| virtual void | AfterRegistration () |
| |
| virtual void | AfterRegistrationBase () |
| |
| virtual int | BeforeAll () |
| |
| virtual int | BeforeAllBase () |
| |
| virtual void | BeforeRegistration () |
| |
| virtual void | BeforeRegistrationBase () |
| |
| virtual const char * | elxGetClassName () const |
| |
| const char * | GetComponentLabel () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) |
| |
| | itkTypeMacroNoParent (BaseComponent) |
| |
| void | SetComponentLabel (const char *label, unsigned int idx) |
| |
|
| | AdvancedMattesMutualInformationMetric () |
| |
| double | Compute_c (unsigned long k) const |
| |
| | ~AdvancedMattesMutualInformationMetric () override=default |
| |
| void | AfterThreadedComputeDerivativeLowMemory (DerivativeType &derivative) const |
| |
| virtual void | ComputeJacobianPreconditioner (const TransformJacobianType &jac, const NonZeroJacobianIndicesType &nzji, DerivativeType &preconditioner, DerivativeType &divisor) const |
| |
| void | GetValueAndAnalyticDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
| |
| virtual void | GetValueAndAnalyticDerivativeLowMemory (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
| |
| void | GetValueAndFiniteDifferenceDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
| |
| void | InitializeHistograms () override |
| |
| void | LaunchComputeDerivativeLowMemoryThreaderCallback () const |
| |
| | ParzenWindowMutualInformationImageToImageMetric () |
| |
| void | ThreadedComputeDerivativeLowMemory (ThreadIdType threadId) |
| |
| | ~ParzenWindowMutualInformationImageToImageMetric () override=default |
| |
| void | AfterThreadedComputePDFs () const |
| |
| virtual void | ComputeIncrementalMarginalPDFs (const JointPDFDerivativesType *incrementalPDF, IncrementalMarginalPDFType *fixedIncrementalMarginalPDF, IncrementalMarginalPDFType *movingIncrementalMarginalPDF) const |
| |
| void | ComputeMarginalPDF (const JointPDFType *jointPDF, MarginalPDFType &marginalPDF, const unsigned int direction) const |
| |
| virtual void | ComputePDFs (const ParametersType ¶meters) const |
| |
| virtual void | ComputePDFsAndIncrementalPDFs (const ParametersType ¶meters) const |
| |
| virtual void | ComputePDFsAndPDFDerivatives (const ParametersType ¶meters) const |
| |
| virtual void | ComputePDFsSingleThreaded (const ParametersType ¶meters) const |
| |
| virtual void | InitializeKernels () |
| |
| void | InitializeThreadingParameters () const override |
| |
| void | LaunchComputePDFsThreaderCallback () const |
| |
| void | NormalizeJointPDF (JointPDFType *pdf, const double factor) const |
| |
| void | NormalizeJointPDFDerivatives (JointPDFDerivativesType *pdf, const double factor) const |
| |
| | ParzenWindowHistogramImageToImageMetric () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| void | ThreadedComputePDFs (ThreadIdType threadId) |
| |
| virtual void | UpdateJointPDFAndDerivatives (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType *imageJacobian, const NonZeroJacobianIndicesType *nzji, JointPDFType *jointPDF) const |
| |
| virtual void | UpdateJointPDFAndIncrementalPDFs (RealType fixedImageValue, RealType movingImageValue, RealType movingMaskValue, const DerivativeType &movingImageValuesRight, const DerivativeType &movingImageValuesLeft, const DerivativeType &movingMaskValuesRight, const DerivativeType &movingMaskValuesLeft, const NonZeroJacobianIndicesType &nzji) const |
| |
| void | UpdateJointPDFDerivatives (const JointPDFIndexType &pdfIndex, double factor, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji) const |
| |
| | ~ParzenWindowHistogramImageToImageMetric () override=default |
| |
| | AdvancedImageToImageMetric () |
| |
| virtual void | AfterThreadedGetValue (MeasureType &) const |
| |
| virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const |
| |
| void | CheckForAdvancedTransform () |
| |
| void | CheckForBSplineInterpolator () |
| |
| void | CheckForBSplineTransform () const |
| |
| void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
| |
| virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
| |
| bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
| |
| virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
| |
| bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
| |
| virtual void | InitializeImageSampler () |
| |
| void | InitializeLimiters () |
| |
| virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
| |
| | itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
| |
| | itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
| |
| void | LaunchGetValueAndDerivativeThreaderCallback () const |
| |
| void | LaunchGetValueThreaderCallback () const |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
| |
| void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
| |
| void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
| |
| void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
| |
| virtual void | SetUseFixedImageLimiter (bool _arg) |
| |
| virtual void | SetUseImageSampler (bool _arg) |
| |
| virtual void | SetUseMovingImageLimiter (bool _arg) |
| |
| virtual void | ThreadedGetValue (ThreadIdType) const |
| |
| virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const |
| |
| MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
| |
| | ~AdvancedImageToImageMetric () override=default |
| |
| virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
| |
| | MetricBase ()=default |
| |
| | ~MetricBase () override=default |
| |
| | BaseComponentSE ()=default |
| |
| | ~BaseComponentSE () override=default |
| |
| | BaseComponent ()=default |
| |
| virtual | ~BaseComponent ()=default |
| |
|
| using | BSplineInterpolatorType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
| |
| using | FixedImageIndexType = typename FixedImageType::IndexType |
| |
| using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
| |
| using | FixedImagePointType = typename TransformType::InputPointType |
| |
| using | IncrementalMarginalPDFType = Image< PDFValueType, 2 > |
| |
| using | JointPDFDerivativesIndexType = JointPDFDerivativesType::IndexType |
| |
| using | JointPDFDerivativesRegionType = JointPDFDerivativesType::RegionType |
| |
| using | JointPDFDerivativesSizeType = JointPDFDerivativesType::SizeType |
| |
| using | JointPDFDerivativesType = Image< PDFDerivativeValueType, 3 > |
| |
| using | JointPDFIndexType = JointPDFType::IndexType |
| |
| using | JointPDFRegionType = JointPDFType::RegionType |
| |
| using | JointPDFSizeType = JointPDFType::SizeType |
| |
| using | JointPDFType = Image< PDFValueType, 2 > |
| |
| using | KernelFunctionType = KernelFunctionBase2< PDFValueType > |
| |
| using | MarginalPDFType = Array< PDFValueType > |
| |
| using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType |
| |
| using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType |
| |
| using | MovingImageIndexType = typename MovingImageType::IndexType |
| |
| using | MovingImagePointType = typename TransformType::OutputPointType |
| |
| using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType |
| |
| using | ParzenValueContainerType = Array< PDFValueType > |
| |
| using | PDFDerivativeValueType = float |
| |
| using | PDFValueType = double |
| |
| using | BSplineInterpolatorType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
| |
| using | FixedImageIndexType = typename FixedImageType::IndexType |
| |
| using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
| |
| using | FixedImagePointType = typename TransformType::InputPointType |
| |
| using | IncrementalMarginalPDFIndexType = IncrementalMarginalPDFType::IndexType |
| |
| using | IncrementalMarginalPDFPointer = typename IncrementalMarginalPDFType::Pointer |
| |
| using | IncrementalMarginalPDFRegionType = IncrementalMarginalPDFType::RegionType |
| |
| using | IncrementalMarginalPDFSizeType = IncrementalMarginalPDFType::SizeType |
| |
| using | IncrementalMarginalPDFType = Image< PDFValueType, 2 > |
| |
| using | JointPDFDerivativesIndexType = JointPDFDerivativesType::IndexType |
| |
| using | JointPDFDerivativesPointer = typename JointPDFDerivativesType::Pointer |
| |
| using | JointPDFDerivativesRegionType = JointPDFDerivativesType::RegionType |
| |
| using | JointPDFDerivativesSizeType = JointPDFDerivativesType::SizeType |
| |
| using | JointPDFDerivativesType = Image< PDFDerivativeValueType, 3 > |
| |
| using | JointPDFIndexType = JointPDFType::IndexType |
| |
| using | JointPDFPointer = typename JointPDFType::Pointer |
| |
| using | JointPDFRegionType = JointPDFType::RegionType |
| |
| using | JointPDFSizeType = JointPDFType::SizeType |
| |
| using | JointPDFType = Image< PDFValueType, 2 > |
| |
| using | KernelFunctionPointer = typename KernelFunctionType::Pointer |
| |
| using | KernelFunctionType = KernelFunctionBase2< PDFValueType > |
| |
| using | MarginalPDFType = Array< PDFValueType > |
| |
| using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType |
| |
| using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType |
| |
| using | MovingImageIndexType = typename MovingImageType::IndexType |
| |
| using | MovingImagePointType = typename TransformType::OutputPointType |
| |
| using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType |
| |
| using | OffsetValueType = typename FixedImageType::OffsetValueType |
| |
| using | ParzenValueContainerType = Array< PDFValueType > |
| |
| using | PDFDerivativeValueType = float |
| |
| using | PDFValueType = double |
| |
| using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer |
| |
| using | BSplineInterpolatorFloatType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, float > |
| |
| using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer |
| |
| using | BSplineInterpolatorType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
| |
| using | FixedImageIndexType = typename FixedImageType::IndexType |
| |
| using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
| |
| using | FixedImagePointType = typename TransformType::InputPointType |
| |
| using | LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer |
| |
| using | LinearInterpolatorType = AdvancedLinearInterpolateImageFunction< MovingImageType, CoordinateRepresentationType > |
| |
| using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType |
| |
| using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType |
| |
| using | MovingImageIndexType = typename MovingImageType::IndexType |
| |
| using | MovingImagePointType = typename TransformType::OutputPointType |
| |
| using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType |
| |
| using | ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer |
| |
| using | ReducedBSplineInterpolatorType = ReducedDimensionBSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
| |
| using | ExactMetricImageSamplerPointer = typename ExactMetricImageSamplerType::Pointer |
| |
| using | ExactMetricImageSamplerType = itk::ImageGridSampler< FixedImageType > |
| |
| using | ExactMetricSampleGridSpacingType = typename ExactMetricImageSamplerType::SampleGridSpacingType |
| |
| using | ParametersType = typename ITKBaseType::ParametersType |
| |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputeDerivativeLowMemoryThreaderCallback (void *arg) |
| |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputePDFsThreaderCallback (void *arg) |
| |
| static void | EvaluateParzenValues (double parzenWindowTerm, OffsetValueType parzenWindowIndex, const KernelFunctionType &kernel, PDFValueType *parzenValues) |
| |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg) |
| |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg) |
| |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg) |
| |