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 33 of file itkImageToVectorContainerFilter.h.

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

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)
 
virtual void GenerateData (void)
 
virtual const char * GetClassName () const
 
const InputImageTypeGetInput (void)
 
const InputImageTypeGetInput (unsigned int idx)
 
OutputVectorContainerTypeGetOutput (void)
 
DataObject::Pointer MakeOutput (unsigned int idx)
 
void SetInput (unsigned int idx, const InputImageType *input)
 
void SetInput (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 >
OutputVectorContainerTypeGetOutput (void)
 
OutputVectorContainerTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 

Static Public Member Functions

static Pointer New ()
 
static ITK_THREAD_RETURN_TYPE 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
 
virtual ~ImageToVectorContainerFilter ()
 
- Protected Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
void PrintSelf (std::ostream &os, Indent indent) const
 
 VectorContainerSource ()
 
virtual ~VectorContainerSource ()
 

Private Member Functions

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

Member Typedef Documentation

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

Definition at line 42 of file itkImageToVectorContainerFilter.h.

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

Typedefs inherited from the superclass.

Definition at line 48 of file itkImageToVectorContainerFilter.h.

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

Definition at line 58 of file itkImageToVectorContainerFilter.h.

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

Definition at line 60 of file itkImageToVectorContainerFilter.h.

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

Definition at line 57 of file itkImageToVectorContainerFilter.h.

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

Definition at line 59 of file itkImageToVectorContainerFilter.h.

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

Some Image related typedefs.

Definition at line 56 of file itkImageToVectorContainerFilter.h.

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

Definition at line 53 of file itkImageToVectorContainerFilter.h.

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

Definition at line 52 of file itkImageToVectorContainerFilter.h.

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

Definition at line 41 of file itkImageToVectorContainerFilter.h.

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

Standard ITK-stuff.

Definition at line 39 of file itkImageToVectorContainerFilter.h.

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

Definition at line 40 of file itkImageToVectorContainerFilter.h.

Constructor & Destructor Documentation

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

The constructor.

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

The destructor.

Definition at line 174 of file itkImageToVectorContainerFilter.h.

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

The private constructor.

Member Function Documentation

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< TElastix >, and itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >.

Definition at line 148 of file itkImageToVectorContainerFilter.h.

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

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

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

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

Get the input image of this process object.

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

Get the input image of this process object.

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

Get the output Mesh of this process object.

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

Create a valid output.

Reimplemented from itk::VectorContainerSource< TOutputVectorContainer >.

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

Method for creation through the object factory.

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

The private copy constructor.

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

PrintSelf.

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.

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

Set the input image of this process object.

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

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()
template<class TInputImage, class TOutputVectorContainer>
static ITK_THREAD_RETURN_TYPE itk::ImageToVectorContainerFilter< TInputImage, TOutputVectorContainer >::ThreaderCallback ( void *  arg)
static

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



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo