ITK  4.2.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes
itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkMatchCardinalityImageToImageMetric.h>

+ Inheritance diagram for itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >:
+ Collaboration diagram for itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >:

List of all members.

Classes

struct  ThreadStruct

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef Superclass::MovingImageType MovingImageType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef
MatchCardinalityImageToImageMetric 
Self
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType
- Public Types inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef std::vector
< FixedImageIndexType
FixedImageIndexContainer
typedef FixedImageType::IndexType FixedImageIndexType
typedef
FixedImageIndexType::IndexValueType 
FixedImageIndexValueType
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
typedef TFixedImage::PixelType FixedImagePixelType
typedef
TransformType::InputPointType 
FixedImagePointType
typedef
TransformType::InputPointType 
InputPointType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
InterpolatorType
typedef MovingImageType::IndexType MovingImageIndexType
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
typedef TMovingImage::PixelType MovingImagePixelType
typedef
TransformType::OutputPointType 
MovingImagePointType
typedef MultiThreader MultiThreaderType
typedef
TransformType::OutputPointType 
OutputPointType
typedef Superclass::ParametersType ParametersType
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension) > 
GradientImageType
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
- Public Types inherited from itk::SingleValuedCostFunction
typedef
Superclass::ParametersValueType 
ParametersValueType
- Public Types inherited from itk::CostFunction
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
MeasureType GetValue (const TransformParametersType &parameters) const
void GetDerivative (const TransformParametersType &, DerivativeType &derivative) const
virtual void SetMeasureMatches (bool _arg)
virtual void MeasureMatchesOn ()
virtual void MeasureMatchesOff ()
virtual bool GetMeasureMatches () const
- Public Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
virtual void ComputeGradient (void)
virtual const FixedImageTypeGetFixedImage ()
virtual const
FixedImageRegionType
GetFixedImageRegion ()
virtual const FixedImagePixelTypeGetFixedImageSamplesIntensityThreshold ()
virtual const GradientImageTypeGetGradientImage ()
virtual const InterpolatorTypeGetInterpolator ()
virtual const MovingImageTypeGetMovingImage ()
SizeValueType GetNumberOfMovingImageSamples (void)
unsigned int GetNumberOfParameters (void) const
virtual const SizeValueTypeGetNumberOfPixelsCounted ()
SizeValueType GetNumberOfSpatialSamples (void)
virtual const TransformTypeGetTransform ()
virtual const bool & GetUseAllPixels ()
virtual const bool & GetUseFixedImageIndexes ()
virtual const bool & GetUseFixedImageSamplesIntensityThreshold ()
virtual const bool & GetUseSequentialSampling ()
virtual void Initialize (void) throw ( ExceptionObject )
virtual void MultiThreadingInitialize (void) throw ( ExceptionObject )
virtual void SetFixedImage (const FixedImageType *_arg)
void SetFixedImageIndexes (const FixedImageIndexContainer &indexes)
void SetFixedImageRegion (const FixedImageRegionType reg)
void SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh)
virtual void SetInterpolator (InterpolatorType *_arg)
virtual void SetMovingImage (const MovingImageType *_arg)
void SetNumberOfSpatialSamples (SizeValueType num)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
void SetUseAllPixels (bool useAllPixels)
void SetUseFixedImageIndexes (bool useIndex)
void SetUseFixedImageSamplesIntensityThreshold (bool useThresh)
void SetUseSequentialSampling (bool sequentialSampling)
void UseAllPixelsOff (void)
void UseAllPixelsOn (void)
virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual const FixedImageMaskTypeGetFixedImageMask ()
void SetNumberOfThreads (ThreadIdType numberOfThreads)
virtual const ThreadIdTypeGetNumberOfThreads ()
virtual void SetComputeGradient (bool _arg)
virtual const bool & GetComputeGradient ()
virtual void ComputeGradientOn ()
virtual void ComputeGradientOff ()
virtual void SetNumberOfFixedImageSamples (SizeValueType numSamples)
virtual const SizeValueTypeGetNumberOfFixedImageSamples ()
void ReinitializeSeed ()
void ReinitializeSeed (int seed)
virtual void SetUseCachingOfBSplineWeights (bool _arg)
virtual const bool & GetUseCachingOfBSplineWeights ()
virtual void UseCachingOfBSplineWeightsOn ()
virtual void UseCachingOfBSplineWeightsOff ()
virtual const MultiThreaderTypeGetThreader ()
const TransformPointerGetThreaderTransform ()
- Public Member Functions inherited from itk::SingleValuedCostFunction
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
virtual MeasureType GetValue (const ParametersType &parameters) const =0
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

