#include <freSetupOptimizationMultiThreadMetric.h>


Public Types | |
| typedef SetupOptimizationMultiThreadMetric < TMonitor, TThread > | Self |
| typedef SetupOptimizationMetric | Superclass |
| typedef itk::SmartPointer < Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
| typedef TMonitor | MonitorType |
| typedef MonitorType::Pointer | MonitorPointer |
| typedef TThread | ThreadType |
| typedef ThreadType::Pointer | ThreadPointer |
| typedef MonitorType::ResultType | EvaluationResultType |
Public Member Functions | |
| virtual const char * | GetNameOfClass () const |
| virtual void | SetNumberOfThreads (const long _arg) |
| virtual long | GetNumberOfThreads () |
Protected Types | |
| typedef std::vector < ThreadPointer > | ThreadListType |
Protected Member Functions | |
| SetupOptimizationMultiThreadMetric () | |
| virtual | ~SetupOptimizationMultiThreadMetric () |
| virtual DecomposedMeasureType | ComputeDecomposedValue (const ParametersType ¶meters) const |
| virtual void | InitializeValueComputation () const =0 |
| virtual void | InitializeMonitor (MonitorType &monitor) const =0 |
| virtual void | InitializeThread (ThreadType &thread) const =0 |
| virtual DecomposedMeasureType | ComputeMeasure (MonitorType &monitor) const =0 |
| void | OnMonitorEvaluationProgress (const long status, const std::string &sComment, void *pSender, long threadID) |
| void | OnMonitorEvaluationDone (const long status, const std::string &sComment, void *pSender, long threadID) |
| void | OnOnMonitorNextAdaptation (const long status, const std::string &sComment, void *pSender, long threadID) |
| void | OnOnMonitorEvaluationFailed (const long status, const std::string &sComment, void *pSender, long threadID) |
Static Protected Member Functions | |
| static ITK_THREAD_RETURN_TYPE | ThreadExecution (void *arg) |
Protected Attributes | |
| long | m_NumberOfThreads |
| ProgressEvent< Self > ::Pointer | fnOnMonitorEvaluationProgress |
| ProgressEvent< Self > ::Pointer | fnOnMonitorEvaluationDone |
| ProgressEvent< Self > ::Pointer | fnOnMonitorNextAdaptation |
| ProgressEvent< Self > ::Pointer | fnOnMonitorEvaluationFailed |
Private Member Functions | |
| SetupOptimizationMultiThreadMetric (const Self &) | |
| void | operator= (const Self &) |
SetupOptimizationMultiThreadMetric is used as base class for metrices that evaluate a setup by using multiple threads processing the adaptations simultaneously. To use this facility you have to specify a metric monitor with result type and a metric thread class that will do the evaluation for a single adaptation.
Definition at line 45 of file freSetupOptimizationMultiThreadMetric.h.
| typedef SetupOptimizationMultiThreadMetric<TMonitor, TThread> FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::Self |
Standard class typedefs.
Reimplemented from FREE::SetupOptimizationMetric.
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ConstrainedAccuracySOMetric< VImageDimension >, FREE::ConstrainedImageClassificationSOMetric< VImageDimension >, FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 50 of file freSetupOptimizationMultiThreadMetric.h.
| typedef SetupOptimizationMetric FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::Superclass |
Reimplemented from FREE::SetupOptimizationMetric.
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ConstrainedAccuracySOMetric< VImageDimension >, FREE::ConstrainedImageClassificationSOMetric< VImageDimension >, FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 51 of file freSetupOptimizationMultiThreadMetric.h.
| typedef itk::SmartPointer<Self> FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::Pointer |
Reimplemented from FREE::SetupOptimizationMetric.
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ConstrainedAccuracySOMetric< VImageDimension >, FREE::ConstrainedImageClassificationSOMetric< VImageDimension >, FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 52 of file freSetupOptimizationMultiThreadMetric.h.
| typedef itk::SmartPointer<const Self> FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ConstPointer |
Reimplemented from FREE::SetupOptimizationMetric.
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ConstrainedAccuracySOMetric< VImageDimension >, FREE::ConstrainedImageClassificationSOMetric< VImageDimension >, FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 53 of file freSetupOptimizationMultiThreadMetric.h.
| typedef TMonitor FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::MonitorType |
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 55 of file freSetupOptimizationMultiThreadMetric.h.
| typedef MonitorType::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::MonitorPointer |
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 56 of file freSetupOptimizationMultiThreadMetric.h.
| typedef TThread FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ThreadType |
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 57 of file freSetupOptimizationMultiThreadMetric.h.
| typedef ThreadType::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ThreadPointer |
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 58 of file freSetupOptimizationMultiThreadMetric.h.
| typedef MonitorType::ResultType FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::EvaluationResultType |
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 59 of file freSetupOptimizationMultiThreadMetric.h.
typedef std::vector<ThreadPointer> FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ThreadListType [protected] |
Definition at line 89 of file freSetupOptimizationMultiThreadMetric.h.
| FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::SetupOptimizationMultiThreadMetric | ( | ) | [inline, protected] |
Definition at line 105 of file freSetupOptimizationMultiThreadMetric.txx.
References FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationDone, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationFailed, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationProgress, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorNextAdaptation, and FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::m_NumberOfThreads.
| FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::~SetupOptimizationMultiThreadMetric | ( | ) | [inline, protected, virtual] |
Definition at line 117 of file freSetupOptimizationMultiThreadMetric.txx.
| FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::SetupOptimizationMultiThreadMetric | ( | const Self & | ) | [private] |
| virtual const char* FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::GetNameOfClass | ( | ) | const [inline, virtual] |
Run-time type information (and related methods).
Reimplemented from FREE::SetupOptimizationMetric.
Reimplemented in FREE::AccuracySOMetric< VImageDimension >, FREE::ConstrainedAccuracySOMetric< VImageDimension >, FREE::ConstrainedImageClassificationSOMetric< VImageDimension >, FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >, FREE::ImageClassificationSOMetric< VImageDimension >, and FREE::ImageDifferenceSOMetric< VImageDimension >.
Definition at line 62 of file freSetupOptimizationMultiThreadMetric.h.
| virtual void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::SetNumberOfThreads | ( | const long | _arg | ) | [inline, virtual] |
Definition at line 64 of file freSetupOptimizationMultiThreadMetric.h.
| virtual long FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::GetNumberOfThreads | ( | ) | [inline, virtual] |
Definition at line 65 of file freSetupOptimizationMultiThreadMetric.h.
| SetupOptimizationMultiThreadMetric< TMonitor, TThread >::DecomposedMeasureType FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ComputeDecomposedValue | ( | const ParametersType & | parameters | ) | const [inline, protected, virtual] |
Handles the metric value computation. Reimplement, if you want to alter the whole process. This version calls InitializeValueComputation(). Then the monitor will be created and all standard events end properties will be set. Afterwards InitializeMonitor() will be called. Followed by the creation of the threads. Every thread will be added to the thread list, gets an unique thread ID and the pointer to the monitor. For every thread InitializeThread will be called. Then the multi threading will be started. When all threads are finisched ComputeMeasure() will be called to compute the decomposed value via the results stored in the monitor.
Definition at line 33 of file freSetupOptimizationMultiThreadMetric.txx.
References catchAllNPassMacro, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ComputeMeasure(), FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationDone, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationFailed, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationProgress, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorNextAdaptation, FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeMonitor(), FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeThread(), FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeValueComputation(), FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::m_NumberOfThreads, FREE::SetupOptimizationMetric::m_smpAdaptations, FREE::SetupOptimizationMetric::m_Transform, and throwExceptionMacro.
Referenced by FREE::ConstrainedImageDifferenceSOMetric< VImageDimension >::ComputeDecomposedValue(), FREE::ConstrainedImageClassificationSOMetric< VImageDimension >::ComputeDecomposedValue(), and FREE::ConstrainedAccuracySOMetric< VImageDimension >::ComputeDecomposedValue().

