go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer > Class Template Reference

#include <itkImageToVectorContainerFilter.h>

Detailed Description

template<class TInputImage, class TOutputVectorContainer>
class itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >

Base class that takes in an image and pops out a vector container.

Definition at line 34 of file itkImageToVectorContainerFilter.h.

Inheritance diagram for itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >:
Inheritance graph
[legend]

Data Structures

struct  ThreadStruct
 

Public Types

using ConstPointer = SmartPointer< const Self >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer
 
using OutputVectorContainerType = TOutputVectorContainer
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToVectorContainerFilter
 
using Superclass = VectorContainerSource< TOutputVectorContainer >
 
- Public Types inherited from itk::VectorContainerSource< TOutputVectorContainer >
using ConstPointer = SmartPointer< const Self >
 
using OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer
 
using OutputVectorContainerType = TOutputVectorContainer
 
using Pointer = SmartPointer< Self >
 
using Self = VectorContainerSource
 
using Superclass = ProcessObject
 

Public Member Functions

virtual void AfterThreadedGenerateData ()
 
virtual void BeforeThreadedGenerateData ()
 
void GenerateData () override
 
virtual const char * GetClassName () const
 
const InputImageTypeGetInput ()
 
const InputImageTypeGetInput (unsigned int idx)
 
OutputVectorContainerTypeGetOutput ()
 
 ITK_DISALLOW_COPY_AND_MOVE (ImageToVectorContainerFilter)
 
DataObject::Pointer MakeOutput (unsigned int idx) override
 
void SetInput (const InputImageType *input)
 
void SetInput (unsigned int idx, const InputImageType *input)
 
virtual unsigned int SplitRequestedRegion (const ThreadIdType &threadId, const ThreadIdType &numberOfSplits, InputImageRegionType &splitRegion)
 
virtual void ThreadedGenerateData (const InputImageRegionType &inputRegionForThread, ThreadIdType threadId)
 
- Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
virtual const char * GetClassName () const
 
OutputVectorContainerTypeGetOutput ()
 
OutputVectorContainerTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 
 ITK_DISALLOW_COPY_AND_MOVE (VectorContainerSource)
 
