ITK  4.6.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 > Class Template Referenceabstract

#include <itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h>

+ Inheritance diagram for itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >:
+ Collaboration diagram for itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >:

Detailed Description

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
class itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >

Provides threading for ImageToImageMetricv4::GetValueAndDerivative.

Template Parameters
TDomainPartitionertype of the Domain, ThreadedImageRegionPartitioner or ThreadedIndexedContainerPartitioner
TImageToImageMetricv4type of the ImageToImageMetricv4

This class provides a BeforeThreadedExecution, and AfterThreadedExecution.

The ThreadedExecution in ImageToImageMetricv4GetValueAndDerivativeThreader calls ProcessVirtualPoint on every point in the virtual image domain. ProcessVirtualPoint calls ProcessPoint on each point.

Definition at line 44 of file itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h.

Classes

struct  GetValueAndDerivativePerThreadStruct
 

Public Types

typedef Superclass::AssociateType AssociateType
 
typedef std::vector
< CompensatedDerivativeValueType
CompensatedDerivativeType
 
typedef CompensatedSummation
< DerivativeValueType
CompensatedDerivativeValueType
 
typedef SmartPointer< const SelfConstPointer
 
typedef
ImageToImageMetricv4Type::DerivativeType 
DerivativeType
 
typedef
ImageToImageMetricv4Type::DerivativeValueType 
DerivativeValueType
 
typedef Superclass::DomainType DomainType
 
typedef
ImageToImageMetricv4Type::FixedImageGradientType 
FixedImageGradientType
 
typedef
ImageToImageMetricv4Type::FixedImageIndexType 
FixedImageIndexType
 
typedef
ImageToImageMetricv4Type::FixedImagePixelType 
FixedImagePixelType
 
typedef
ImageToImageMetricv4Type::FixedImagePointType 
FixedImagePointType
 
typedef
FixedTransformType::OutputPointType 
FixedOutputPointType
 
typedef
ImageToImageMetricv4Type::FixedTransformType 
FixedTransformType
 
typedef
ImageToImageMetricv4Type::ImageDimensionType 
ImageDimensionType
 
typedef TImageToImageMetricv4 ImageToImageMetricv4Type
 
typedef
ImageToImageMetricv4Type::InternalComputationValueType 
InternalComputationValueType
 
typedef
ImageToImageMetricv4Type::JacobianType 
JacobianType
 
typedef
ImageToImageMetricv4Type::MeasureType 
MeasureType
 
typedef
ImageToImageMetricv4Type::MovingImageGradientType 
MovingImageGradientType
 
typedef
ImageToImageMetricv4Type::MovingImagePixelType 
MovingImagePixelType
 
typedef
ImageToImageMetricv4Type::MovingImagePointType 
MovingImagePointType
 
typedef
MovingTransformType::OutputPointType 
MovingOutputPointType
 
typedef
ImageToImageMetricv4Type::MovingTransformType 
MovingTransformType
 
typedef
ImageToImageMetricv4Type::NumberOfParametersType 
NumberOfParametersType
 
typedef SmartPointer< SelfPointer
 
typedef
ImageToImageMetricv4GetValueAndDerivativeThreaderBase 
Self
 
typedef DomainThreader
< TDomainPartitioner,
TImageToImageMetricv4 > 
Superclass
 
typedef
ImageToImageMetricv4Type::VirtualImageType 
VirtualImageType
 
typedef
ImageToImageMetricv4Type::VirtualIndexType 
VirtualIndexType
 
typedef
ImageToImageMetricv4Type::VirtualPointType 
VirtualPointType
 
- Public Types inherited from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
typedef TImageToImageMetricv4 AssociateType
 
typedef SmartPointer< const SelfConstPointer
 
typedef TDomainPartitioner DomainPartitionerType
 
typedef
DomainPartitionerType::DomainType 
DomainType
 
typedef SmartPointer< SelfPointer
 
typedef DomainThreader Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual bool GetComputeDerivative () const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
void Execute (AssociateType *enclosingClass, const DomainType &domain)
 
MultiThreader * GetMultiThreader () const
 
virtual ThreadIdType GetNumberOfThreadsUsed () const
 
virtual void SetDomainPartitioner (DomainPartitionerType *_arg)
 
virtual DomainPartitionerTypeGetModifiableDomainPartitioner ()
 
virtual const
DomainPartitionerType
GetDomainPartitioner () const
 