| virtual void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeValueComputation | ( | ) | const [protected, pure virtual] |
| virtual void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeMonitor | ( | MonitorType & | monitor | ) | const [protected, pure virtual] |
| virtual void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::InitializeThread | ( | ThreadType & | thread | ) | const [protected, pure virtual] |
| virtual DecomposedMeasureType FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ComputeMeasure | ( | MonitorType & | monitor | ) | const [protected, pure virtual] |
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::OnMonitorEvaluationProgress | ( | const long | status, | |
| const std::string & | sComment, | |||
| void * | pSender, | |||
| long | threadID | |||
| ) | [inline, protected] |
Definition at line 124 of file freSetupOptimizationMultiThreadMetric.txx.
References FREE::SetupOptimizationMetric::fnOnEvaluationProgress.
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::OnMonitorEvaluationDone | ( | const long | status, | |
| const std::string & | sComment, | |||
| void * | pSender, | |||
| long | threadID | |||
| ) | [inline, protected] |
Definition at line 134 of file freSetupOptimizationMultiThreadMetric.txx.
References FREE::SetupOptimizationMetric::fnOnEvaluationDone.
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::OnOnMonitorNextAdaptation | ( | const long | status, | |
| const std::string & | sComment, | |||
| void * | pSender, | |||
| long | threadID | |||
| ) | [inline, protected] |
Definition at line 144 of file freSetupOptimizationMultiThreadMetric.txx.
References FREE::SetupOptimizationMetric::fnOnNextAdaptation.
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::OnOnMonitorEvaluationFailed | ( | const long | status, | |
| const std::string & | sComment, | |||
| void * | pSender, | |||
| long | threadID | |||
| ) | [inline, protected] |
Definition at line 154 of file freSetupOptimizationMultiThreadMetric.txx.
References FREE::SetupOptimizationMetric::fnOnEvaluationFailed.
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::ThreadExecution | ( | void * | arg | ) | [inline, static, protected] |
Definition at line 164 of file freSetupOptimizationMultiThreadMetric.txx.
References throwStaticExceptionMacro.
| void FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::operator= | ( | const Self & | ) | [private] |
Reimplemented from FREE::SetupOptimizationMetric.
long FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::m_NumberOfThreads [protected] |
ProgressEvent<Self>::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationProgress [protected] |
ProgressEvent<Self>::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationDone [protected] |
ProgressEvent<Self>::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorNextAdaptation [protected] |
ProgressEvent<Self>::Pointer FREE::SetupOptimizationMultiThreadMetric< TMonitor, TThread >::fnOnMonitorEvaluationFailed [protected] |
1.5.3 written by Dimitri van Heesch,
© 1997-2000