virtual DataObjectPointer MakeOutput (unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 
- Static Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
static Pointer New ()
 

Protected Member Functions

 ImageToVectorContainerFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~ImageToVectorContainerFilter () override=default
 
- Protected Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 VectorContainerSource ()
 
 ~VectorContainerSource () override=default
 

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ConstPointer = SmartPointer<const Self>

Definition at line 43 of file itkImageToVectorContainerFilter.h.

◆ InputImageConstPointer

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImageConstPointer = typename InputImageType::ConstPointer

Definition at line 59 of file itkImageToVectorContainerFilter.h.

◆ InputImagePixelType

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 61 of file itkImageToVectorContainerFilter.h.

◆ InputImagePointer

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImagePointer = typename InputImageType::Pointer

Definition at line 58 of file itkImageToVectorContainerFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 60 of file itkImageToVectorContainerFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImageType = TInputImage

Some Image related typedefs.

Definition at line 57 of file itkImageToVectorContainerFilter.h.

◆ OutputVectorContainerPointer

template<class TInputImage , class TOutputVectorContainer >
using itk::VectorContainerSource< TOutputVectorContainer >::OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer

Definition at line 52 of file itkVectorContainerSource.h.

◆ OutputVectorContainerType

template<class TInputImage , class TOutputVectorContainer >
using itk::VectorContainerSource< TOutputVectorContainer >::OutputVectorContainerType = TOutputVectorContainer

Definition at line 51 of file itkVectorContainerSource.h.

◆ Pointer

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::Pointer = SmartPointer<Self>

Definition at line 42 of file itkImageToVectorContainerFilter.h.

◆ Self

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::Self = ImageToVectorContainerFilter

Standard ITK-stuff.

Definition at line 40 of file itkImageToVectorContainerFilter.h.

◆ Superclass

template<class TInputImage , class TOutputVectorContainer >
using itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::Superclass = VectorContainerSource<TOutputVectorContainer>

Definition at line 41 of file itkImageToVectorContainerFilter.h.

Constructor & Destructor Documentation

◆ ImageToVectorContainerFilter()

template<class TInputImage , class TOutputVectorContainer >
itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ImageToVectorContainerFilter ( )
protected

The constructor.

◆ ~ImageToVectorContainerFilter()

template<class TInputImage , class TOutputVectorContainer >
itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::~ImageToVectorContainerFilter ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ AfterThreadedGenerateData()

template<class TInputImage , class TOutputVectorContainer >
virtual void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::AfterThreadedGenerateData ( )
inlinevirtual

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented in itk::ImageSamplerBase< TInputImage >, itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >, and itk::ImageSamplerBase< TElastix >.

Definition at line 158 of file itkImageToVectorContainerFilter.h.

◆ BeforeThreadedGenerateData()

template<class TInputImage , class TOutputVectorContainer >
virtual void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::BeforeThreadedGenerateData ( )
inlinevirtual

◆ GenerateData()

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GenerateData ( )
override

Prepare the output. A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also
ThreadedGenerateData()

◆ GetClassName()

template<class TInputImage , class TOutputVectorContainer >
virtual const char * itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GetClassName ( ) const
virtual

◆ GetInput() [1/2]

template<class TInputImage , class TOutputVectorContainer >
const InputImageType * itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GetInput ( )

Get the input image of this process object.

◆ GetInput() [2/2]

template<class TInputImage , class TOutputVectorContainer >
const InputImageType * itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GetInput ( unsigned int  idx)

Get the input image of this process object.

◆ GetOutput()

template<class TInputImage , class TOutputVectorContainer >
OutputVectorContainerType * itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GetOutput ( )

Get the output Mesh of this process object.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TInputImage , class TOutputVectorContainer >
itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ITK_DISALLOW_COPY_AND_MOVE ( ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >  )

◆ MakeOutput()

template<class TInputImage , class TOutputVectorContainer >
DataObject::Pointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::MakeOutput ( unsigned int  idx)
overridevirtual

Create a valid output.

Reimplemented from itk::VectorContainerSource< TOutputVectorContainer >.

◆ New()

template<class TInputImage , class TOutputVectorContainer >
static Pointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

PrintSelf.

◆ SetInput() [1/2]

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::SetInput ( const InputImageType input)

Set the input image of this process object.

◆ SetInput() [2/2]

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::SetInput ( unsigned int  idx,
const InputImageType input 
)

Set the input image of this process object.

◆ SplitRequestedRegion()

template<class TInputImage , class TOutputVectorContainer >
virtual unsigned int itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::SplitRequestedRegion ( const ThreadIdType &  threadId,
const ThreadIdType &  numberOfSplits,
InputImageRegionType splitRegion 
)
virtual

Split the output's RequestedRegion into "numberOfSplits" pieces, returning region "i" as "splitRegion". This method is called "numberOfSplits" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the output RequestedRegion, i.e. return value is less than or equal to "numberOfSplits".

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputVectorContainer >
virtual void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ThreadedGenerateData ( const InputImageRegionType inputRegionForThread,
ThreadIdType  threadId 
)
virtual

If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).

See also
GenerateData(), SplitRequestedRegion()

Reimplemented in itk::ImageFullSampler< TInputImage >, itk::ImageFullSampler< elx::ImageSamplerBase< TElastix >::InputImageType >, itk::ImageRandomCoordinateSampler< TInputImage >, itk::ImageRandomCoordinateSampler< elx::ImageSamplerBase< TElastix >::InputImageType >, itk::ImageRandomSampler< TInputImage >, itk::ImageRandomSampler< elx::ImageSamplerBase< TElastix >::InputImageType >, itk::ImageRandomSamplerSparseMask< TInputImage >, and itk::ImageRandomSamplerSparseMask< elx::ImageSamplerBase< TElastix >::InputImageType >.

◆ ThreaderCallback()

template<class TInputImage , class TOutputVectorContainer >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ThreaderCallback ( void *  arg)
static

Static function used as a "callback" by the PlatformMultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGenerateData().



Generated on Wed 12 Apr 2023 for elastix by doxygen 1.9.6 elastix logo