![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkParzenWindowHistogramImageToImageMetric.h>
A base class for image metrics based on a joint histogram computed using Parzen Windowing.
The calculations are based on the method of Mattes/Thevenaz/Unser [1,2,3] where the probability density distribution are estimated using Parzen histograms.
Once the PDF's have been constructed, the metric value and derivative can be computed. Inheriting classes should make sure to call the function ComputePDFs(AndPDFDerivatives) before using m_JointPDF and m_Alpha (and m_JointPDFDerivatives).
This class does not define the GetValue/GetValueAndDerivative methods. This is the task of inheriting classes.
The code is based on the itk::MattesMutualInformationImageToImageMetric, but largely rewritten. Some important features:
References:
[1] "Nonrigid multimodality image registration"
D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank
Medical Imaging 2001: Image Processing, 2001, pp. 1609-1620.
[2] "PET-CT Image Registration in the Chest Using Free-form Deformations"
D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank
IEEE Transactions in Medical Imaging. To Appear.
[3] "Optimization of Mutual Information for MultiResolution Image
Registration"
P. Thevenaz and M. Unser
IEEE Transactions in Image Processing, 9(12) December 2000.
Definition at line 74 of file itkParzenWindowHistogramImageToImageMetric.h.
Data Structures | |
struct | ParzenWindowHistogramGetValueAndDerivativePerThreadStruct |
struct | ParzenWindowHistogramMultiThreaderParameterType |
Public Types | |
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::OutputPointType | OutputPointType |
typedef Superclass::ParametersType | ParametersType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::RealType | RealType |
typedef ParzenWindowHistogramImageToImageMetric | 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 |
Protected Member Functions | |
void | AfterThreadedComputePDFs (void) const |
virtual void | ComputeIncrementalMarginalPDFs (const JointPDFDerivativesType *incrementalPDF, IncrementalMarginalPDFType *fixedIncrementalMarginalPDF, IncrementalMarginalPDFType *movingIncrementalMarginalPDF) const |
virtual 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 |
void | EvaluateParzenValues (double parzenWindowTerm, OffsetValueType parzenWindowIndex, const KernelFunctionType *kernel, ParzenValueContainerType &parzenValues) const |
virtual void | GetValueAndAnalyticDerivative (const ParametersType &, MeasureType &, DerivativeType &) const |
virtual void | GetValueAndFiniteDifferenceDerivative (const ParametersType &, MeasureType &, DerivativeType &) const |
virtual void | InitializeHistograms (void) |
virtual void | InitializeKernels (void) |
void | InitializeThreadingParameters (void) const override |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedParzenWindowHistogramGetValueAndDerivativePerThreadStruct, AlignedParzenWindowHistogramGetValueAndDerivativePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, ParzenWindowHistogramGetValueAndDerivativePerThreadStruct, PaddedParzenWindowHistogramGetValueAndDerivativePerThreadStruct) | |
void | LaunchComputePDFsThreaderCallback (void) const |
virtual void | NormalizeJointPDF (JointPDFType *pdf, const double &factor) const |
virtual 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 | |
![]() | |
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 | |
Static Protected Member Functions | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputePDFsThreaderCallback (void *arg) |
![]() | |
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) |
Private Member Functions | |
void | operator= (const Self &) |
ParzenWindowHistogramImageToImageMetric (const Self &) | |
Private Attributes | |
double | m_FiniteDifferencePerturbation |
unsigned int | m_FixedKernelBSplineOrder |
unsigned int | m_MovingKernelBSplineOrder |
unsigned long | m_NumberOfFixedHistogramBins |
unsigned long | m_NumberOfMovingHistogramBins |
bool | m_UseDerivative |
bool | m_UseExplicitPDFDerivatives |
bool | m_UseFiniteDifferenceDerivative |
|
protected |
Definition at line 239 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 241 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef SmartPointer< const Self > itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Definition at line 83 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::CoordinateRepresentationType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType |
Typedefs from the superclass.
Definition at line 89 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::DerivativeType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Definition at line 115 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::DerivativeValueType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType |
Definition at line 116 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageConstPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 94 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Protected Typedefs Typedefs inherited from superclass.
Definition at line 232 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 233 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageLimiterOutputType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType |
Definition at line 126 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageLimiterType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType |
Definition at line 124 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageMaskPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer |
Definition at line 111 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageMaskType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType |
Definition at line 110 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImagePixelType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType |
Definition at line 118 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 236 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageRegionType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType |
Definition at line 95 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::FixedImageType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Definition at line 93 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::GradientImageFilterPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer |
Definition at line 109 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::GradientImageFilterType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType |
Definition at line 108 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::GradientImagePointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer |
Definition at line 107 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::GradientImageType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType |
Definition at line 106 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::GradientPixelType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType |
Definition at line 105 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ImageSampleContainerPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer |
Definition at line 123 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ImageSampleContainerType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType |
Definition at line 122 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ImageSamplerPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer |
Definition at line 121 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ImageSamplerType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType |
Definition at line 120 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 260 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 253 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 261 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 262 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 252 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::InputPointType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::InputPointType |
Definition at line 98 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer |
Definition at line 103 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::InterpolatorType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType |
Definition at line 102 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 257 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 251 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 258 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 259 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 250 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 254 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 249 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 255 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 256 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 248 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 267 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Typedefs for Parzen kernel.
Definition at line 266 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 247 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MeasureType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasureType |
Definition at line 114 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageConstPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 92 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 238 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageDerivativeScalesType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType |
Definition at line 128 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 240 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 235 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageLimiterOutputType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType |
Definition at line 127 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageLimiterType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType |
Definition at line 125 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageMaskPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer |
Definition at line 113 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageMaskType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType |
Definition at line 112 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImagePixelType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType |
Definition at line 91 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 237 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageRegionType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType |
Definition at line 119 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::MovingImageType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Definition at line 90 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 242 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 234 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::OutputPointType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType |
Definition at line 99 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ParametersType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ParametersType |
Definition at line 117 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 263 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 246 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Typedefs for the PDFs and PDF derivatives.
Definition at line 245 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef SmartPointer< Self > itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer |
Definition at line 82 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::RealType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Definition at line 104 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef ParzenWindowHistogramImageToImageMetric itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Definition at line 80 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef AdvancedImageToImageMetric< TFixedImage, TMovingImage > itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass |
Definition at line 81 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ThreaderType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ThreaderType |
Definition at line 129 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::ThreadInfoType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType |
Definition at line 130 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::TransformJacobianType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Definition at line 101 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::TransformParametersType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Definition at line 100 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::TransformPointer itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 97 of file itkParzenWindowHistogramImageToImageMetric.h.
typedef Superclass::TransformType itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Definition at line 96 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
The constructor.
|
overrideprotected |
The destructor.
|
private |
The private constructor.
|
inlineprotected |
Single-threadedly accumulate results.
|
protectedvirtual |
Compute incremental marginal pdfs. Integrates the incremental PDF to obtain the fixed and moving marginal pdfs at once.
|
protectedvirtual |
Compute marginal pdfs by summing over the joint pdf direction = 0: fixed marginal pdf direction = 1: moving marginal pdf
|
protectedvirtual |
|
protectedvirtual |
Compute PDFs and incremental pdfs (which you can use to compute finite difference estimate of the derivative). Loops over the fixed image samples and constructs the m_JointPDF, m_IncrementalJointPDF<Right/Left>, m_Alpha, and m_PerturbedAlpha<Right/Left>.
mu = input parameters vector jh(mu) = m_JointPDF(:,:) = joint histogram ihr(k) = m_IncrementalJointPDFRight(k,:,:) ihl(k) = m_IncrementalJointPDFLeft(k,:,:) a(mu) = m_Alpha par(k) = m_PerturbedAlphaRight(k) pal(k) = m_PerturbedAlphaLeft(k) size(ihr) = = size(ihl) = nrofparams * nrofmovingbins * nroffixedbins
ihr and ihl are determined such that: jh(mu+delta*e_k) = jh(mu) + ihr(k) jh(mu-delta*e_k) = jh(mu) + ihl(k) where e_k is the unit vector.
the pdf can be derived with: p(mu+delta*e_k) = ( par(k) ) * jh(mu+delta*e_k) p(mu-delta*e_k) = ( pal(k) ) * jh(mu-delta*e_k)
|
protectedvirtual |
Compute PDFs and pdf derivatives; Loops over the fixed image samples and constructs the m_JointPDF, m_JointPDFDerivatives, and m_Alpha. The JointPDF and Alpha and its derivatives are related as follows: p = m_Alpha * m_JointPDF dp/dmu = m_Alpha * m_JointPDFDerivatives So, the JointPDF is more like a histogram than a true pdf... The histograms are left unnormalized since it may be faster to not do this explicitly.
|
protectedvirtual |
Compute PDFs; Loops over the fixed image samples and constructs the m_JointPDF and m_Alpha The JointPDF and Alpha are related as follows: p = m_Alpha * m_JointPDF So, the JointPDF is more like a histogram than a true pdf... The histogram is left unnormalised since it may be faster to not do this explicitly.
|
staticprotected |
Helper function to launch the threads.
|
protected |
Compute the Parzen values given an image value and a starting histogram index Compute the values at (parzenWindowIndex - parzenWindowTerm + k) for k = 0 ... kernelsize-1 Returns the values in a ParzenValueContainer, which is supposed to have the right size already.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.
Reimplemented in elastix::AdvancedMattesMutualInformationMetric< TElastix >, itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::NormalizedMutualInformationMetric< TElastix >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
override |
Get the derivatives of the match measure. This method simply calls the the GetValueAndDerivative, since this will be mostly almost as fast as just computing the derivative.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlineprotectedvirtual |
Get the value and analytic derivatives for single valued optimizers. Called by GetValueAndDerivative if UseFiniteDifferenceDerivative == false Implement this method in subclasses.
Reimplemented in itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 470 of file itkParzenWindowHistogramImageToImageMetric.h.
|
override |
Get the value and derivatives for single valued optimizers. This method calls this->GetValueAndAnalyticDerivative or this->GetValueAndFiniteDifferenceDerivative, depending on the bool m_UseFiniteDifferenceDerivative.
|
inlineprotectedvirtual |
Get the value and finite difference derivatives for single valued optimizers. Called by GetValueAndDerivative if UseFiniteDifferenceDerivative == true Implement this method in subclasses.
Reimplemented in itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 479 of file itkParzenWindowHistogramImageToImageMetric.h.
|
override |
Initialize the Metric by (1) Call the superclass' implementation (2) InitializeHistograms() (3) InitializeKernels() (4) Resize AlphaDerivatives
|
protectedvirtual |
Some initialization functions, called by Initialize.
Reimplemented in itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
protectedvirtual |
|
overrideprotectedvirtual |
Initialize threading related parameters.
Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.
|
protected |
|
protected |
itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
FixedImageType::ImageDimension | |||
) |
The fixed image dimension.
itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
MovingImageType::ImageDimension | |||
) |
The moving image dimension.
|
protected |
Helper function to launch the threads.
|
protectedvirtual |
Multiply the pdf entries by the given normalization factor.
|
protectedvirtual |
Multiply the pdf derivatives entries by the given normalization factor.
|
private |
The private copy constructor.
|
overrideprotected |
Print Self.
|
virtual |
For computing the finite difference derivative, the perturbation (delta) of the transform parameters; default: 1.0. mu_right= mu + delta*e_k
|
virtual |
The B-spline order of the fixed Parzen window; default: 0
|
virtual |
The B-spline order of the moving B-spline order; default: 3
|
virtual |
Number of bins to use for the fixed image in the histogram. Typical value is 32. The minimum value is 4 due to the padding required by the Parzen windowing with a cubic B-spline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to four.
|
virtual |
Number of bins to use for the moving image in the histogram. Typical value is 32. The minimum value is 4 due to the padding required by the Parzen windowing with a cubic B-spline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to four.
|
virtual |
Whether you plan to call the GetDerivative/GetValueAndDerivative method or not. This option should be set before calling Initialize(); Default: false.
|
virtual |
Option to use explicit PDF derivatives, which requires a lot of memory in case of many parameters.
|
virtual |
Whether you want to use a finite difference implementation of the metric's derivative. This option should be set before calling Initialize(); Default: false.
|
inlineprotected |
Multi-threaded versions of the ComputePDF function.
|
protectedvirtual |
Update the joint PDF with a pixel pair; on demand also updates the pdf derivatives (if the Jacobian pointers are nonzero).
|
protectedvirtual |
Update the joint PDF and the incremental pdfs. The input is a pixel pair (fixed, moving, moving mask) and a set of moving image/mask values when using mu+delta*e_k, for each k that has a nonzero Jacobian. And for mu-delta*e_k of course. Also updates the PerturbedAlpha's This function is used when UseFiniteDifferenceDerivative is true.
|
protected |
Update the pdf derivatives adds -image_jac[mu]*factor to the bin with index [ mu, pdfIndex[0], pdfIndex[1] ] for all mu. This function should only be called from UpdateJointPDFAndDerivatives.
|
virtual |
|
virtual |
|
mutableprotected |
Protected variables **************************** Variables for Alpha (the normalization factor of the histogram).
Definition at line 272 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 298 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 499 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 290 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Variables for the pdfs (actually: histograms).
Definition at line 277 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 289 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 285 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 283 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Kernels for computing Parzen histograms and derivatives.
Definition at line 296 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 494 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 292 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 282 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 281 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 279 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 280 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 287 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 291 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 278 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 288 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 286 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 284 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 297 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 495 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 293 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Variables that can/should be accessed by their Set/Get functions.
Definition at line 492 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 493 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 321 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 322 of file itkParzenWindowHistogramImageToImageMetric.h.
|
protected |
Definition at line 310 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 274 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Definition at line 273 of file itkParzenWindowHistogramImageToImageMetric.h.
|
mutableprotected |
Threading related parameters.
Definition at line 301 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 496 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 497 of file itkParzenWindowHistogramImageToImageMetric.h.
|
private |
Definition at line 498 of file itkParzenWindowHistogramImageToImageMetric.h.
Generated on 1667476801 for elastix by ![]() |
![]() |