18 #ifndef itkDomainThreader_h 19 #define itkDomainThreader_h 65 template<
typename TDomainPartitioner,
typename TAssociate >
76 typedef typename DomainPartitionerType::DomainType
DomainType;
88 void Execute( AssociateType * enclosingClass,
const DomainType & domain );
91 itkSetObjectMacro( DomainPartitioner, DomainPartitionerType );
92 itkGetModifiableObjectMacro(DomainPartitioner, DomainPartitionerType );
139 itkSetObjectMacro( MultiThreader, MultiThreader );
150 void operator=( const Self & ) ITK_DELETE_FUNCTION;
172 #ifndef ITK_MANUAL_INSTANTIATION 173 #include "itkDomainThreader.hxx" DomainThreader * domainThreader
virtual void BeforeThreadedExecution()
DomainType m_CompleteDomain
void StartThreadingSequence()
Multi-threaded processing on a domain by processing sub-domains per thread.
void SetMaximumNumberOfThreads(const ThreadIdType threads)
virtual void DetermineNumberOfThreadsUsed()
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
virtual void AfterThreadedExecution()
AssociateType * m_Associate
static ITK_THREAD_RETURN_TYPE ThreaderCallback(void *arg)
#define ITK_THREAD_RETURN_TYPE
DomainPartitionerType::DomainType DomainType
virtual ~DomainThreader()
TDomainPartitioner DomainPartitionerType
void Execute(AssociateType *enclosingClass, const DomainType &domain)
SmartPointer< Self > Pointer
DomainPartitionerType::Pointer m_DomainPartitioner
SmartPointer< const Self > ConstPointer
unsigned int ThreadIdType
ThreadIdType m_NumberOfThreadsUsed
ThreadIdType GetMaximumNumberOfThreads() const
MultiThreader::Pointer m_MultiThreader
virtual void ThreadedExecution(const DomainType &subdomain, const ThreadIdType threadId)=0
Base class for most ITK classes.
MultiThreader * GetMultiThreader() const