ThreadIdType GetMaximumNumberOfThreads () const
 
void SetMaximumNumberOfThreads (const ThreadIdType threads)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual LightObject::Pointer CreateAnother () const ITK_OVERRIDE
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary (void)
 
const MetaDataDictionaryGetMetaDataDictionary (void) const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const ITK_OVERRIDE
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) ITK_OVERRIDE
 
virtual void UnRegister () const ITK_OVERRIDE
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Protected Member Functions

virtual void AfterThreadedExecution ()
 
virtual void BeforeThreadedExecution ()
 
 ImageToImageMetricv4GetValueAndDerivativeThreaderBase ()
 
 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
 
virtual bool ProcessPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const FixedImagePointType &mappedFixedPoint, const FixedImagePixelType &mappedFixedPixelValue, const FixedImageGradientType &mappedFixedImageGradient, const MovingImagePointType &mappedMovingPoint, const MovingImagePixelType &mappedMovingPixelValue, const MovingImageGradientType &mappedMovingImageGradient, MeasureType &metricValueReturn, DerivativeType &localDerivativeReturn, const ThreadIdType threadId) const =0
 
virtual bool ProcessVirtualPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
 
virtual void StorePointDerivativeResult (const VirtualIndexType &virtualIndex, const ThreadIdType threadId)
 
virtual ~ImageToImageMetricv4GetValueAndDerivativeThreaderBase ()
 
- Protected Member Functions inherited from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
virtual void DetermineNumberOfThreadsUsed ()
 
 DomainThreader ()
 
virtual void SetMultiThreader (MultiThreader *_arg)
 
virtual void ThreadedExecution (const DomainType &subdomain, const ThreadIdType threadId)=0
 
virtual ~DomainThreader ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE
 
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 ()
 

Protected Attributes

NumberOfParametersType m_CachedNumberOfLocalParameters
 
NumberOfParametersType m_CachedNumberOfParameters
 
AlignedGetValueAndDerivativePerThreadStruct * m_GetValueAndDerivativePerThreadVariables
 
- Protected Attributes inherited from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
AssociateTypem_Associate
 
- Protected Attributes inherited from itk::LightObject
InternalReferenceCountType m_ReferenceCount
 
SimpleFastMutexLock m_ReferenceCountLock
 

Private Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 
- Static Protected Member Functions inherited from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 

Member Typedef Documentation

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef Superclass::AssociateType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::AssociateType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef std::vector<CompensatedDerivativeValueType> itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::CompensatedDerivativeType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef CompensatedSummation<DerivativeValueType> itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::CompensatedDerivativeValueType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef SmartPointer< const Self > itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ConstPointer
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::DerivativeType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::DerivativeType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::DerivativeValueType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::DerivativeValueType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef Superclass::DomainType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::DomainType

Superclass types.

Definition at line 54 of file itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::FixedImageGradientType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedImageGradientType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::FixedImageIndexType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedImageIndexType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::FixedImagePixelType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedImagePixelType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::FixedImagePointType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedImagePointType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef FixedTransformType::OutputPointType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedOutputPointType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::FixedTransformType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::FixedTransformType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::ImageDimensionType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ImageDimensionType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef TImageToImageMetricv4 itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ImageToImageMetricv4Type

Types of the target class.

Definition at line 61 of file itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::InternalComputationValueType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::InternalComputationValueType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::JacobianType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::JacobianType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::MeasureType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MeasureType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::MovingImageGradientType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MovingImageGradientType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::MovingImagePixelType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MovingImagePixelType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::MovingImagePointType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MovingImagePointType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef MovingTransformType::OutputPointType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MovingOutputPointType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::MovingTransformType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::MovingTransformType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::NumberOfParametersType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::NumberOfParametersType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef SmartPointer< Self > itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::Pointer
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4GetValueAndDerivativeThreaderBase itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::Self

Standard class typedefs.

Definition at line 49 of file itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef DomainThreader< TDomainPartitioner, TImageToImageMetricv4 > itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::Superclass
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::VirtualImageType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::VirtualImageType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::VirtualIndexType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::VirtualIndexType
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
typedef ImageToImageMetricv4Type::VirtualPointType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::VirtualPointType

