![]() |
ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkThreadedDomainPartitioner.h>
Virtual base class for partitioning a domain into subsets to be processed per thread when parallel processing.
TDomain | The type of the domain to be partitioned. |
PartitionDomain
is a method to split the domain into non-overlapping pieces for threading. It must be overridden by derived classes to provide the particular functionality required for TDomain
type.
Subclasses of this class are typically used as template arguments to a DomainThreader.
Definition at line 47 of file itkThreadedDomainPartitioner.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TDomain | DomainType |
typedef SmartPointer< Self > | Pointer |
typedef ThreadedDomainPartitioner | Self |
typedef Object | Superclass |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Public Member Functions | |
virtual const char * | GetNameOfClass () const |
virtual ThreadIdType | PartitionDomain (const ThreadIdType threadId, const ThreadIdType requestedTotal, const DomainType &completeDomain, DomainType &subDomain) const =0 |
![]() | |
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 |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary (void) |
const MetaDataDictionary & | GetMetaDataDictionary (void) const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () 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 |
![]() | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Protected Member Functions | |
ThreadedDomainPartitioner () | |
~ThreadedDomainPartitioner () | |
![]() | |
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 () |
![]() | |
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 () |
Private Member Functions | |
void | operator= (const Self &) |
ThreadedDomainPartitioner (const Self &) | |
Additional Inherited Members | |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
![]() | |
typedef int | InternalReferenceCountType |
![]() | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
typedef SmartPointer<const Self> itk::ThreadedDomainPartitioner< TDomain >::ConstPointer |
Definition at line 54 of file itkThreadedDomainPartitioner.h.
typedef TDomain itk::ThreadedDomainPartitioner< TDomain >::DomainType |
Type of the input object that's split for threading
Definition at line 57 of file itkThreadedDomainPartitioner.h.
typedef SmartPointer<Self> itk::ThreadedDomainPartitioner< TDomain >::Pointer |
Definition at line 53 of file itkThreadedDomainPartitioner.h.
typedef ThreadedDomainPartitioner itk::ThreadedDomainPartitioner< TDomain >::Self |
Standard class typedefs.
Definition at line 51 of file itkThreadedDomainPartitioner.h.
typedef Object itk::ThreadedDomainPartitioner< TDomain >::Superclass |
Definition at line 52 of file itkThreadedDomainPartitioner.h.
|
inlineprotected |
Definition at line 80 of file itkThreadedDomainPartitioner.h.
|
inlineprotected |
Definition at line 81 of file itkThreadedDomainPartitioner.h.
|
private |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Object.
Reimplemented in itk::ThreadedIteratorRangePartitioner< TIterator >, itk::ThreadedImageRegionPartitioner< VDimension >, and itk::ThreadedIndexedContainerPartitioner.
|
private |
|
pure virtual |
Split the domain completeDomain
into up to requestedTotal
non-overlapping subdomains, setting subdomain number threadId
as subDomain
and returning the total number of subdomains actually available.
Subdomains may represent an image region, or a index range for a parameter array, etc, depending on the type of object over which this class is templated.
This method should be called repeatedly for each value of threadId
, from 0 up to the return value (which is always less than or equal to requestedTotal
).