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

Labels the pixels on the border of the objects in a labeled image. More...

#include <itkLabelContourImageFilter.h>

Inheritance diagram for itk::LabelContourImageFilter< TInputImage, TOutputImage >:
Collaboration diagram for itk::LabelContourImageFilter< TInputImage, TOutputImage >:

List of all members.

Classes

struct  RunLength

Public Types

typedef SmartPointer< const SelfConstPointer
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef InputImageType::IndexType InputIndexType
typedef InputImageType::OffsetType InputOffsetType
typedef InputImageType::PixelType InputPixelType
typedef InputImageType::SizeType InputSizeType
typedef
InputImageType::OffsetValueType 
OffsetValueType
typedef OutputImageType::PixelType OutputImagePixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage OutputImageType
typedef OutputImageType::IndexType OutputIndexType
typedef OutputImageType::OffsetType OutputOffsetType
typedef OutputImageType::RegionType OutputRegionType
typedef OutputImageType::SizeType OutputSizeType
typedef SmartPointer< SelfPointer
typedef LabelContourImageFilter Self
typedef
InputImageType::SizeValueType 
SizeValueType
typedef InPlaceImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
 typedef (Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) >) SameDimension
virtual void SetFullyConnected (bool _arg)
virtual const bool & GetFullyConnected ()
virtual void FullyConnectedOn ()
virtual void FullyConnectedOff ()
virtual void SetBackgroundValue (OutputImagePixelType _arg)
virtual OutputImagePixelType GetBackgroundValue () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TOutputImage::ImageDimension
static const unsigned int InputImageDimension = TInputImage::ImageDimension
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension

Protected Member Functions

void AfterThreadedGenerateData ()
void BeforeThreadedGenerateData ()
void EnlargeOutputRequestedRegion (DataObject *)
void GenerateInputRequestedRegion ()
 LabelContourImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputRegionType &outputRegionForThread, ThreadIdType threadId)
virtual ~LabelContourImageFilter ()

Private Types

typedef
LineEncodingType::const_iterator 
LineEncodingConstIterator
typedef LineEncodingType::iterator LineEncodingIterator
typedef std::vector< RunLengthLineEncodingType
typedef std::vector
< LineEncodingType
LineMapType
typedef
OffsetVectorType::const_iterator 
OffsetVectorConstIterator
typedef std::vector
< OffsetValueType
OffsetVectorType

Private Member Functions

bool CheckNeighbors (const OutputIndexType &A, const OutputIndexType &B) const
void CompareLines (LineEncodingType &current, const LineEncodingType &Neighbour)
 LabelContourImageFilter (const Self &)
void operator= (const Self &)
void SetupLineOffsets (OffsetVectorType &LineOffsets)
void Wait ()

Private Attributes

OutputImagePixelType m_BackgroundValue
Barrier::Pointer m_Barrier
bool m_FullyConnected
LineMapType m_LineMap
ThreadIdType m_NumberOfThreads

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::LabelContourImageFilter< TInputImage, TOutputImage >

Labels the pixels on the border of the objects in a labeled image.

LabelContourImageFilter takes a labeled image as input, where the pixels in the objects are the pixels with a value different of the BackgroundValue. Only the pixels on the contours of the objects are kept. The pixels not on the border are changed to BackgroundValue. The labels of the object are the same in the input and in the output image.

The connectivity can be changed to minimum or maximum connectivity with SetFullyConnected(). Full connectivity produces thicker contours.

http://hdl.handle.net/1926/1352

Author:
Gaetan Lehmann. Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France.
See also:
BinaryContourImageFilter
Wiki Examples:

Definition at line 56 of file itkLabelContourImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::LabelContourImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputImagePixelType
template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputImagePointer
template<class TInputImage , class TOutputImage >
typedef TInputImage itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputImageType

Image typedef support

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

Definition at line 91 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::IndexType itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputIndexType

Definition at line 100 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::OffsetType itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputOffsetType

Definition at line 102 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 106 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType itk::LabelContourImageFilter< TInputImage, TOutputImage >::InputSizeType

Definition at line 101 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef LineEncodingType::const_iterator itk::LabelContourImageFilter< TInputImage, TOutputImage >::LineEncodingConstIterator [private]

Definition at line 183 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef LineEncodingType::iterator itk::LabelContourImageFilter< TInputImage, TOutputImage >::LineEncodingIterator [private]

Definition at line 182 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef std::vector< RunLength > itk::LabelContourImageFilter< TInputImage, TOutputImage >::LineEncodingType [private]

Definition at line 181 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef std::vector< LineEncodingType > itk::LabelContourImageFilter< TInputImage, TOutputImage >::LineMapType [private]

Definition at line 189 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::OffsetValueType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OffsetValueType

Definition at line 105 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OffsetVectorType::const_iterator itk::LabelContourImageFilter< TInputImage, TOutputImage >::OffsetVectorConstIterator [private]

Definition at line 186 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef std::vector< OffsetValueType > itk::LabelContourImageFilter< TInputImage, TOutputImage >::OffsetVectorType [private]

Definition at line 185 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputImagePixelType
template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputImagePointer
template<class TInputImage , class TOutputImage >
typedef TOutputImage itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputImageType

Superclass typedefs.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