MeasureType GetNonconstValue (const TransformParametersType &parameters)
virtual ThreadIdType SplitFixedRegion (ThreadIdType i, int num, FixedImageRegionType &splitRegion)
virtual void ThreadedGetValue (const FixedImageRegionType &outputRegionForThread, ThreadIdType threadId)
- Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
virtual void ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadID) const
void GetValueAndDerivativeMultiThreadedInitiate (void) const
void GetValueAndDerivativeMultiThreadedPostProcessInitiate (void) const
void GetValueAndDerivativeMultiThreadedPreProcessInitiate (void) const
virtual void GetValueAndDerivativeThread (ThreadIdType threadID) const
virtual void GetValueAndDerivativeThreadPostProcess (ThreadIdType, bool) const
virtual void GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const
virtual bool GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const
void GetValueMultiThreadedInitiate (void) const
void GetValueMultiThreadedPostProcessInitiate (void) const
void GetValueMultiThreadedPreProcessInitiate (void) const
virtual void GetValueThread (ThreadIdType threadID) const
virtual void GetValueThreadPostProcess (ThreadIdType, bool) const
virtual void GetValueThreadPreProcess (ThreadIdType, bool) const
virtual bool GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const
 ImageToImageMetric ()
virtual void PreComputeTransformValues (void)
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
virtual void SampleFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SynchronizeTransforms () const
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ThreadIdType threadID) const
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, ThreadIdType threadID) const
virtual ~ImageToImageMetric ()
- Protected Member Functions inherited from itk::SingleValuedCostFunction
 SingleValuedCostFunction ()
virtual ~SingleValuedCostFunction ()
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
virtual ~CostFunction ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
- Static Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
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)

Private Member Functions

 MatchCardinalityImageToImageMetric (const Self &)
void operator= (const Self &)

Private Attributes

bool m_MeasureMatches
std::vector< SizeValueTypem_ThreadCounts
MultiThreader::Pointer m_Threader
std::vector< MeasureTypem_ThreadMatches
MultiThreader * GetMultiThreader ()
 MatchCardinalityImageToImageMetric ()
virtual ~MatchCardinalityImageToImageMetric ()
void PrintSelf (std::ostream &os, Indent indent) const

Additional Inherited Members

- Static Public Attributes inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
static const unsigned int MovingImageDimension = TMovingImage::ImageDimension
static const unsigned int FixedImageDimension = TFixedImage::ImageDimension
- Protected Types inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
typedef std::vector< bool > BooleanArrayType
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
BSplineInterpolatorType
typedef FixedArray
< SizeValueType,::itk::GetImageDimension
< FixedImageType >
::ImageDimension > 
BSplineParametersOffsetType
typedef
BSplineTransformType::ParameterIndexArrayType 
BSplineTransformIndexArrayType
typedef Array2D< IndexValueTypeBSplineTransformIndicesArrayType
typedef BSplineBaseTransform
< CoordinateRepresentationType,::itk::GetImageDimension
< FixedImageType >
::ImageDimension,
itkGetStaticConstMacro(DeformationSplineOrder) > 
BSplineTransformType
typedef Array2D< WeightsValueTypeBSplineTransformWeightsArrayType
typedef
BSplineTransformType::WeightsType 
BSplineTransformWeightsType
typedef
CentralDifferenceImageFunction
< MovingImageType,
CoordinateRepresentationType
DerivativeFunctionType
typedef std::vector
< FixedImageSamplePoint
FixedImageSampleContainer
typedef CovariantVector
< double,
itkGetStaticConstMacro(MovingImageDimension) > 
ImageDerivativesType
typedef
BSplineTransformIndexArrayType::ValueType 
IndexValueType
typedef std::vector
< MovingImagePointType
MovingImagePointArrayType
typedef
BSplineTransformWeightsType::ValueType 
WeightsValueType
- Protected Attributes inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
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
FixedImageMaskConstPointer m_FixedImageMask
FixedImageSampleContainer m_FixedImageSamples
FixedImagePixelType m_FixedImageSamplesIntensityThreshold
GradientImagePointer m_GradientImage
InterpolatorPointer m_Interpolator
bool m_InterpolatorIsBSpline
MovingImageConstPointer m_MovingImage
MovingImageMaskConstPointer m_MovingImageMask
SizeValueType m_NumberOfFixedImageSamples
SizeValueType m_NumberOfParameters
SizeValueType m_NumberOfPixelsCounted
ThreadIdType m_NumberOfThreads
SizeValueType m_NumBSplineWeights
int m_RandomSeed
bool m_ReseedIterator
BSplineTransformIndexArrayTypem_ThreaderBSplineTransformIndices
BSplineTransformWeightsTypem_ThreaderBSplineTransformWeights
unsigned int * m_ThreaderNumberOfMovingImageSamples
MultiThreaderParameterType m_ThreaderParameter
TransformPointerm_ThreaderTransform
TransformPointer m_Transform
bool m_TransformIsBSpline
bool m_UseAllPixels
bool m_UseCachingOfBSplineWeights
bool m_UseFixedImageIndexes
bool m_UseFixedImageSamplesIntensityThreshold
bool m_UseSequentialSampling
BooleanArrayType m_WithinBSplineSupportRegionArray
bool m_WithinThreadPostProcess
bool m_WithinThreadPreProcess
- Static Protected Attributes inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage >
static const unsigned int DeformationSplineOrder = 3

Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >

Computes similarity between two objects to be registered.

