28#ifndef itkImageSource_h
29#define itkImageSource_h
66template <
typename TOutputImage>
402 itkGetConstMacro(DynamicMultiThreading,
bool);
403 itkSetMacro(DynamicMultiThreading,
bool);
404 itkBooleanMacro(DynamicMultiThreading);
410#ifndef ITK_MANUAL_INSTANTIATION
411# include "itkImageSource.hxx"
SmartPointer< Self > Pointer
ImageToImageFilter< InputImageType, RealImageType > Superclass
Divide an image region into several pieces.
OutputImageType * GetOutput()
const OutputImageType * GetOutput() const
ProcessObject::DataObjectPointer MakeOutput(const ProcessObject::DataObjectIdentifierType &) override
virtual void AllocateOutputs()
virtual void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread)
typename OutputImageType::PixelType OutputImagePixelType
SmartPointer< Self > Pointer
virtual void BeforeThreadedGenerateData()
virtual void ThreadedGenerateData(const OutputImageRegionType ®ion, ThreadIdType threadId)
typename OutputImageType::RegionType OutputImageRegionType
void ClassicMultiThread(ThreadFunctionType callbackFunction)
TOutputImage OutputImageType
~ImageSource() override=default
virtual unsigned int SplitRequestedRegion(unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion)
virtual const ImageRegionSplitterBase * GetImageRegionSplitter() const
Get the image splitter to split the image for multi-threading.
OutputImageType * GetOutput(unsigned int idx)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback(void *arg)
virtual void GraftOutput(DataObject *graft)
ProcessObject::DataObjectPointer MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx) override
Superclass::DataObjectIdentifierType DataObjectIdentifierType
DataObject::Pointer DataObjectPointer
bool m_DynamicMultiThreading
typename OutputImageType::Pointer OutputImagePointer
SmartPointer< const Self > ConstPointer
static constexpr unsigned int OutputImageDimension
static const ImageRegionSplitterBase * GetGlobalDefaultSplitter()
Returns the default image region splitter.
virtual void AfterThreadedGenerateData()
virtual void GraftNthOutput(unsigned int idx, DataObject *graft)
void GenerateData() override
virtual void GraftOutput(const DataObjectIdentifierType &key, DataObject *graft)
Superclass::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
void PrintSelf(std::ostream &os, Indent indent) const override
Control indentation during Print() invocation.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
DataObject::Pointer DataObjectPointer
DataObject::DataObjectIdentifierType DataObjectIdentifierType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
itk::ITK_THREAD_RETURN_TYPE ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
void(*)(void *) ThreadFunctionType
Secondary base class of ImageSource common between templates.
static const ImageRegionSplitterBase * GetGlobalDefaultSplitter()