Definition at line 108 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::IndexType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputIndexType

Definition at line 111 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::OffsetType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputOffsetType

Definition at line 113 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputRegionType

Definition at line 110 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::SizeType itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputSizeType

Definition at line 112 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::LabelContourImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef LabelContourImageFilter itk::LabelContourImageFilter< TInputImage, TOutputImage >::Self

Standard "Self" & Superclass typedef.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

Definition at line 63 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeValueType itk::LabelContourImageFilter< TInputImage, TOutputImage >::SizeValueType

Definition at line 104 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InPlaceImageFilter< TInputImage, TOutputImage > itk::LabelContourImageFilter< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::LabelContourImageFilter< TInputImage, TOutputImage >::LabelContourImageFilter ( ) [protected]
template<class TInputImage , class TOutputImage >
virtual itk::LabelContourImageFilter< TInputImage, TOutputImage >::~LabelContourImageFilter ( ) [inline, protected, virtual]

Definition at line 138 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
itk::LabelContourImageFilter< TInputImage, TOutputImage >::LabelContourImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::AfterThreadedGenerateData ( void  ) [protected, virtual]

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 from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( ) [protected, virtual]

Standard pipeline methods.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
bool itk::LabelContourImageFilter< TInputImage, TOutputImage >::CheckNeighbors ( const OutputIndexType A,
const OutputIndexType B 
) const [private]
template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::CompareLines ( LineEncodingType current,
const LineEncodingType Neighbour 
) [private]
template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer itk::LabelContourImageFilter< TInputImage, TOutputImage >::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::Object.

template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject ) [protected, virtual]

LabelContourImageFilter will produce all of the output. Therefore it must provide an implementation of EnlargeOutputRequestedRegion().

See also:
ProcessObject::EnlargeOutputRequestedRegion()

Reimplemented from itk::ProcessObject.

template<class TInputImage , class TOutputImage >
virtual void itk::LabelContourImageFilter< TInputImage, TOutputImage >::FullyConnectedOff ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff.

Note:
For objects that are 1 pixel wide, use FullyConnectedOn.
template<class TInputImage , class TOutputImage >
virtual void itk::LabelContourImageFilter< TInputImage, TOutputImage >::FullyConnectedOn ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff.

Note:
For objects that are 1 pixel wide, use FullyConnectedOn.
template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( ) [protected, virtual]

LabelContourImageFilter needs the entire input. Therefore it must provide an implementation GenerateInputRequestedRegion().

See also:
ProcessObject::GenerateInputRequestedRegion().

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual OutputImagePixelType itk::LabelContourImageFilter< TInputImage, TOutputImage >::GetBackgroundValue ( ) const [virtual]

Set/Get the background value used to identify the objects and mark the pixels not on the border of the objects.

template<class TInputImage , class TOutputImage >
virtual const bool& itk::LabelContourImageFilter< TInputImage, TOutputImage >::GetFullyConnected ( ) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff.

Note:
For objects that are 1 pixel wide, use FullyConnectedOn.
template<class TInputImage , class TOutputImage >
virtual const char* itk::LabelContourImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods)

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
static Pointer itk::LabelContourImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual void itk::LabelContourImageFilter< TInputImage, TOutputImage >::SetBackgroundValue ( OutputImagePixelType  _arg) [virtual]

Set/Get the background value used to identify the objects and mark the pixels not on the border of the objects.

template<class TInputImage , class TOutputImage >
virtual void itk::LabelContourImageFilter< TInputImage, TOutputImage >::SetFullyConnected ( bool  _arg) [virtual]

Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff.

Note:
For objects that are 1 pixel wide, use FullyConnectedOn.
template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::SetupLineOffsets ( OffsetVectorType LineOffsets) [private]
template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, 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 from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
itk::LabelContourImageFilter< TInputImage, TOutputImage >::typedef ( Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) >  )
template<class TInputImage , class TOutputImage >
void itk::LabelContourImageFilter< TInputImage, TOutputImage >::Wait ( ) [private]

Member Data Documentation

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

Definition at line 79 of file itkLabelContourImageFilter.h.

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

ImageDimension constants

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

Definition at line 84 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
OutputImagePixelType itk::LabelContourImageFilter< TInputImage, TOutputImage >::m_BackgroundValue [private]

Definition at line 192 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
Barrier::Pointer itk::LabelContourImageFilter< TInputImage, TOutputImage >::m_Barrier [private]

Definition at line 205 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
bool itk::LabelContourImageFilter< TInputImage, TOutputImage >::m_FullyConnected [private]

Definition at line 194 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
LineMapType itk::LabelContourImageFilter< TInputImage, TOutputImage >::m_LineMap [private]

Definition at line 191 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
ThreadIdType itk::LabelContourImageFilter< TInputImage, TOutputImage >::m_NumberOfThreads [private]

Reimplemented from itk::ProcessObject.

Definition at line 193 of file itkLabelContourImageFilter.h.

template<class TInputImage , class TOutputImage >
const unsigned int itk::LabelContourImageFilter< TInputImage, TOutputImage >::OutputImageDimension = TOutputImage::ImageDimension [static]

ImageDimension constants

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

Definition at line 87 of file itkLabelContourImageFilter.h.


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