ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkGradientDifferenceImageToImageMetric.h>
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 58 of file itkGradientDifferenceImageToImageMetric.h.
typedef CastFixedImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterPointer |
Definition at line 107 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::CastImageFilter< FixedImageType, FixedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterType |
Definition at line 106 of file itkGradientDifferenceImageToImageMetric.h.
typedef CastMovedImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterPointer |
Definition at line 118 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterType |
Definition at line 117 of file itkGradientDifferenceImageToImageMetric.h.
typedef SmartPointer< const Self > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 68 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::DerivativeType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Type of the derivative.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 84 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientImageType |
Sobel filters to compute the gradients of the Fixed Image
Definition at line 104 of file itkGradientDifferenceImageToImageMetric.h.
typedef FixedGradientImageType::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientPixelType |
Definition at line 109 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::FixedImageConstPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 87 of file itkGradientDifferenceImageToImageMetric.h.
typedef TFixedImage::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 90 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::FixedImageType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Type of the fixed Image.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 85 of file itkGradientDifferenceImageToImageMetric.h.
typedef NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedSobelFilter [protected] |
Definition at line 162 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MeasureType |
Type of the measure.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 83 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientImageType |
Definition at line 115 of file itkGradientDifferenceImageToImageMetric.h.
typedef MovedGradientImageType::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientPixelType |
Definition at line 120 of file itkGradientDifferenceImageToImageMetric.h.
typedef TMovingImage::PixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedImagePixelType |
Definition at line 91 of file itkGradientDifferenceImageToImageMetric.h.
typedef NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedSobelFilter [protected] |
Definition at line 165 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::MovingImageConstPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 88 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::MovingImageType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Type of the moving Image.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 86 of file itkGradientDifferenceImageToImageMetric.h.
typedef SmartPointer< Self > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Pointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 67 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::RealType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Types transferred from the base class
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 74 of file itkGradientDifferenceImageToImageMetric.h.
typedef GradientDifferenceImageToImageMetric itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 64 of file itkGradientDifferenceImageToImageMetric.h.
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Superclass |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 65 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformedMovingImageType |
Types for transforming the moving image
Definition at line 97 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::TransformJacobianType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 81 of file itkGradientDifferenceImageToImageMetric.h.
typedef itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformMovingImageFilterType |
Definition at line 100 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::TransformParametersType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 80 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::TransformPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 79 of file itkGradientDifferenceImageToImageMetric.h.
typedef Superclass::TransformType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Type of the Transform Base class
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 78 of file itkGradientDifferenceImageToImageMetric.h.
itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GradientDifferenceImageToImageMetric | ( | ) | [protected] |
Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method
virtual itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::~GradientDifferenceImageToImageMetric | ( | ) | [inline, protected, virtual] |
Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method
Definition at line 147 of file itkGradientDifferenceImageToImageMetric.h.
itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GradientDifferenceImageToImageMetric | ( | const Self & | ) | [private] |
MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMeasure | ( | const TransformParametersType & | parameters, |
const double * | subtractionFactor | ||
) | const [protected] |
Compute the similarity measure using a specified subtraction factor.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMovedGradientRange | ( | void | ) | const [protected] |
Compute the range of the moved image gradients.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeVariance | ( | void | ) | const [protected] |
Compute the variance and range of the moving image gradients.
virtual::itk::LightObject::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative | ( | const TransformParametersType & | parameters, |
DerivativeType & | derivative | ||
) | const |
Get the derivatives of the match measure.
virtual const double& itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetDerivativeDelta | ( | ) | [virtual] |
Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method
virtual const char* itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValue | ( | const TransformParametersType & | parameters | ) | const |
Get the value for single valued optimizers.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative | ( | const TransformParametersType & | parameters, |
MeasureType & | Value, | ||
DerivativeType & | derivative | ||
) | const |
Get value and derivatives for multiple valued optimizers.
virtual void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Initialize | ( | void | ) | throw ( ExceptionObject ) [virtual] |
Initialize the Metric by making sure that all the components are present and plugged together correctly
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
static Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
virtual void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::SetDerivativeDelta | ( | double | _arg | ) | [virtual] |
Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method
void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::WriteGradientImagesToFiles | ( | void | ) | const |
Write gradient images to a files for debugging purposes.
const unsigned int itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImageDimension = TFixedImage::ImageDimension [static] |
Constants for the image dimensions
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 93 of file itkGradientDifferenceImageToImageMetric.h.
CastFixedImageFilterPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_CastFixedImageFilter [private] |
The Sobel gradients of the fixed image
Definition at line 188 of file itkGradientDifferenceImageToImageMetric.h.
CastMovedImageFilterPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_CastMovedImageFilter [private] |
The Sobel gradients of the moving image
Definition at line 200 of file itkGradientDifferenceImageToImageMetric.h.
double itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeDelta [private] |
Definition at line 208 of file itkGradientDifferenceImageToImageMetric.h.
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedBoundCond [private] |
Definition at line 197 of file itkGradientDifferenceImageToImageMetric.h.
FixedSobelFilter::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedSobelFilters[itkGetStaticConstMacro(FixedImageDimension)] [private] |
Definition at line 194 of file itkGradientDifferenceImageToImageMetric.h.
SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedSobelOperators[FixedImageDimension] [private] |
Definition at line 192 of file itkGradientDifferenceImageToImageMetric.h.
FixedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MaxFixedGradient[FixedImageDimension] [mutable, private] |
Definition at line 182 of file itkGradientDifferenceImageToImageMetric.h.
MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MaxMovedGradient[MovedImageDimension] [mutable, private] |
Definition at line 178 of file itkGradientDifferenceImageToImageMetric.h.
FixedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MinFixedGradient[FixedImageDimension] [mutable, private] |
The range of the fixed image gradients.
Definition at line 181 of file itkGradientDifferenceImageToImageMetric.h.
MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MinMovedGradient[MovedImageDimension] [mutable, private] |
The range of the moving image gradients.
Definition at line 177 of file itkGradientDifferenceImageToImageMetric.h.
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedBoundCond [private] |
Definition at line 196 of file itkGradientDifferenceImageToImageMetric.h.
MovedSobelFilter::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedSobelFilters[itkGetStaticConstMacro(MovedImageDimension)] [private] |
Definition at line 206 of file itkGradientDifferenceImageToImageMetric.h.
SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) > itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedSobelOperators[MovedImageDimension] [private] |
Definition at line 204 of file itkGradientDifferenceImageToImageMetric.h.
TransformMovingImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_TransformMovingImageFilter [private] |
The filter for transforming the moving image.
Definition at line 185 of file itkGradientDifferenceImageToImageMetric.h.
MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_Variance[FixedImageDimension] [mutable, private] |
The variance of the moving image gradients.
Definition at line 174 of file itkGradientDifferenceImageToImageMetric.h.
const unsigned int itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedImageDimension = MovingImageType::ImageDimension [static] |
Sobel filters to compute the gradients of the Moved Image
Definition at line 113 of file itkGradientDifferenceImageToImageMetric.h.