ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage > Class Template Reference

A generic connected components filter that labels the objects in an artibitrary image. More...

#include <itkConnectedComponentFunctorImageFilter.h>

Inheritance diagram for itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >:
Collaboration diagram for itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef TFunctor FunctorType
typedef TInputImage::IndexType IndexType
typedef
Superclass::InputImagePointer 
InputImagePointer
typedef TInputImage InputImageType
typedef std::list< IndexTypeListType
typedef MaskImageType::Pointer MaskImagePointer
typedef TMaskImage MaskImageType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef TOutputImage::RegionType RegionType
typedef
ConnectedComponentFunctorImageFilter 
Self
typedef TInputImage::SizeType SizeType
typedef
ConnectedComponentImageFilter
< TInputImage, TOutputImage,
TMaskImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
 typedef (Concept::Convertible< unsigned long, OutputPixelType >) UnsignedLongConvertibleToOutputCheck
 typedef (Concept::Convertible< OutputPixelType, long >) OutputConvertibleToLongCheck
 typedef (Concept::Convertible< OutputPixelType, unsigned long >) OutputConvertibleToUnsignedLongCheck
 typedef (Concept::Convertible< OutputPixelType, unsigned int >) OutputConvertibleToUnsignedIntCheck
 typedef (Concept::EqualityComparable< OutputPixelType >) OutputEqualityComparableCheck
 typedef (Concept::EqualityComparable< InputPixelType >) InputEqualityComparableCheck
 typedef (Concept::SameDimension< InputImageDimension, ImageDimension >) SameDimensionCheck
 typedef (Concept::IncrementDecrementOperators< OutputPixelType >) OutputIncrementDecrementOperatorsCheck
FunctorTypeGetFunctor ()
const FunctorTypeGetFunctor () const
void SetFunctor (const FunctorType &functor)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

void GenerateData ()
 ConnectedComponentFunctorImageFilter ()
virtual ~ConnectedComponentFunctorImageFilter ()
 ConnectedComponentFunctorImageFilter (const Self &)

Protected Attributes

FunctorType m_Functor
typedef TOutputImage::PixelType OutputPixelType
typedef
TOutputImage::InternalPixelType 
OutputInternalPixelType
typedef TInputImage::PixelType InputPixelType
typedef
TInputImage::InternalPixelType 
InputInternalPixelType
typedef TMaskImage::PixelType MaskPixelType
static const unsigned int ImageDimension = TOutputImage::ImageDimension
static const unsigned int InputImageDimension = TInputImage::ImageDimension

Detailed Description

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
class itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >

A generic connected components filter that labels the objects in an artibitrary image.

ConnectedComponentFunctorImageFilter labels the objects in an arbitrary image. Each distinct object is assigned a unique label. The filter makes three passes through the image. The first pass initializes the output. The second pass labels each foreground pixel such that all the pixels associated with an object either have the same label or have had their labels entered into a equivalency table. The third pass through the image flattens the equivalency table such that all pixels for an object have the same label.

The functor specifies the criteria to join neighboring pixels. For example a simple intensity threshold difference might be used for scalar imagery.

The final object labels are in no particular order (and some object labels may not be used on the final objects). You can reorder the labels such that object labels are consecutive and sorted based on object size by passing the output of this filter to a RelabelComponentImageFilter.

See also:
ImageToImageFilter

Definition at line 54 of file itkConnectedComponentFunctorImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef SmartPointer< const Self > itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::ConstPointer
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TFunctor itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::FunctorType

Image typedef support

Definition at line 87 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TInputImage::IndexType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::IndexType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef Superclass::InputImagePointer itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::InputImagePointer
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TInputImage itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::InputImageType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TInputImage::InternalPixelType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::InputInternalPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 76 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TInputImage::PixelType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::InputPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Reimplemented in itk::ScalarConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 75 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef std::list< IndexType > itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::ListType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef MaskImageType::Pointer itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::MaskImagePointer
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TMaskImage itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::MaskImageType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TMaskImage::PixelType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::MaskPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 77 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TOutputImage itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::OutputImageType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TOutputImage::InternalPixelType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::OutputInternalPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 74 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TOutputImage::PixelType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::OutputPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 73 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef SmartPointer< Self > itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::Pointer
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TOutputImage::RegionType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::RegionType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef ConnectedComponentFunctorImageFilter itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::Self
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef TInputImage::SizeType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::SizeType
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
typedef ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage > itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::ConnectedComponentFunctorImageFilter ( ) [inline, protected]

