ITK
4.8.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 |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
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 |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () 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 override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) override |
virtual void | UnRegister () const noexceptoverride |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Protected Member Functions | |
ThreadedDomainPartitioner () | |
~ThreadedDomainPartitioner () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
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 Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
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
).