#include <freSetupOptimizationMetricThreadBase.h>

Public Types | |
| typedef SetupOptimizationMetricThreadBase < TMonitor > | Self |
| typedef itk::Object | Superclass |
| typedef itk::SmartPointer < Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
| typedef long | ThreadIDType |
| typedef TMonitor | MonitorType |
| typedef MonitorType::ResultType | ResultType |
Public Member Functions | |
| virtual const char * | GetNameOfClass () const |
| void | SetMonitor (MonitorType *pMonitor) |
| ThreadIDType | GetThreadID () const |
| void | SetThreadID (const ThreadIDType &id) |
| virtual void | Execute () |
Protected Types | |
| typedef ProgressCtrlEvent < SetupOptimizationMetricThreadBase < TMonitor > > | ProgressEventType |
Protected Member Functions | |
| SetupOptimizationMetricThreadBase () | |
| virtual | ~SetupOptimizationMetricThreadBase () |
| virtual bool | ProcessSetup (Setup *pAdaptationSetup)=0 throw () |
| void | LockExecutionMutex () |
| void | UnlockExecutionMutex () |
| void | OnSessionProgress (const IDPath &senderID, const ProgressCtrlEventBase::StatusID status, const std::string &sComment, SessionComponentCache *pSender, long threadID) |
Protected Attributes | |
| ProgressEventType::Pointer | m_EvaluatedSessionProgressEvent |
| std::string | m_FailureComment |
| ResultType | m_Results |
Private Member Functions | |
| SetupOptimizationMetricThreadBase (const Self &) | |
| void | operator= (const Self &) |
Private Attributes | |
| ThreadIDType | m_ThreadID |
| MonitorType * | m_pMonitor |
| itk::SimpleMutexLock | m_ExecutionMutex |
SetupOptimizationMetricThreadBase is the base class for metric threads. Every thread uses the monitor to get the next adaptation, to return the results or to notify a processing failure.
Definition at line 45 of file freSetupOptimizationMetricThreadBase.h.
| typedef SetupOptimizationMetricThreadBase<TMonitor> FREE::SetupOptimizationMetricThreadBase< TMonitor >::Self |
Standard class typedefs.
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 50 of file freSetupOptimizationMetricThreadBase.h.
| typedef itk::Object FREE::SetupOptimizationMetricThreadBase< TMonitor >::Superclass |
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 51 of file freSetupOptimizationMetricThreadBase.h.
| typedef itk::SmartPointer<Self> FREE::SetupOptimizationMetricThreadBase< TMonitor >::Pointer |
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 52 of file freSetupOptimizationMetricThreadBase.h.
| typedef itk::SmartPointer<const Self> FREE::SetupOptimizationMetricThreadBase< TMonitor >::ConstPointer |
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 53 of file freSetupOptimizationMetricThreadBase.h.
| typedef long FREE::SetupOptimizationMetricThreadBase< TMonitor >::ThreadIDType |
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 55 of file freSetupOptimizationMetricThreadBase.h.
| typedef TMonitor FREE::SetupOptimizationMetricThreadBase< TMonitor >::MonitorType |
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 57 of file freSetupOptimizationMetricThreadBase.h.
| typedef MonitorType::ResultType FREE::SetupOptimizationMetricThreadBase< TMonitor >::ResultType |
Class containing the results of one adaptation evaluation /*depends on the monitored metric and therefore a template.
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 60 of file freSetupOptimizationMetricThreadBase.h.
typedef ProgressCtrlEvent< SetupOptimizationMetricThreadBase<TMonitor> > FREE::SetupOptimizationMetricThreadBase< TMonitor >::ProgressEventType [protected] |
Definition at line 102 of file freSetupOptimizationMetricThreadBase.h.
| FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase | ( | ) | [inline, protected] |
Definition at line 93 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_EvaluatedSessionProgressEvent, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_FailureComment, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_pMonitor, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ThreadID, FREE::NotificationEventBase::New(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::OnSessionProgress().

| FREE::SetupOptimizationMetricThreadBase< TMonitor >::~SetupOptimizationMetricThreadBase | ( | ) | [inline, protected, virtual] |
Definition at line 104 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_EvaluatedSessionProgressEvent, and FREE::ControllerCentral::RemoveOnProgressEvent().

| FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase | ( | const Self & | ) | [private] |
| virtual const char* FREE::SetupOptimizationMetricThreadBase< TMonitor >::GetNameOfClass | ( | ) | const [inline, virtual] |
Run-time type information (and related methods).
Reimplemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
Definition at line 63 of file freSetupOptimizationMetricThreadBase.h.
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetMonitor | ( | MonitorType * | pMonitor | ) | [inline] |
Sets the monitor of the thread
Definition at line 35 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_pMonitor, and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().

| SetupOptimizationMetricThreadBase< TMonitor >::ThreadIDType FREE::SetupOptimizationMetricThreadBase< TMonitor >::GetThreadID | ( | ) | const [inline] |
Definition at line 45 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ThreadID.
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetThreadID | ( | const ThreadIDType & | id | ) | [inline] |
Definition at line 53 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ThreadID, and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().

| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::Execute | ( | ) | [inline, virtual] |
Executes the thread. Reimpolement this function to change the execution behavior. The default handling requests a setup from the monitor and calls ProcessSetup as long there is work to do. After executing ProcessSetup() the m_Results contain the results for the setup, if the return value is true. Otherwise the return is false and the evaluation has failed. In the case of failure it will be notified via the monitor. If the processing was successfull, the results will be passed to the monitor.
Definition at line 63 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_pMonitor, FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_Results, throwExceptionMacro, and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().

| virtual bool FREE::SetupOptimizationMetricThreadBase< TMonitor >::ProcessSetup | ( | Setup * | pAdaptationSetup | ) | throw () [protected, pure 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.
| [in] | pAdaptationSetup | Pointer to the setup that should be evaluated. |
Implemented in FREE::AccuracySOMetricThread< VImageDimension >, FREE::ImageClassificationSOMetricThread< VImageDimension >, and FREE::ImageDifferenceSOMetricThread< VImageDimension >.
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex | ( | ) | [inline, protected] |
Definition at line 112 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ExecutionMutex.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::Execute(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetLowerClassThreshold(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetMonitor(), FREE::AccuracySOMetricThread< VImageDimension >::SetMovingPointsPath(), FREE::AccuracySOMetricThread< VImageDimension >::SetReferenceFieldPath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetReferenceImagePath(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetReferenceImagePath(), FREE::AccuracySOMetricThread< VImageDimension >::SetReferencePointsPath(), FREE::AccuracySOMetricThread< VImageDimension >::SetResultFieldPath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetResultImagePath(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetResultImagePath(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetThreadID(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetUpperClassThreshold(), and FREE::AccuracySOMetricThread< VImageDimension >::SetUseField().
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex | ( | ) | [inline, protected] |
Definition at line 120 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ExecutionMutex.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::Execute(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetLowerClassThreshold(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetMonitor(), FREE::AccuracySOMetricThread< VImageDimension >::SetMovingPointsPath(), FREE::AccuracySOMetricThread< VImageDimension >::SetReferenceFieldPath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetReferenceImagePath(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetReferenceImagePath(), FREE::AccuracySOMetricThread< VImageDimension >::SetReferencePointsPath(), FREE::AccuracySOMetricThread< VImageDimension >::SetResultFieldPath(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::SetResultImagePath(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetResultImagePath(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetThreadID(), FREE::ImageClassificationSOMetricThread< VImageDimension >::SetUpperClassThreshold(), and FREE::AccuracySOMetricThread< VImageDimension >::SetUseField().
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::OnSessionProgress | ( | const IDPath & | senderID, | |
| const ProgressCtrlEventBase::StatusID | status, | |||
| const std::string & | sComment, | |||
| SessionComponentCache * | pSender, | |||
| long | threadID | |||
| ) | [inline, protected] |
This method can be added to the progress events of the ControllerCentral to allow the thread to inform the monitor about any evaluation progress
Definition at line 128 of file freSetupOptimizationMetricThreadBase.txx.
References FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_pMonitor.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase().
| void FREE::SetupOptimizationMetricThreadBase< TMonitor >::operator= | ( | const Self & | ) | [private] |
ProgressEventType::Pointer FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_EvaluatedSessionProgressEvent [protected] |
Definition at line 103 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup(), FREE::ImageClassificationSOMetricThread< VImageDimension >::ProcessSetup(), FREE::AccuracySOMetricThread< VImageDimension >::ProcessSetup(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::~SetupOptimizationMetricThreadBase().
std::string FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_FailureComment [protected] |
Definition at line 113 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup(), FREE::ImageClassificationSOMetricThread< VImageDimension >::ProcessSetup(), FREE::AccuracySOMetricThread< VImageDimension >::ProcessSetup(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase().
ResultType FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_Results [protected] |
Definition at line 114 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::AccuracySOMetricThread< VImageDimension >::EvaluateField(), FREE::AccuracySOMetricThread< VImageDimension >::EvaluatePoints(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::EvaluateResult(), FREE::ImageClassificationSOMetricThread< VImageDimension >::EvaluateResult(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::Execute(), FREE::ImageDifferenceSOMetricThread< VImageDimension >::ProcessSetup(), FREE::ImageClassificationSOMetricThread< VImageDimension >::ProcessSetup(), and FREE::AccuracySOMetricThread< VImageDimension >::ProcessSetup().
ThreadIDType FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ThreadID [private] |
Definition at line 118 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::GetThreadID(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetThreadID(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase().
MonitorType* FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_pMonitor [private] |
Definition at line 120 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::Execute(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::OnSessionProgress(), FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetMonitor(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::SetupOptimizationMetricThreadBase().
itk::SimpleMutexLock FREE::SetupOptimizationMetricThreadBase< TMonitor >::m_ExecutionMutex [private] |
Responsible for locking the processing, to ensure no change of while thread is in Execution.
Definition at line 124 of file freSetupOptimizationMetricThreadBase.h.
Referenced by FREE::SetupOptimizationMetricThreadBase< TMonitor >::LockExecutionMutex(), and FREE::SetupOptimizationMetricThreadBase< TMonitor >::UnlockExecutionMutex().
1.5.3 written by Dimitri van Heesch,
© 1997-2000