template<class TFixedImage, class TMovingImage>
class itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >
Computes similarity between two objects to be registered.
This Class is templated over the type of the Images to be compared and over the type of transformation and Iterpolator to be used.
This metric computes the sum of squared differences between pixels in the derivatives of the moving and fixed images after passing the squared difference through a function of type
.
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.
Implementation of this class is based on: Hipwell, J. H., et. al. (2003), "Intensity-Based 2-D-3D Registration of
Cerebral Angiograms,", IEEE Transactions on Medical Imaging, 22(11):1417-1426.
Definition at line 75 of file itkGradientDifferenceImageToImageMetric2.h.
|
typedef CastFixedImageFilterType::Pointer | CastFixedImageFilterPointer |
|
typedef itk::CastImageFilter< FixedImageType, FixedGradientImageType > | CastFixedImageFilterType |
|
typedef CastMovedImageFilterType::Pointer | CastMovedImageFilterPointer |
|
typedef itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > | CastMovedImageFilterType |
|
typedef CombinationTransformType::Pointer | CombinationTransformPointer |
|
typedef itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > | CombinationTransformType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > | FixedGradientImageType |
|
typedef FixedGradientImageType::PixelType | FixedGradientPixelType |
|
typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
|
typedef TFixedImage::PixelType | FixedImagePixelType |
|
typedef Superclass::FixedImageType | FixedImageType |
|
typedef InterpolatorType::Pointer | InterpolatorPointer |
|
typedef Superclass::InterpolatorType | InterpolatorType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > | MovedGradientImageType |
|
typedef MovedGradientImageType::PixelType | MovedGradientPixelType |
|
typedef TMovingImage::PixelType | MovedImagePixelType |
|
typedef Superclass::MovingImageConstPointer | MovingImageConstPointer |
|
typedef MovingImageType::RegionType | MovingImageRegionType |
|
typedef Superclass::MovingImageType | MovingImageType |
|
typedef itk::Optimizer | OptimizerType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef RayCastInterpolatorType::Pointer | RayCastInterpolatorPointer |
|
typedef itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > | RayCastInterpolatorType |
|
typedef Superclass::RealType | RealType |
|
typedef TransformType::ScalarType | ScalarType |
|
typedef OptimizerType::ScalesType | ScalesType |
|
typedef GradientDifferenceImageToImageMetric | Self |
|
typedef AdvancedImageToImageMetric< TFixedImage, TMovingImage > | Superclass |
|
typedef itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > | TransformedMovingImageType |
|
typedef Superclass::TransformJacobianType | TransformJacobianType |
|
typedef itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > | TransformMovingImageFilterType |
|
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 |
|
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const |
|
virtual const double & | GetDerivativeDelta () |
|
virtual const ScalesType & | GetScales () |
|
MeasureType | GetValue (const TransformParametersType ¶meters) const |
|
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const |
|
virtual void | Initialize (void) throw ( ExceptionObject ) |
|
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
|
| itkStaticConstMacro (MovedImageDimension, unsigned int, MovingImageType::ImageDimension) |
|
virtual void | SetDerivativeDelta (double _arg) |
|
virtual void | SetScales (ScalesType _arg) |
|
void | WriteGradientImagesToFiles (void) const |
|
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 |
|
virtual void | GetSelfHessian (const TransformParametersType ¶meters, HessianType &H) 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 NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > | FixedSobelFilter |
|
typedef NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > | MovedSobelFilter |
|
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 |
|
|
MeasureType | ComputeMeasure (const TransformParametersType ¶meters, const double *subtractionFactor) const |
|
void | ComputeMovedGradientRange (void) const |
|
void | ComputeVariance (void) const |
|
| GradientDifferenceImageToImageMetric () |
|
void | PrintSelf (std::ostream &os, Indent indent) const |
|
virtual | ~GradientDifferenceImageToImageMetric () |
|
| AdvancedImageToImageMetric () |
|
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
|
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 void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
|
virtual bool | TransformPoint (const FixedImagePointType &fixedImagePoint, MovingImagePointType &mappedPoint) const |
|
virtual | ~AdvancedImageToImageMetric () |
|