template<class TFixedImage, class TMovingImage>
class itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >
Computes similarity between two objects to be registered.
This class is templated over the type of the fixed and moving images to be compared. The metric here is designed for matching pixels in two images with the same exact value. Only one value can be considered (the default is 255) and can be specified with the SetForegroundValue method. In the computation of the metric, only foreground pixels are considered. The metric value is given by 2*|A&B|/(|A|+|B|), where A is the foreground region in the moving image, B is the foreground region in the fixed image, & is intersection, and |.| indicates the area of the enclosed set. The metric is described in "Morphometric Analysis of White Matter Lesions in MR
Images: Method and Validation", A. P. Zijdenbos, B. M. Dawant, R. A. Margolin, A. C. Palmer.
This metric is especially useful when considering the similarity between binary images. Given the nature of binary images, a nearest neighbor interpolator is the preferred interpolator.
Metric values range from 0.0 (no foreground alignment) to 1.0 (perfect foreground alignment). When dealing with optimizers that can only minimize a metric, use the ComplementOn() method.
Definition at line 56 of file itkAdvancedKappaStatisticImageToImageMetric.h.
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::CoordinateRepresentationType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef Superclass::DerivativeValueType | DerivativeValueType |
|
typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
|
typedef Superclass::FixedImageLimiterOutputType | FixedImageLimiterOutputType |
|
typedef Superclass::FixedImageLimiterType | FixedImageLimiterType |
|
typedef Superclass::FixedImageMaskPointer | FixedImageMaskPointer |
|
typedef Superclass::FixedImageMaskType | FixedImageMaskType |
|
typedef Superclass::FixedImagePixelType | FixedImagePixelType |
|
typedef Superclass::FixedImageRegionType | FixedImageRegionType |
|
typedef Superclass::FixedImageType | FixedImageType |
|
typedef Superclass::GradientImageFilterPointer | GradientImageFilterPointer |
|
typedef Superclass::GradientImageFilterType | GradientImageFilterType |
|
typedef Superclass::GradientImagePointer | GradientImagePointer |
|
typedef Superclass::GradientImageType | GradientImageType |
|
typedef Superclass::GradientPixelType | GradientPixelType |
|
typedef Superclass::ImageSampleContainerPointer | ImageSampleContainerPointer |
|
typedef Superclass::ImageSampleContainerType | ImageSampleContainerType |
|
typedef Superclass::ImageSamplerPointer | ImageSamplerPointer |
|
typedef Superclass::ImageSamplerType | ImageSamplerType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InterpolatorPointer | InterpolatorPointer |
|
typedef Superclass::InterpolatorType | InterpolatorType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
|
typedef Superclass::MovingImageDerivativeScalesType | MovingImageDerivativeScalesType |
|
typedef Superclass::MovingImageLimiterOutputType | MovingImageLimiterOutputType |
|
typedef Superclass::MovingImageLimiterType | MovingImageLimiterType |
|
typedef Superclass::MovingImageMaskPointer | MovingImageMaskPointer |
|
typedef Superclass::MovingImageMaskType | MovingImageMaskType |
|
typedef Superclass::MovingImagePixelType | MovingImagePixelType |
|
typedef Superclass::MovingImageRegionType | MovingImageRegionType |
|
typedef Superclass::MovingImageType | MovingImageType |
|
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Superclass::RealType | RealType |
|
typedef AdvancedKappaStatisticImageToImageMetric | Self |
|
typedef AdvancedImageToImageMetric< TFixedImage, TMovingImage > | Superclass |
|
typedef Superclass::ThreaderType | ThreaderType |
|
typedef Superclass::ThreadInfoType | ThreadInfoType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef Superclass::TransformParametersType | TransformParametersType |
|
typedef Superclass::TransformPointer | TransformPointer |
|
typedef Superclass::TransformType | TransformType |
|
typedef AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > | AdvancedTransformType |
|
typedef BSplineOrder1TransformType::Pointer | BSplineOrder1TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > | BSplineOrder1TransformType |
|
typedef BSplineOrder2TransformType::Pointer | BSplineOrder2TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > | BSplineOrder2TransformType |
|
typedef BSplineOrder3TransformType::Pointer | BSplineOrder3TransformPointer |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > | BSplineOrder3TransformType |
|
typedef AdvancedCombinationTransform< ScalarType, FixedImageDimension > | CombinationTransformType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::CoordinateRepresentationType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef DerivativeType::ValueType | DerivativeValueType |
|
typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
|
typedef FixedImageLimiterType::OutputType | FixedImageLimiterOutputType |
|
typedef FixedImageLimiterType::Pointer | FixedImageLimiterPointer |
|
typedef LimiterFunctionBase< RealType, FixedImageDimension > | FixedImageLimiterType |
|
typedef Superclass::FixedImageMaskPointer | FixedImageMaskPointer |
|
typedef ImageMaskSpatialObject< itkGetStaticConstMacro(FixedImageDimension) > | FixedImageMaskSpatialObject2Type |
|
typedef Superclass::FixedImageMaskType | FixedImageMaskType |
|
typedef FixedImageType::PixelType | FixedImagePixelType |
|
typedef FixedImageType::Pointer | FixedImagePointer |
|
typedef Superclass::FixedImageRegionType | FixedImageRegionType |
|
typedef Superclass::FixedImageType | FixedImageType |
|
typedef Superclass::GradientImageFilterPointer | GradientImageFilterPointer |
|
typedef Superclass::GradientImageFilterType | GradientImageFilterType |
|
typedef Superclass::GradientImagePointer | GradientImagePointer |
|
typedef Superclass::GradientImageType | GradientImageType |
|
typedef Superclass::GradientPixelType | GradientPixelType |
|
typedef vnl_sparse_matrix< HessianValueType > | HessianType |
|
typedef DerivativeType::ValueType | HessianValueType |
|
typedef ImageSamplerType::OutputVectorContainerPointer | ImageSampleContainerPointer |
|
typedef ImageSamplerType::OutputVectorContainerType | ImageSampleContainerType |
|
typedef ImageSamplerType::Pointer | ImageSamplerPointer |
|
typedef ImageSamplerBase< FixedImageType > | ImageSamplerType |
|
typedef Superclass::InputPointType | InputPointType |
|
typedef Superclass::InterpolatorPointer | InterpolatorPointer |
|
typedef Superclass::InterpolatorType | InterpolatorType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
|
typedef FixedArray< double, Self::MovingImageDimension > | MovingImageDerivativeScalesType |
|
typedef MovingImageLimiterType::OutputType | MovingImageLimiterOutputType |
|
typedef MovingImageLimiterType::Pointer | MovingImageLimiterPointer |
|
typedef LimiterFunctionBase< RealType, MovingImageDimension > | MovingImageLimiterType |
|
typedef Superclass::MovingImageMaskPointer | MovingImageMaskPointer |
|
typedef ImageMaskSpatialObject< itkGetStaticConstMacro(MovingImageDimension) > | MovingImageMaskSpatialObject2Type |
|
typedef Superclass::MovingImageMaskType | MovingImageMaskType |
|
typedef Superclass::MovingImagePixelType | MovingImagePixelType |
|
typedef MovingImageType::Pointer | MovingImagePointer |
|
typedef MovingImageType::RegionType | MovingImageRegionType |
|
typedef Superclass::MovingImageType | MovingImageType |
|
typedef AdvancedTransformType::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass::OutputPointType | OutputPointType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Superclass::RealType | RealType |
|
typedef TransformType::ScalarType | ScalarType |
|
typedef AdvancedImageToImageMetric | Self |
|
typedef ImageToImageMetric< TFixedImage, TMovingImage > | Superclass |
|
typedef itk::PlatformMultiThreader | ThreaderType |
|
typedef ThreaderType::WorkUnitInfo | ThreadInfoType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef Superclass::TransformParametersType | TransformParametersType |
|
typedef Superclass::TransformPointer | TransformPointer |
|
typedef Superclass::TransformType | TransformType |
|
|
virtual void | ComplementOff () |
|
virtual void | ComplementOn () |
|
void | ComputeGradient (void) override |
|
virtual const char * | GetClassName () const |
|
virtual const bool & | GetComplement () |
|
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual const RealType & | GetEpsilon () |
|
virtual const RealType & | GetForegroundValue () |
|
MeasureType | GetValue (const TransformParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override |
|
virtual void | GetValueAndDerivativeSingleThreaded (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SetComplement (bool _arg) |
|
virtual void | SetEpsilon (RealType _arg) |
|
virtual void | SetForegroundValue (RealType _arg) |
|
virtual void | SetUseForegroundValue (bool _arg) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
|
virtual const char * | GetClassName () const |
|
virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
|
virtual double | GetFixedLimitRangeRatio () const |
|
virtual ImageSamplerType * | GetImageSampler (void) const |
|
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
|
virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
|
virtual double | GetMovingLimitRangeRatio () const |
|
virtual double | GetRequiredRatioOfValidSamples () const |
|
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
|
virtual void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) const |
|
const AdvancedTransformType * | GetTransform (void) const 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 (void) override |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
|
virtual void | SetFixedLimitRangeRatio (double _arg) |
|
virtual void | SetImageSampler (ImageSamplerType *_arg) |
|
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
|
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
|
virtual void | SetMovingLimitRangeRatio (double _arg) |
|
virtual void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
|
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 () |
|
|
| AdvancedKappaStatisticImageToImageMetric () |
|
void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override |
|
void | InitializeThreadingParameters (void) const override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | ThreadedGetValueAndDerivative (ThreadIdType threadID) override |
|
void | UpdateValueAndDerivativeTerms (const RealType &fixedImageValue, const RealType &movingImageValue, std::vcl_size_t &fixedForegroundArea, std::vcl_size_t &movingForegroundArea, std::vcl_size_t &intersection, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &sum1, DerivativeType &sum2) const |
|
| ~AdvancedKappaStatisticImageToImageMetric () override |
|
| AdvancedImageToImageMetric () |
|
virtual void | AfterThreadedGetValue (MeasureType &value) const |
|
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
|
virtual void | CheckForAdvancedTransform (void) |
|
virtual void | CheckForBSplineInterpolator (void) |
|
virtual void | CheckForBSplineTransform (void) const |
|
virtual void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
|
virtual bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
|
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
|
virtual void | InitializeImageSampler (void) |
|
virtual void | InitializeLimiters (void) |
|
virtual void | InitializeThreadingParameters (void) const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValuePerThreadStruct, AlignedGetValuePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValuePerThreadStruct, PaddedGetValuePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback (void) const |
|
void | LaunchGetValueThreaderCallback (void) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
virtual void | ThreadedGetValue (ThreadIdType threadID) |
|
virtual void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
|
virtual bool | TransformPoint (const FixedImagePointType &fixedImagePoint, MovingImagePointType &mappedPoint) const |
|
| ~AdvancedImageToImageMetric () override |
|