template<class TFixedImage, class TMovingImage>
class itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >
Compute Mean square difference between two images, based on AdvancedImageToImageMetric...
This Class is templated over the type of the fixed and moving images to be compared.
This metric computes the sum of squared differenced between pixels in the moving image and pixels in the fixed image. The spatial correspondance between both images is established through a Transform. Pixel values are taken from the Moving image. Their positions are mapped to the Fixed image and result in general in non-grid position on it. Values at these non-grid position of the Fixed image are interpolated using a user-selected Interpolator.
This implementation of the MeanSquareDifference is based on the AdvancedImageToImageMetric, which means that:
- It uses the ImageSampler-framework
- It makes use of the compact support of B-splines, in case of B-spline transforms.
- Image derivatives are computed using either the B-spline interpolator's implementation or by nearest neighbor interpolation of a precomputed central difference image.
- A minimum number of samples that should map within the moving image (mask) can be specified.
Definition at line 56 of file itkAdvancedMeanSquaresImageToImageMetric.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::HessianType | HessianType |
|
typedef Superclass::HessianValueType | HessianValueType |
|
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 AdvancedMeanSquaresImageToImageMetric | 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 AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > | BSplineOrder1TransformType |
|
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > | BSplineOrder2TransformType |
|
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 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 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::MultiThreader | ThreaderType |
|
typedef ThreaderType::ThreadInfoStruct | ThreadInfoType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef Superclass::TransformParametersType | TransformParametersType |
|
typedef Superclass::TransformPointer | TransformPointer |
|
typedef Superclass::TransformType | TransformType |
|
|
virtual const char * | GetClassName () const |
|
virtual void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const |
|
virtual unsigned int | GetNumberOfSamplesForSelfHessian () const |
|
virtual void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) const |
|
virtual double | GetSelfHessianNoiseRange () const |
|
virtual double | GetSelfHessianSmoothingSigma () const |
|
virtual bool | GetUseNormalization () const |
|
virtual MeasureType | GetValue (const TransformParametersType ¶meters) const |
|
virtual void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
|
void | GetValueAndDerivativeSingleThreaded (const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
|
virtual void | Initialize (void) throw ( ExceptionObject ) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SetNumberOfSamplesForSelfHessian (unsigned int _arg) |
|
virtual void | SetSelfHessianNoiseRange (double _arg) |
|
virtual void | SetSelfHessianSmoothingSigma (double _arg) |
|
virtual void | SetUseNormalization (bool _arg) |
|
virtual void | SetUseOpenMP (bool _arg) |
|
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) 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 |
|
const AdvancedTransformType * | GetTransform (void) const |
|
virtual bool | GetUseFixedImageLimiter () const |
|
virtual bool | GetUseImageSampler () const |
|
virtual const bool & | GetUseMetricSingleThreaded () |
|
virtual bool | GetUseMovingImageDerivativeScales () const |
|
virtual bool | GetUseMovingImageLimiter () const |
|
virtual const bool & | GetUseMultiThread () |
|
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::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 | SetNumberOfThreads (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 () |
|
|
typedef Superclass::BSplineInterpolatorType | BSplineInterpolatorType |
|
typedef Superclass::CentralDifferenceGradientFilterType | CentralDifferenceGradientFilterType |
|
typedef NearestNeighborInterpolateImageFunction< FixedImageType, CoordinateRepresentationType > | DummyFixedImageInterpolatorType |
|
typedef Superclass::FixedImageIndexType | FixedImageIndexType |
|
typedef Superclass::FixedImageIndexValueType | FixedImageIndexValueType |
|
typedef BSplineInterpolateImageFunction< FixedImageType, CoordinateRepresentationType > | FixedImageInterpolatorType |
|
typedef Superclass::FixedImagePointType | FixedImagePointType |
|
typedef Superclass::MovingImageContinuousIndexType | MovingImageContinuousIndexType |
|
typedef Superclass::MovingImageDerivativeType | MovingImageDerivativeType |
|
typedef Superclass::MovingImageIndexType | MovingImageIndexType |
|
typedef Superclass::MovingImagePointType | MovingImagePointType |
|
typedef Superclass::NonZeroJacobianIndicesType | NonZeroJacobianIndicesType |
|
typedef ImageGridSampler< FixedImageType > | SelfHessianSamplerType |
|
typedef SmoothingRecursiveGaussianImageFilter< FixedImageType, FixedImageType > | SmootherType |
|
typedef BSplineInterpolatorFloatType::Pointer | BSplineInterpolatorFloatPointer |
|
typedef BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, float > | BSplineInterpolatorFloatType |
|
typedef BSplineInterpolatorType::Pointer | BSplineInterpolatorPointer |
|
typedef BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > | BSplineInterpolatorType |
|
typedef CentralDifferenceGradientFilterType::Pointer | CentralDifferenceGradientFilterPointer |
|
typedef GradientImageFilter< MovingImageType, RealType, RealType > | CentralDifferenceGradientFilterType |
|
typedef FixedImageType::IndexType | FixedImageIndexType |
|
typedef FixedImageIndexType::IndexValueType | FixedImageIndexValueType |
|
typedef TransformType::InputPointType | FixedImagePointType |
|
typedef LinearInterpolatorType::Pointer | LinearInterpolatorPointer |
|
typedef AdvancedLinearInterpolateImageFunction< MovingImageType, CoordinateRepresentationType > | LinearInterpolatorType |
|
typedef InterpolatorType::ContinuousIndexType | MovingImageContinuousIndexType |
|
typedef BSplineInterpolatorType::CovariantVectorType | MovingImageDerivativeType |
|
typedef MovingImageType::IndexType | MovingImageIndexType |
|
typedef TransformType::OutputPointType | MovingImagePointType |
|
typedef AdvancedTransformType::NonZeroJacobianIndicesType | NonZeroJacobianIndicesType |
|
typedef ReducedBSplineInterpolatorType::Pointer | ReducedBSplineInterpolatorPointer |
|
typedef ReducedDimensionBSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > | ReducedBSplineInterpolatorType |
|
|
| AdvancedMeanSquaresImageToImageMetric () |
|
void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const |
|
void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
|
void | UpdateSelfHessianTerms (const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, HessianType &H) const |
|
void | UpdateValueAndDerivativeTerms (const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, MeasureType &measure, DerivativeType &deriv) const |
|
virtual | ~AdvancedMeanSquaresImageToImageMetric () |
|
| AdvancedImageToImageMetric () |
|
virtual void | CheckForAdvancedTransform (void) |
|
virtual void | CheckForBSplineInterpolator (void) |
|
virtual void | CheckForBSplineTransform (void) |
|
virtual void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
|
virtual void | ComputeFixedImageExtrema (const FixedImageType *image, const FixedImageRegionType ®ion) |
|
virtual void | ComputeMovingImageExtrema (const MovingImageType *image, const MovingImageRegionType ®ion) |
|
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) throw ( ExceptionObject ) |
|
virtual void | InitializeLimiters (void) |
|
virtual void | InitializeThreadingParameters (void) const |
|
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
|
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
|
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
|
void | LaunchGetValueAndDerivativeThreaderCallback (void) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const |
|
virtual void | SetUseFixedImageLimiter (bool _arg) |
|
virtual void | SetUseImageSampler (bool _arg) |
|
virtual void | SetUseMovingImageLimiter (bool _arg) |
|
virtual bool | TransformPoint (const FixedImagePointType &fixedImagePoint, MovingImagePointType &mappedPoint) const |
|
virtual | ~AdvancedImageToImageMetric () |
|