FREE::ImageDifferenceSOMetricThread< VImageDimension > Class Template Reference
[Setup optimization metric]

Thisclass is for monitoring the progress of multi threaded image difference metric. More...

#include <freImageDifferenceSOMetricThread.h>

Inheritance diagram for FREE::ImageDifferenceSOMetricThread< VImageDimension >:

Inheritance graph
FREE::SetupOptimizationMetricThreadBase\< FREE::ImageDifferenceSOMetricMonitor \>
[legend]
Collaboration diagram for FREE::ImageDifferenceSOMetricThread< VImageDimension >:

Collaboration graph
FREE::SetupOptimizationMetricThreadBase\< FREE::ImageDifferenceSOMetricMonitor \>FREE::IDPathFREE::XMLStreamObject
[legend]

List of all members.

Public Types

typedef
ImageDifferenceSOMetricThread
< VImageDimension > 
Self
typedef
SetupOptimizationMetricThreadBase
< ImageDifferenceSOMetricMonitor
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef
Superclass::ThreadIDType 
ThreadIDType
typedef
Superclass::MonitorType 
MonitorType
typedef
Superclass::ResultType 
ResultType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual
::itk::LightObject::Pointer 
CreateAnother (void) const
void SetResultImagePath (const IDPath &path)
const IDPathGetResultImagePath () const
void SetReferenceImagePath (const IDPath &path)
const IDPathGetReferenceImagePath () const

Static Public Member Functions

static Pointer New (void)

Protected Types

typedef ImageTypes
< VImageDimension >
::InternalImageType 
ImageType

Protected Member Functions

 ImageDifferenceSOMetricThread ()
virtual ~ImageDifferenceSOMetricThread ()
virtual bool ProcessSetup (Setup *pAdaptationSetup) throw ()
void EvaluateResult (ImageType *pResultImage, ImageType *pReferenceImage)

Protected Attributes

IDPath m_ResultImagePath
IDPath m_ReferenceImagePath

Private Member Functions

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


Detailed Description

template<unsigned int VImageDimension>
class FREE::ImageDifferenceSOMetricThread< VImageDimension >

Thisclass is for monitoring the progress of multi threaded image difference metric.

ImageDifferenceSOMetricThread is used by multi threaded image difference setup optimization metrics (ImageDifferenceSOMetric) to coordinate the evaluation of adaptations, the storing of results and the event interactions of a singel thread. Every evaluation thread uses the monitor to get the next adaptation, to return the results or to notify a processing failure. Derivate from this base class to realize a monitor for a metric.

Definition at line 48 of file freImageDifferenceSOMetricThread.h.


Member Typedef Documentation

template<unsigned int VImageDimension>
typedef ImageDifferenceSOMetricThread<VImageDimension> FREE::ImageDifferenceSOMetricThread< VImageDimension >::Self

Standard class typedefs.

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 53 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef SetupOptimizationMetricThreadBase<ImageDifferenceSOMetricMonitor> FREE::ImageDifferenceSOMetricThread< VImageDimension >::Superclass

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 54 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef itk::SmartPointer<Self> FREE::ImageDifferenceSOMetricThread< VImageDimension >::Pointer

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 55 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef itk::SmartPointer<const Self> FREE::ImageDifferenceSOMetricThread< VImageDimension >::ConstPointer

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 56 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef Superclass::ThreadIDType FREE::ImageDifferenceSOMetricThread< VImageDimension >::ThreadIDType

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 58 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef Superclass::MonitorType FREE::ImageDifferenceSOMetricThread< VImageDimension >::MonitorType

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 59 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef Superclass::ResultType FREE::ImageDifferenceSOMetricThread< VImageDimension >::ResultType