End concept checking

Definition at line 158 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
virtual itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::~ConnectedComponentFunctorImageFilter ( ) [inline, protected, virtual]

End concept checking

Definition at line 159 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::ConnectedComponentFunctorImageFilter ( const Self ) [inline, protected]

End concept checking

Definition at line 160 of file itkConnectedComponentFunctorImageFilter.h.


Member Function Documentation

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
virtual::itk::LightObject::Pointer itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Reimplemented in itk::ScalarConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >, and itk::VectorConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
void itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::GenerateData ( ) [protected, virtual]

Standard pipeline method.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
FunctorType& itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::GetFunctor ( ) [inline]

Get the functor object. The functor is returned by reference. (Functors do not have to derive from itk::LightObject, so they do not necessarily have a reference count. So we cannot return a SmartPointer.)

Definition at line 119 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
const FunctorType& itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::GetFunctor ( ) const [inline]

Get the functor object. The functor is returned by reference. (Functors do not have to derive from itk::LightObject, so they do not necessarily have a reference count. So we cannot return a SmartPointer.)

Definition at line 120 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
virtual const char* itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::GetNameOfClass ( ) const [virtual]
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
static Pointer itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::New ( ) [static]
template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
void itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::SetFunctor ( const FunctorType functor) [inline]

Set the functor object. This replaces the current Functor with a copy of the specified Functor. This allows the user to specify a functor that has ivars set differently than the default functor. This method requires an operator!=() be defined on the functor (or the compiler's default implementation of operator!=() being appropriate).

Definition at line 129 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::EqualityComparable< OutputPixelType )

This class requires OutputEqualityComparableCheck in the form of ( Concept::EqualityComparable< OutputPixelType > )

Reimplemented in itk::ScalarConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::EqualityComparable< InputPixelType )

This class requires InputEqualityComparableCheck in the form of ( Concept::EqualityComparable< InputPixelType > )

Reimplemented in itk::ScalarConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::SameDimension< InputImageDimension, ImageDimension )

Begin concept checking This class requires SameDimensionCheck in the form of ( Concept::SameDimension< InputImageDimension, ImageDimension > )

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::Convertible< OutputPixelType, long >  )

This class requires OutputConvertibleToLongCheck in the form of ( Concept::Convertible< OutputPixelType, long > )

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::IncrementDecrementOperators< OutputPixelType )

This class requires OutputIncrementDecrementOperatorsCheck in the form of ( Concept::IncrementDecrementOperators< OutputPixelType > )

Reimplemented in itk::ScalarConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::Convertible< unsigned long, OutputPixelType )

This class requires UnsignedLongConvertibleToOutputCheck in the form of ( Concept::Convertible< unsigned long, OutputPixelType > )

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::Convertible< OutputPixelType, unsigned int >  )

This class requires OutputConvertibleToUnsignedIntCheck in the form of ( Concept::Convertible< OutputPixelType, unsigned int > )

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::typedef ( Concept::Convertible< OutputPixelType, unsigned long >  )

This class requires OutputConvertibleToUnsignedLongCheck in the form of ( Concept::Convertible< OutputPixelType, unsigned long > )


Member Data Documentation

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
const unsigned int itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::ImageDimension = TOutputImage::ImageDimension [static]

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 79 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
const unsigned int itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::InputImageDimension = TInputImage::ImageDimension [static]

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Reimplemented from itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >.

Definition at line 81 of file itkConnectedComponentFunctorImageFilter.h.

template<class TInputImage, class TOutputImage, class TFunctor, class TMaskImage = TInputImage>
FunctorType itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::m_Functor [protected]

Definition at line 163 of file itkConnectedComponentFunctorImageFilter.h.


The documentation for this class was generated from the following file: