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 | Private 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 >:

Data Structures

struct  ThreadStruct
 

Public Types

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

Public Member Functions

virtual void AfterThreadedGenerateData (void)
 
virtual void BeforeThreadedGenerateData (void)
 
void GenerateData (void) override
 
virtual const char * GetClassName () const
 
const InputImageTypeGetInput (unsigned int idx)
 
const InputImageTypeGetInput (void)
 
OutputVectorContainerTypeGetOutput (void)
 
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 (unsigned int idx)
 
OutputVectorContainerTypeGetOutput (void)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 
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
 
- Protected Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 VectorContainerSource ()
 
 ~VectorContainerSource () override
 

Private Member Functions

 ImageToVectorContainerFilter (const Self &)
 
void operator= (const Self &)
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 43 of file itkImageToVectorContainerFilter.h.

◆ DataObjectPointer

template<class TInputImage , class TOutputVectorContainer >
typedef Superclass::DataObjectPointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::DataObjectPointer

Typedefs inherited from the superclass.

Definition at line 52 of file itkImageToVectorContainerFilter.h.

◆ InputImageConstPointer

template<class TInputImage , class TOutputVectorContainer >
typedef InputImageType::ConstPointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImageConstPointer

Definition at line 59 of file itkImageToVectorContainerFilter.h.

◆ InputImagePixelType

template<class TInputImage , class TOutputVectorContainer >
typedef InputImageType::PixelType itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImagePixelType

Definition at line 61 of file itkImageToVectorContainerFilter.h.

◆ InputImagePointer

template<class TInputImage , class TOutputVectorContainer >
typedef InputImageType::Pointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImagePointer

Definition at line 58 of file itkImageToVectorContainerFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputVectorContainer >
typedef InputImageType::RegionType itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::InputImageRegionType

Definition at line 60 of file itkImageToVectorContainerFilter.h.

◆ InputImageType

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

Some Image related typedefs.

Definition at line 57 of file itkImageToVectorContainerFilter.h.

◆ OutputVectorContainerPointer

template<class TInputImage , class TOutputVectorContainer >
typedef Superclass::OutputVectorContainerPointer itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::OutputVectorContainerPointer

Definition at line 54 of file itkImageToVectorContainerFilter.h.

◆ OutputVectorContainerType

template<class TInputImage , class TOutputVectorContainer >
typedef Superclass::OutputVectorContainerType itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::OutputVectorContainerType

Definition at line 53 of file itkImageToVectorContainerFilter.h.

◆ Pointer

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

Definition at line 42 of file itkImageToVectorContainerFilter.h.

◆ Self

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

Standard ITK-stuff.

Definition at line 40 of file itkImageToVectorContainerFilter.h.

◆ Superclass

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

Definition at line 41 of file itkImageToVectorContainerFilter.h.

Constructor & Destructor Documentation

◆ ImageToVectorContainerFilter() [1/2]

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

The constructor.

◆ ~ImageToVectorContainerFilter()

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

The destructor.

Definition at line 175 of file itkImageToVectorContainerFilter.h.

◆ ImageToVectorContainerFilter() [2/2]

template<class TInputImage , class TOutputVectorContainer >
itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ImageToVectorContainerFilter ( const Self )
private

The private constructor.

Member Function Documentation

◆ AfterThreadedGenerateData()

template<class TInputImage , class TOutputVectorContainer >
virtual void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::AfterThreadedGenerateData ( void  )
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 149 of file itkImageToVectorContainerFilter.h.

◆ BeforeThreadedGenerateData()

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

◆ GenerateData()

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::GenerateData ( void  )
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 ( unsigned int  idx)

Get the input image of this process object.

◆ GetInput() [2/2]

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

Get the input image of this process object.

◆ GetOutput()

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

Get the output Mesh of this process object.

◆ 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.

◆ operator=()

template<class TInputImage , class TOutputVectorContainer >
void itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::operator= ( const Self )
private

The private copy constructor.

◆ 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()

◆ 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 1667476801 for elastix by doxygen 1.9.4 elastix logo