Class containing the results of one adaptation evaluation /*depends on the monitored metric and therefore a template.

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 60 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
typedef ImageTypes<VImageDimension>::InternalImageType FREE::ImageDifferenceSOMetricThread< VImageDimension >::ImageType [protected]

Definition at line 80 of file freImageDifferenceSOMetricThread.h.


Constructor & Destructor Documentation

template<unsigned int VImageDimension>
FREE::ImageDifferenceSOMetricThread< VImageDimension >::ImageDifferenceSOMetricThread (  )  [inline, protected]

Definition at line 68 of file freImageDifferenceSOMetricThread.txx.

References FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ReferenceImagePath, FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ResultImagePath, and FREE::IDPath::Reset().

Here is the call graph for this function:

FREE::IDPath::Reset

template<unsigned int VImageDimension>
FREE::ImageDifferenceSOMetricThread< VImageDimension >::~ImageDifferenceSOMetricThread (  )  [inline, protected, virtual]

Definition at line 76 of file freImageDifferenceSOMetricThread.txx.

template<unsigned int VImageDimension>
FREE::ImageDifferenceSOMetricThread< VImageDimension >::ImageDifferenceSOMetricThread ( const Self  )  [private]


Member Function Documentation

template<unsigned int VImageDimension>
virtual const char* FREE::ImageDifferenceSOMetricThread< VImageDimension >::GetNameOfClass (  )  const [inline, virtual]

Run-time type information (and related methods).

Reimplemented from FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 63 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
static Pointer FREE::ImageDifferenceSOMetricThread< VImageDimension >::New ( void   )  [inline, static]

Definition at line 64 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
virtual ::itk::LightObject::Pointer FREE::ImageDifferenceSOMetricThread< VImageDimension >::CreateAnother ( void   )  const [inline, virtual]

Definition at line 64 of file freImageDifferenceSOMetricThread.h.

template<unsigned int VImageDimension>
void FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetResultImagePath ( const IDPath path  )  [inline]

Definition at line 39 of file freImageDifferenceSOMetricThread.txx.

References FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ResultImagePath, and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().

Here is the call graph for this function:

FREE::SetupOptimizationMetricThreadBase::LockExecutionMutexFREE::SetupOptimizationMetricThreadBase::UnlockExecutionMutex

template<unsigned int VImageDimension>
const IDPath & FREE::ImageDifferenceSOMetricThread< VImageDimension >::GetResultImagePath (  )  const [inline]

Definition at line 49 of file freImageDifferenceSOMetricThread.txx.

References FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ResultImagePath.

template<unsigned int VImageDimension>
void FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetReferenceImagePath ( const IDPath path  )  [inline]

Definition at line 54 of file freImageDifferenceSOMetricThread.txx.

References FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ReferenceImagePath, and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().

Here is the call graph for this function:

FREE::SetupOptimizationMetricThreadBase::LockExecutionMutexFREE::SetupOptimizationMetricThreadBase::UnlockExecutionMutex

template<unsigned int VImageDimension>
const IDPath & FREE::ImageDifferenceSOMetricThread< VImageDimension >::GetReferenceImagePath (  )  const [inline]

Definition at line 64 of file freImageDifferenceSOMetricThread.txx.

References FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ReferenceImagePath.

template<unsigned int VImageDimension>
bool FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup ( Setup pAdaptationSetup  )  throw () [inline, protected, virtual]

This method should be implemented in derived classes. The method processes the passed adaptation setup. Returns false if the evaluation fails for any reason. In this case m_FailureComment should contain the reason for the failure. If Evaluation was successful the return is true, m_Results should then contain the results of the evaluation. The function itself should throw no exceptions.

Parameters:
[in] pAdaptationSetup Pointer to the setup that should be evaluated.
Returns:
True if evaluation was sucessfull.

Implements FREE::SetupOptimizationMetricThreadBase< TMonitor >.

Definition at line 81 of file freImageDifferenceSOMetricThread.txx.

References FREE::ControllerCentral::AddOnProgressEvent(), catchAllNPassMacro, FREE::SessionProcessor::DefineOutput(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::EvaluateResult(), FREE::SessionProcessor::GetCastedOutput(), FREE::SessionAccessor::GetMedia(), FREE::SessionInfo::GetSessionCache(), FREE::SessionProcessor::GetSessionInfo(), FREE::SessionProcessor::InitializeSession(), FREE::IDPath::IsEmpty(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_EvaluatedSessionProgressEvent, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_FailureComment, FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ReferenceImagePath, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_Results, FREE::ControllerCentral::RemoveOnProgressEvent(), FREE::SessionProcessor::SetSetup(), throwExceptionMacro, and FREE::IDPath::ToStr().

Here is the call graph for this function:

FREE::ControllerCentral::AddOnProgressEventFREE::SessionProcessor::DefineOutputFREE::ImageDifferenceSOMetricThread::EvaluateResultFREE::SessionProcessor::GetCastedOutputFREE::SessionAccessor::GetMediaFREE::IDPath::IsEmptyFREE::IDPath::ToStrFREE::SessionInfo::GetSessionCacheFREE::SessionProcessor::GetSessionInfoFREE::SessionProcessor::InitializeSessionFREE::ControllerCentral::RemoveOnProgressEventFREE::SessionProcessor::SetSetupFREE::SessionProcessor::GetOutputFREE::SessionComponentCache::ControllerFREE::SessionInfo::GetCacheByIDPathFREE::ComponentControllerInterface::GetMediaFREE::IDPath::GetMediaIDFREE::IDPath::GetParentComponentIDPathFREE::IDPath::IsMediaSelectionFREE::SessionComponentCache::IsActiveFREE::IDPath::GetParentIDPathFREE::IDPath::IsComponentSelectionFREE::IDPath::AssembleIDPathFREE::IDPath::SizeFREE::IDPath::SetAbsoluteFREE::IDPath::AddComponentFREE::IDPath::GetComponentFREE::IDPath::IsParameterSelectionFREE::SessionBuilder::BuildSessionFREE::SessionProcessor::ResetSessionFREE::SessionBuilder::BuildComponentFREE::ControllerCentral::TriggerBuildEventFREE::Setup::GetSectionsFREE::SessionInfo::NewFREE::ComponentControllerInterface::BuildSetupFREE::SessionBuilder::CheckComponentNecessityFREE::ComponentSetup::GetComponentIDFREE::ComponentSetup::ControllerIsAssignedFREE::ComponentSetup::GetControllerIDFREE::ControllerCentral::GetControllerFREE::ComponentSetup::GetIDPathFREE::SessionComponentCache::NewFREE::SessionComponentCache::GetComponentIDFREE::SessionComponentCache::GetParentCacheFREE::SessionComponentCache::SetupIsAssignedFREE::ControllerInfo::GetControllerFREE::ControllerCentral::GetControllerInfoFREE::ComponentSetup::HasParentComponentFREE::SessionInfo::SessionInfo

template<unsigned int VImageDimension>
void FREE::ImageDifferenceSOMetricThread< VImageDimension >::EvaluateResult ( ImageType pResultImage,
ImageType pReferenceImage 
) [inline, protected]

Evaluates mean error and variance of a computed image with a reference image provided by the session

Definition at line 138 of file freImageDifferenceSOMetricThread.txx.

References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_Results.

Referenced by FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup().

template<unsigned int VImageDimension>
void FREE::ImageDifferenceSOMetricThread< VImageDimension >::operator= ( const Self  )  [private]


Member Data Documentation

template<unsigned int VImageDimension>
IDPath FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ResultImagePath [protected]

Definition at line 86 of file freImageDifferenceSOMetricThread.h.

Referenced by FREE::ImageDifferenceSOMetricThread< VImageDimension >::GetResultImagePath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::ImageDifferenceSOMetricThread(), and FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetResultImagePath().

template<unsigned int VImageDimension>
IDPath FREE::ImageDifferenceSOMetricThread< VImageDimension >::m_ReferenceImagePath [protected]

Definition at line 87 of file freImageDifferenceSOMetricThread.h.

Referenced by FREE::ImageDifferenceSOMetricThread< VImageDimension >::GetReferenceImagePath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::ImageDifferenceSOMetricThread(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup(), and FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetReferenceImagePath().


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:17:51 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000