Constructor & Destructor Documentation

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ImageToImageMetricv4GetValueAndDerivativeThreaderBase ( )
protected
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::~ImageToImageMetricv4GetValueAndDerivativeThreaderBase ( )
protectedvirtual
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ImageToImageMetricv4GetValueAndDerivativeThreaderBase ( const Self )
private

Member Function Documentation

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual void itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::AfterThreadedExecution ( )
protectedvirtual

Collects the results from each thread and sums them. Results are stored in the enclosing class m_Value and m_DerivativeResult. Behavior depends on m_AverageValueAndDerivativeByNumberOfValuePoints, m_NumberOfValidPoints, to average the value sum, and to average derivative sums for global transforms only (i.e. transforms without local support).

Reimplemented from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual void itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::BeforeThreadedExecution ( )
protectedvirtual

Resize and initialize per thread objects.

Reimplemented from itk::DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual bool itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::GetComputeDerivative ( ) const
virtual

Access the GetValueAndDerivative() accesor in image metric base.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual const char* itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::GetNameOfClass ( ) const
virtual
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedGetValueAndDerivativePerThreadStruct  ,
AlignedGetValueAndDerivativePerThreadStruct   
)
protected
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
GetValueAndDerivativePerThreadStruct  ,
PaddedGetValueAndDerivativePerThreadStruct   
)
protected
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
void itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::operator= ( const Self )
private
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual bool itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ProcessPoint ( const VirtualIndexType virtualIndex,
const VirtualPointType virtualPoint,
const FixedImagePointType mappedFixedPoint,
const FixedImagePixelType mappedFixedPixelValue,
const FixedImageGradientType mappedFixedImageGradient,
const MovingImagePointType mappedMovingPoint,
const MovingImagePixelType mappedMovingPixelValue,
const MovingImageGradientType mappedMovingImageGradient,
MeasureType metricValueReturn,
DerivativeType localDerivativeReturn,
const ThreadIdType  threadId 
) const
protectedpure virtual

Method to calculate the metric value and derivative given a point, value and image derivative for both fixed and moving spaces. The provided values have been calculated from virtualPoint, which is provided in case it's needed.

Parameters
virtualIndex
virtualPointis the point within the virtual domain from which the passed parameters have been calculated.
mappedFixedPointis a valid point within the moving image space that has passed bounds checking, and lies within any mask that may be assigned.
mappedFixedPixelValueholds the pixel value at the mapped fixed point.
mappedFixedImageGradientholds the image gradient at the fixed point, but only when m_GradientSource is set to calculate fixed image gradients (either when it's set to calculate only fixed gradients, or both fixed and moving). Otherwise, the value is meaningless and should be ignored.
mappedMovingPoint
mappedMovingPixelValue
mappedMovingImageGradientThese three parameters hold the point, pixel value and image gradient for the moving image space, as described above for the fixed image space. Results must be returned by derived classes in:
metricValueReturn
localDerivativeReturn
threadIdmay be used as needed, for example to access any per-thread data cached during pre-processing by the derived class.
Warning
This is called from the threader, and thus must be thread-safe.
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual bool itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::ProcessVirtualPoint ( const VirtualIndexType virtualIndex,
const VirtualPointType virtualPoint,
const ThreadIdType  threadId 
)
protectedvirtual

Method called by the threaders to process the given virtual point. This in turn calls TransformAndEvaluateFixedPoint, TransformAndEvaluateMovingPoint, and ProcessPoint. And adds entries to m_MeasurePerThread and m_LocalDerivativesPerThread, m_NumberOfValidPointsPerThread.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
virtual void itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::StorePointDerivativeResult ( const VirtualIndexType virtualIndex,
const ThreadIdType  threadId 
)
protectedvirtual

Store derivative result from a single point calculation.

Warning
If this method is overridden or otherwise not used in a derived class, be sure to accumulate results.

Member Data Documentation

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
NumberOfParametersType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::m_CachedNumberOfLocalParameters
mutableprotected
template<typename TDomainPartitioner, typename TImageToImageMetricv4>
NumberOfParametersType itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::m_CachedNumberOfParameters
mutableprotected

Cached values to avoid call overhead. These will only be set once threading has been started.

Definition at line 196 of file itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h.

template<typename TDomainPartitioner, typename TImageToImageMetricv4>
AlignedGetValueAndDerivativePerThreadStruct* itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< TDomainPartitioner, TImageToImageMetricv4 >::m_GetValueAndDerivativePerThreadVariables
mutableprotected

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