Inheritance diagram for itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >:
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
.
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.
|
Public Types |
| typedef CastFixedImageFilterType::Pointer | CastFixedImageFilterPointer |
typedef itk::CastImageFilter<
FixedImageType, FixedGradientImageType > | CastFixedImageFilterType |
| typedef CastMovedImageFilterType::Pointer | CastMovedImageFilterPointer |
typedef itk::CastImageFilter<
TransformedMovingImageType,
MovedGradientImageType > | CastMovedImageFilterType |
typedef SmartPointer< const
Self > | ConstPointer |
| typedef Superclass::ParametersValueType | CoordinateRepresentationType |
| typedef Superclass::ParametersValueType | CoordinateRepresentationType |
| typedef Superclass::DerivativeType | DerivativeType |
typedef itk::Image< RealType,
itkGetStaticConstMacro(FixedImageDimension) > | FixedGradientImageType |
| typedef FixedGradientImageType::PixelType | FixedGradientPixelType |
| typedef Superclass::FixedImageConstPointer | FixedImageConstPointer |
| typedef std::vector< FixedImageIndexType > | FixedImageIndexContainer |
| typedef FixedImageType::IndexType | FixedImageIndexType |
| typedef FixedImageIndexType::IndexValueType | FixedImageIndexValueType |
| typedef FixedImageMaskType::Pointer | FixedImageMaskPointer |
| typedef FixedImageMaskType::Pointer | FixedImageMaskPointer |
| typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > | FixedImageMaskType |
| typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > | FixedImageMaskType |
| typedef TFixedImage::PixelType | FixedImagePixelType |
| typedef TransformType::InputPointType | FixedImagePointType |
| typedef FixedImageType::RegionType | FixedImageRegionType |
| typedef FixedImageType::RegionType | FixedImageRegionType |
| typedef Superclass::FixedImageType | FixedImageType |
| typedef TransformType::InputPointType | InputPointType |
| typedef TransformType::InputPointType | InputPointType |
| typedef InterpolatorType::Pointer | InterpolatorPointer |
| typedef InterpolatorType::Pointer | InterpolatorPointer |
typedef InterpolateImageFunction<
MovingImageType, CoordinateRepresentationType > | InterpolatorType |
typedef InterpolateImageFunction<
MovingImageType, CoordinateRepresentationType > | 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::IndexType | MovingImageIndexType |
| typedef MovingImageMaskType::Pointer | MovingImageMaskPointer |
| typedef MovingImageMaskType::Pointer | MovingImageMaskPointer |
| typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > | MovingImageMaskType |
| typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > | MovingImageMaskType |
| typedef TMovingImage::PixelType | MovingImagePixelType |
| typedef TMovingImage::PixelType | MovingImagePixelType |
| typedef TransformType::OutputPointType | MovingImagePointType |
| typedef Superclass::MovingImageType | MovingImageType |
| typedef TransformType::OutputPointType | OutputPointType |
| typedef TransformType::OutputPointType | OutputPointType |
| typedef Superclass::ParametersType | ParametersType |
| typedef Superclass::ParametersType | ParametersType |
| typedef double | ParametersValueType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::RealType | RealType |
| typedef GradientDifferenceImageToImageMetric | Self |
typedef ImageToImageMetric<
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 GradientImageFilterType::Pointer | GradientImageFilterPointer |
typedef GradientRecursiveGaussianImageFilter<
MovingImageType, GradientImageType > | GradientImageFilterType |
| typedef SmartPointer< GradientImageType > | GradientImagePointer |
typedef Image< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> | GradientImageType |
typedef CovariantVector< RealType,
itkGetStaticConstMacro(MovingImageDimension)> | GradientPixelType |
|
| typedef GradientImageFilterType::Pointer | GradientImageFilterPointer |
typedef GradientRecursiveGaussianImageFilter<
MovingImageType, GradientImageType > | GradientImageFilterType |
| typedef SmartPointer< GradientImageType > | GradientImagePointer |
typedef Image< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> | GradientImageType |
typedef CovariantVector< RealType,
itkGetStaticConstMacro(MovingImageDimension)> | GradientPixelType |
Public Member Functions |
| virtual void | ComputeGradient (void) |
| virtual void | ComputeGradient () |
| virtual LightObject::Pointer | CreateAnother () const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| virtual void | Delete () |
| Command * | GetCommand (unsigned long tag) |
| bool | GetDebug () const |
| virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const=0 |
| void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const |
| virtual const FixedImageType * | GetFixedImage () |
| virtual const FixedImageType * | GetFixedImage () |
| virtual const FixedImageRegionType & | GetFixedImageRegion () |
| virtual const FixedImageRegionType & | GetFixedImageRegion () |
| virtual const GradientImageType * | GetGradientImage () |
| virtual const GradientImageType * | GetGradientImage () |
| virtual const InterpolatorType * | GetInterpolator () |
| virtual const InterpolatorType * | GetInterpolator () |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| virtual const MovingImageType * | GetMovingImage () |
| virtual const MovingImageType * | GetMovingImage () |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| virtual const unsigned long & | GetNumberOfFixedImageSamples () |
| unsigned int | GetNumberOfParameters (void) const |
| unsigned int | GetNumberOfParameters (void) const |
| virtual const unsigned long & | GetNumberOfPixelsCounted () |
| virtual const unsigned long & | GetNumberOfPixelsCounted () |
| unsigned long | GetNumberOfSpatialSamples (void) |
| virtual int | GetReferenceCount () const |
| virtual const TransformType * | GetTransform () |
| virtual const TransformType * | GetTransform () |
| virtual MeasureType | GetValue (const ParametersType ¶meters) const=0 |
| MeasureType | GetValue (const TransformParametersType ¶meters) const |
| void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const |
| bool | HasObserver (const EventObject &event) const |
| virtual void | Initialize (void) throw ( ExceptionObject ) |
| void | InvokeEvent (const EventObject &) const |
| void | InvokeEvent (const EventObject &) |
| | itkStaticConstMacro (MovedImageDimension, unsigned int, MovingImageType::ImageDimension) |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
| virtual void | Modified () const |
| virtual void | MultiThreadingInitialize (void) throw ( ExceptionObject ) |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| void | SetDebug (bool debugFlag) const |
| virtual void | SetFixedImage (const FixedImageType *_arg) |
| virtual void | SetFixedImage (const FixedImageType *_arg) |
| void | SetFixedImageIndexes (const FixedImageIndexContainer &indexes) |
| virtual void | SetFixedImageRegion (FixedImageRegionType _arg) |
| virtual void | SetFixedImageRegion (FixedImageRegionType _arg) |
| virtual void | SetInterpolator (InterpolatorType *_arg) |
| virtual void | SetInterpolator (InterpolatorType *_arg) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| virtual void | SetMovingImage (const MovingImageType *_arg) |
| virtual void | SetMovingImage (const MovingImageType *_arg) |
| void | SetNumberOfSpatialSamples (unsigned long num) |
| virtual void | SetReferenceCount (int) |
| virtual void | SetTransform (TransformType *_arg) |
| virtual void | SetTransform (TransformType *_arg) |
| void | SetTransformParameters (const ParametersType ¶meters) const |
| void | SetTransformParameters (const ParametersType ¶meters) const |
| virtual void | UnRegister () const |
| void | WriteGradientImagesToFiles (void) const |
|
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| unsigned long | AddObserver (const EventObject &event, Command *) |
|
| virtual void | ComputeGradientOff () |
| virtual void | ComputeGradientOn () |
| virtual const bool & | GetComputeGradient () |
| virtual void | SetComputeGradient (bool _arg) |
|
| virtual void | ComputeGradientOff () |
| virtual void | ComputeGradientOn () |
| virtual const bool & | GetComputeGradient () |
| virtual void | SetComputeGradient (bool _arg) |
|
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| virtual void | SetFixedImageMask (FixedImageMaskType *_arg) |
|
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| virtual void | SetFixedImageMask (FixedImageMaskType *_arg) |
|
| virtual const FixedImagePixelType & | GetFixedImageSamplesIntensityThreshold () |
| virtual const bool & | GetUseFixedImageSamplesIntensityThreshold () |
| void | SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh) |
| virtual void | SetUseFixedImageSamplesIntensityThreshold (bool _arg) |
|
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
|
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
|
| virtual const unsigned long & | GetNumberOfMovingImageSamples () |
| unsigned long | GetNumberOfPixelsCounter (void) |
|
| virtual const unsigned int & | GetNumberOfThreads () |
| virtual void | SetNumberOfThreads (unsigned int _arg) |
|
| virtual const bool & | GetUseAllPixels () |
| virtual void | SetUseAllPixels (bool _arg) |
| virtual void | UseAllPixelsOff () |
| virtual void | UseAllPixelsOn () |
|
| virtual const bool & | GetUseCachingOfBSplineWeights () |
| virtual void | SetUseCachingOfBSplineWeights (bool _arg) |
| virtual void | UseCachingOfBSplineWeightsOff () |
| virtual void | UseCachingOfBSplineWeightsOn () |
|
| virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
|
| | itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
|
| void | ReinitializeSeed (int seed) |
| void | ReinitializeSeed () |
|
| virtual void | SetNumberOfFixedImageSamples (unsigned long numSamples) |
Static Public Member Functions |
| static void | BreakOnError () |
| static Pointer | New () |
|
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static void | SetGlobalWarningDisplay (bool flag) |
Protected Types |
| typedef std::vector< bool > | BooleanArrayType |
typedef BSplineInterpolateImageFunction<
MovingImageType, CoordinateRepresentationType > | BSplineInterpolatorType |
typedef FixedArray< unsigned
long,::itk::GetImageDimension<
FixedImageType >::ImageDimension > | BSplineParametersOffsetType |
| typedef BSplineTransformType::ParameterIndexArrayType | BSplineTransformIndexArrayType |
| typedef Array2D< IndexValueType > | BSplineTransformIndicesArrayType |
typedef BSplineDeformableTransform<
CoordinateRepresentationType,
::itk::GetImageDimension<
FixedImageType >::ImageDimension,
itkGetStaticConstMacro(DeformationSplineOrder) > | BSplineTransformType |
| typedef Array2D< WeightsValueType > | BSplineTransformWeightsArrayType |
| typedef BSplineTransformType::WeightsType | BSplineTransformWeightsType |
typedef CentralDifferenceImageFunction<
MovingImageType, CoordinateRepresentationType > | DerivativeFunctionType |
| typedef std::vector< FixedImageSamplePoint > | FixedImageSampleContainer |
typedef NeighborhoodOperatorImageFilter<
FixedGradientImageType, FixedGradientImageType > | FixedSobelFilter |
typedef CovariantVector< double,
itkGetStaticConstMacro(MovingImageDimension) > | ImageDerivativesType |
| typedef BSplineTransformIndexArrayType::ValueType | IndexValueType |
typedef NeighborhoodOperatorImageFilter<
MovedGradientImageType, MovedGradientImageType > | MovedSobelFilter |
| typedef std::vector< MovingImagePointType > | MovingImagePointArrayType |
| typedef MultiThreader | MultiThreaderType |
| typedef BSplineTransformWeightsType::ValueType | WeightsValueType |
Protected Member Functions |
| virtual void | ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, unsigned int threadID) const |
| MeasureType | ComputeMeasure (const TransformParametersType ¶meters, const double *subtractionFactor) const |
| void | ComputeMovedGradientRange (void) const |
| void | ComputeVariance (void) const |
| void | GetValueAndDerivativeMultiThreadedInitiate (void) const |
| void | GetValueAndDerivativeMultiThreadedPostProcessInitiate (void) const |
| void | GetValueAndDerivativeMultiThreadedPreProcessInitiate (void) const |
| void | GetValueAndDerivativeThread (unsigned int threadID) const |
| virtual void | GetValueAndDerivativeThreadPostProcess (unsigned int, bool) const |
| virtual void | GetValueAndDerivativeThreadPreProcess (unsigned int, bool) const |
| virtual bool | GetValueAndDerivativeThreadProcessSample (unsigned int, unsigned long, const MovingImagePointType &, double, const ImageDerivativesType &) const |
| void | GetValueMultiThreadedInitiate (void) const |
| void | GetValueMultiThreadedPostProcessInitiate (void) const |
| void | GetValueMultiThreadedPreProcessInitiate (void) const |
| void | GetValueThread (unsigned int threadID) const |
| virtual void | GetValueThreadPostProcess (unsigned int, bool) const |
| virtual void | GetValueThreadPreProcess (unsigned int threadID, bool withinSampleThread) const |
| virtual bool | GetValueThreadProcessSample (unsigned int, unsigned long, const MovingImagePointType &, double) const |
| | GradientDifferenceImageToImageMetric () |
| | itkStaticConstMacro (DeformationSplineOrder, unsigned int, 3) |
| void | NumberOfFixedImageSamplesUpdated () |
| virtual void | PreComputeTransformValues (void) |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual void | SampleFixedImageDomain (FixedImageSampleContainer &samples) const |
| virtual void | SampleFixedImageIndexes (FixedImageSampleContainer &samples) |
| virtual void | SampleFullFixedImageDomain (FixedImageSampleContainer &samples) |
| void | SynchronizeTransforms () const |
| virtual void | TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, unsigned int threadID) const |
| virtual void | TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, unsigned int threadID) const |
| virtual | ~GradientDifferenceImageToImageMetric () |
|
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Static Protected Member Functions |
| static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreaded (void *arg) |
| static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreadedPostProcess (void *arg) |
| static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreadedPreProcess (void *arg) |
| static ITK_THREAD_RETURN_TYPE | GetValueMultiThreaded (void *arg) |
| static ITK_THREAD_RETURN_TYPE | GetValueMultiThreadedPostProcess (void *arg) |
| static ITK_THREAD_RETURN_TYPE | GetValueMultiThreadedPreProcess (void *arg) |
Protected Attributes |
| BSplineInterpolatorType::Pointer | m_BSplineInterpolator |
| BSplineParametersOffsetType | m_BSplineParametersOffset |
| MovingImagePointArrayType | m_BSplinePreTransformPointsArray |
| BSplineTransformType::Pointer | m_BSplineTransform |
| BSplineTransformIndexArrayType | m_BSplineTransformIndices |
| BSplineTransformIndicesArrayType | m_BSplineTransformIndicesArray |
| BSplineTransformWeightsType | m_BSplineTransformWeights |
| BSplineTransformWeightsArrayType | m_BSplineTransformWeightsArray |
| bool | m_ComputeGradient |
| DerivativeFunctionType::Pointer | m_DerivativeCalculator |
| FixedImageConstPointer | m_FixedImage |
| FixedImageIndexContainer | m_FixedImageIndexes |
| FixedImageMaskPointer | m_FixedImageMask |
| FixedImageSampleContainer | m_FixedImageSamples |
| FixedImagePixelType | m_FixedImageSamplesIntensityThreshold |
| GradientImagePointer | m_GradientImage |
| InterpolatorPointer | m_Interpolator |
| bool | m_InterpolatorIsBSpline |
| MovingImageConstPointer | m_MovingImage |
| MovingImageMaskPointer | m_MovingImageMask |
| unsigned long | m_NumberOfFixedImageSamples |
| unsigned long | m_NumberOfMovingImageSamples |
| unsigned long | m_NumberOfParameters |
| unsigned long | m_NumberOfPixelsCounted |
| unsigned int | m_NumberOfThreads |
| unsigned long | m_NumBSplineWeights |
| ParametersType | m_Parameters |
| int | m_RandomSeed |
| volatile int | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
| bool | m_ReseedIterator |
| MultiThreaderType::Pointer | m_Threader |
| BSplineTransformIndexArrayType * | m_ThreaderBSplineTransformIndices |
| BSplineTransformWeightsType * | m_ThreaderBSplineTransformWeights |
| unsigned int | m_ThreaderChunkSize |
| unsigned int * | m_ThreaderNumberOfMovingImageSamples |
| MultiThreaderParameterType | m_ThreaderParameter |
| unsigned int | m_ThreaderSizeOfLastChunk |
| TransformPointer * | m_ThreaderTransform |
| TransformPointer | m_Transform |
| bool | m_TransformIsBSpline |
| bool | m_UseAllPixels |
| bool | m_UseCachingOfBSplineWeights |
| bool | m_UseFixedImageIndexes |
| bool | m_UseFixedImageSamplesIntensityThreshold |
| BooleanArrayType | m_WithinBSplineSupportRegionArray |
| bool | m_WithinThreadPostProcess |
| bool | m_WithinThreadPreProcess |