This Class is templated over the type of the fixed and moving images to be compared.

This metric computes cardinality of the set of pixels that match exactly between the moving and fixed images. 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 metric is designed for matching label maps. All pixel mismatches are considered equal whether they are between label 1 and label 2 or between label 1 and label 500. In other words, the magnitude of an individual label mismatch is not relevant, or the occurrence of a label mismatch is important.

Given the nature of label maps, a nearest neighbor interpolator is the preferred interpolator.

The metric measure can measure the number of pixel matches (pixels with exactly the same label) or pixel mismatches (pixels with different labels). The returned metric value is the number of pixel matches (or mismatches) normalized by the number of pixels considered. The number of pixel considered is a function of the number of pixels in the overlap of the fixed and moving image buffers conditional on any assigned masks.

Definition at line 67 of file itkMatchCardinalityImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType

Type of the derivative.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 93 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageRegionType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType

Type of the fixed Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 94 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::GradientPixelType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType

Gaussian filter to compute the gradient of the Moving Image

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 90 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureType

Type of the measure.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 92 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageConstPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImageType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType

Type of the moving Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 95 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::RealType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::RealType

Types transferred from the base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 82 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MatchCardinalityImageToImageMetric itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 73 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformJacobianType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformParametersType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformPointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::TransformType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Type of the Transform Base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 86 of file itkMatchCardinalityImageToImageMetric.h.


Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage >
itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MatchCardinalityImageToImageMetric ( )
protected

Return the multithreader used by this class.

template<class TFixedImage , class TMovingImage >
virtual itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::~MatchCardinalityImageToImageMetric ( )
inlineprotectedvirtual

Return the multithreader used by this class.

Definition at line 133 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MatchCardinalityImageToImageMetric ( const Self )
private

Member Function Documentation

template<class TFixedImage , class TMovingImage >
virtual::itk::LightObject::Pointer itk::MatchCardinalityImageToImageMetric< 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.

template<class TFixedImage , class TMovingImage >
void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const TransformParametersType ,
DerivativeType derivative 
) const
inline

Get the derivatives of the match measure.

Definition at line 101 of file itkMatchCardinalityImageToImageMetric.h.

References itk::Array< TValueType >::Fill().

template<class TFixedImage , class TMovingImage >
virtual bool itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetMeasureMatches ( ) const
virtual

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage , class TMovingImage >
MultiThreader* itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetMultiThreader ( )
inline

Return the multithreader used by this class.

Definition at line 129 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
virtual const char* itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetNonconstValue ( const TransformParametersType parameters)
protected

Non-const version of GetValue(). This is a hack around various const issues with trying to spawn threads from the const version of GetValue().

template<class TFixedImage , class TMovingImage >
MeasureType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const TransformParametersType parameters) const

Get the value of the metric at a particular parameter setting. The metric value is the number of pixel matches (or mis-matches, see SetMeasureMatches()) normalized by the number of pixels under consideration (within the buffer and if specified within a mask). In other words, the metric measure the percentage of pixel matches or mismatches.

template<class TFixedImage , class TMovingImage >
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureMatchesOff ( )
virtual

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage , class TMovingImage >
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MeasureMatchesOn ( )
virtual

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage , class TMovingImage >
static Pointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage , class TMovingImage >
void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self )
private

Mutex lock to protect modification to the reference count

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

Return the multithreader used by this class.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::SetMeasureMatches ( bool  _arg)
virtual

Set/Get whether this metric measures pixel matches or pixel mismatches. Note the GetValue() returns the number of matches (or mismatches) normalized by the number of pixels considered. In other words, the metric measures the percentage of pixel matches or mismatches. The default is to measure matches (MeasureMatchesOn).

template<class TFixedImage , class TMovingImage >
virtual ThreadIdType itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::SplitFixedRegion ( ThreadIdType  i,
int  num,
FixedImageRegionType splitRegion 
)
protectedvirtual

Split the FixedImageRegion into "num" pieces, returning region "i" as "splitRegion". This method is called "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the FixedImageRegion, i.e. return value is less than or equal to "num".

template<class TFixedImage , class TMovingImage >
virtual void itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ThreadedGetValue ( const FixedImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
protectedvirtual

Thread worker routine to calculate the contribution of the a subregion to the overall metric. Can only be called from GetValue().

template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::ThreaderCallback ( void *  arg)
staticprotected

Static function used as a "callback" by the MultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGetValue().


Member Data Documentation

template<class TFixedImage , class TMovingImage >
bool itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::m_MeasureMatches
private

Definition at line 175 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
std::vector< SizeValueType > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::m_ThreadCounts
private

Definition at line 177 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MultiThreader::Pointer itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::m_Threader
private

Support processing data in multiple threads. Used by subclasses (e.g., ImageSource).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 181 of file itkMatchCardinalityImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
std::vector< MeasureType > itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::m_ThreadMatches
private

Definition at line 176 of file itkMatchCardinalityImageToImageMetric.h.


The documentation for this class was generated from the following file: