28#ifndef itkImageSource_h
29#define itkImageSource_h
66template <
typename TOutputImage>
96 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
175 lastFilterInMiniPipeline->GraftOutput( this->GetOutput() );
178 lastFilterInMiniPipeline->Update();
182 this->GraftOutput( lastFilterInMiniPipeline->GetOutput() );
185 * For proper pipeline execution, a filter
using a mini-pipeline
186 * must implement the GenerateInputRequestedRegion(),
187 * GenerateOutputRequestedRegion(), GenerateOutputInformation() and
188 * EnlargeOutputRequestedRegion() methods as necessary to reflect
189 * how the mini-pipeline will execute (in other words, the outer
190 * filter's pipeline mechanism must be consistent with what the
191 * mini-pipeline will do).
252 GenerateData() override;
326 BeforeThreadedGenerateData()
402 itkGetConstMacro(DynamicMultiThreading,
bool);
403 itkSetMacro(DynamicMultiThreading,
bool);
404 itkBooleanMacro(DynamicMultiThreading);
407 bool m_DynamicMultiThreading{
true };
411#ifndef ITK_MANUAL_INSTANTIATION
412# include "itkImageSource.hxx"
Base class for all data objects in ITK.
SmartPointer< Self > Pointer
Divide an image region into several pieces.
Base class for all process objects that output image data.
OutputImageType * GetOutput()
const OutputImageType * GetOutput() const
typename OutputImageType::PixelType OutputImagePixelType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
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)
Superclass::DataObjectIdentifierType DataObjectIdentifierType
typename OutputImageType::Pointer OutputImagePointer
static const ImageRegionSplitterBase * GetGlobalDefaultSplitter()
Returns the default image region splitter.
virtual void AfterThreadedGenerateData()
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::DataObjectIdentifierType DataObjectIdentifierType
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT ProcessObject
unsigned int ThreadIdType
void(*)(void *) ThreadFunctionType
itk::ITK_THREAD_RETURN_TYPE ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
Secondary base class of ImageSource common between templates.
static const ImageRegionSplitterBase * GetGlobalDefaultSplitter()