ITK  4.1.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::BinaryContourImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <itkBinaryContourImageFilter.h>

+ Inheritance diagram for itk::BinaryContourImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for itk::BinaryContourImageFilter< TInputImage, TOutputImage >:

List of all members.

Classes

struct  runLength

Public Types

typedef SmartPointer< const SelfConstPointer
typedef InputImageType::IndexType IndexType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::Pointer InputImagePointer
typedef TInputImage InputImageType
typedef
InputImageType::InternalPixelType 
InputInternalPixelType
typedef InputImageType::OffsetType OffsetType
typedef OutputImageType::PixelType OutputImagePixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage OutputImageType
typedef OutputImageType::IndexType OutputIndexType
typedef
OutputImageType::InternalPixelType 
OutputInternalPixelType
typedef OutputImageType::OffsetType OutputOffsetType
typedef OutputImageType::SizeType OutputSizeType
typedef SmartPointer< SelfPointer
typedef OutputImageType::RegionType RegionType
typedef BinaryContourImageFilter Self
typedef InputImageType::SizeType SizeType
typedef InPlaceImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
 typedef (Concept::SameDimension< itkGetStaticConstMacro(ImageDimension), 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
virtual void SetForegroundValue (InputImagePixelType _arg)
virtual InputImagePixelType GetForegroundValue () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = OutputImageType::ImageDimension
static const unsigned int InputImageDimension = InputImageType::ImageDimension

Protected Member Functions

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

Private Types

typedef
LineEncodingType::const_iterator 
LineEncodingConstIterator
typedef LineEncodingType::iterator LineEncodingIterator
typedef std::vector< runLengthLineEncodingType
typedef std::vector
< LineEncodingType
LineMapType
typedef std::vector
< OffsetValueType
OffsetVec

Private Member Functions

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

Private Attributes

LineMapType m_BackgroundLineMap
OutputImagePixelType m_BackgroundValue
Barrier::Pointer m_Barrier
LineMapType m_ForegroundLineMap
InputImagePixelType m_ForegroundValue
bool m_FullyConnected
ThreadIdType m_NumberOfThreads

Detailed Description

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

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

BinaryContourImageFilter takes a binary image as input, where the pixels in the objects are the pixels with a value equal to ForegroundValue. Only the pixels on the contours of the objects are kept. The pixels not on the border are changed to BackgroundValue.

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:
LabelContourImageFilter BinaryErodeImageFilter SimpleContourExtractorImageFilter
Wiki Examples:

Definition at line 54 of file itkBinaryContourImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::BinaryContourImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::IndexType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::IndexType

Definition at line 82 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::ConstPointer itk::BinaryContourImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::InputImagePixelType
template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer itk::BinaryContourImageFilter< TInputImage, TOutputImage >::InputImagePointer
template<class TInputImage , class TOutputImage >
typedef TInputImage itk::BinaryContourImageFilter< TInputImage, TOutputImage >::InputImageType

Image typedef support

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

Definition at line 74 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::InternalPixelType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::InputInternalPixelType

Definition at line 86 of file itkBinaryContourImageFilter.h.

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

Definition at line 184 of file itkBinaryContourImageFilter.h.

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

Definition at line 183 of file itkBinaryContourImageFilter.h.

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

Definition at line 182 of file itkBinaryContourImageFilter.h.

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

Definition at line 187 of file itkBinaryContourImageFilter.h.

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

Definition at line 84 of file itkBinaryContourImageFilter.h.

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

Definition at line 189 of file itkBinaryContourImageFilter.h.

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

Superclass typedefs.

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

Definition at line 88 of file itkBinaryContourImageFilter.h.

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

Definition at line 91 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::InternalPixelType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::OutputInternalPixelType

Definition at line 95 of file itkBinaryContourImageFilter.h.

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

Definition at line 93 of file itkBinaryContourImageFilter.h.

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

Definition at line 92 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::BinaryContourImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::RegionType

Definition at line 90 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef BinaryContourImageFilter itk::BinaryContourImageFilter< TInputImage, TOutputImage >::Self

Standard "Self" & Superclass typedef.

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

Definition at line 61 of file itkBinaryContourImageFilter.h.

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

Definition at line 83 of file itkBinaryContourImageFilter.h.

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

Constructor & Destructor Documentation

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

Definition at line 140 of file itkBinaryContourImageFilter.h.

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

Member Function Documentation

template<class TInputImage , class TOutputImage >
void itk::BinaryContourImageFilter< 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::BinaryContourImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( ) [protected, virtual]

Standard pipeline methods.

Reimplemented from itk::ImageSource< TOutputImage >.

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

BinaryContourImageFilter 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::BinaryContourImageFilter< 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. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage >
virtual void itk::BinaryContourImageFilter< 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. For objects that are 1 pixel wide, use FullyConnectedOn.

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

BinaryContourImageFilter 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::BinaryContourImageFilter< TInputImage, TOutputImage >::GetBackgroundValue ( ) const [virtual]

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

template<class TInputImage , class TOutputImage >
virtual InputImagePixelType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::GetForegroundValue ( ) const [virtual]

Set/Get the foreground value used to identify the objects in the input and output images.

template<class TInputImage , class TOutputImage >
virtual const bool& itk::BinaryContourImageFilter< 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. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage >
virtual const char* itk::BinaryContourImageFilter< 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::BinaryContourImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage >
void itk::BinaryContourImageFilter< 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::BinaryContourImageFilter< 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::BinaryContourImageFilter< TInputImage, TOutputImage >::SetBackgroundValue ( OutputImagePixelType  _arg) [virtual]

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

template<class TInputImage , class TOutputImage >
virtual void itk::BinaryContourImageFilter< TInputImage, TOutputImage >::SetForegroundValue ( InputImagePixelType  _arg) [virtual]

Set/Get the foreground value used to identify the objects in the input and output images.

template<class TInputImage , class TOutputImage >
virtual void itk::BinaryContourImageFilter< 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. For objects that are 1 pixel wide, use FullyConnectedOn.

template<class TInputImage , class TOutputImage >
void itk::BinaryContourImageFilter< TInputImage, TOutputImage >::SetupLineOffsets ( OffsetVec LineOffsets) [private]
template<class TInputImage , class TOutputImage >
void itk::BinaryContourImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const RegionType 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::BinaryContourImageFilter< TInputImage, TOutputImage >::typedef ( Concept::SameDimension< itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(OutputImageDimension) >  )

This class requires SameDimension in the form of ( Concept::SameDimension< itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(OutputImageDimension) > )

template<class TInputImage , class TOutputImage >
void itk::BinaryContourImageFilter< TInputImage, TOutputImage >::Wait ( ) [private]

Member Data Documentation

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

Definition at line 98 of file itkBinaryContourImageFilter.h.

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

ImageDimension constants

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

Definition at line 102 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
LineMapType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::m_BackgroundLineMap [private]

Definition at line 204 of file itkBinaryContourImageFilter.h.

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

Definition at line 208 of file itkBinaryContourImageFilter.h.

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

Definition at line 201 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
LineMapType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::m_ForegroundLineMap [private]

Definition at line 203 of file itkBinaryContourImageFilter.h.

template<class TInputImage , class TOutputImage >
InputImagePixelType itk::BinaryContourImageFilter< TInputImage, TOutputImage >::m_ForegroundValue [private]

Definition at line 207 of file itkBinaryContourImageFilter.h.

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

Definition at line 209 of file itkBinaryContourImageFilter.h.

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

Reimplemented from itk::ProcessObject.

Definition at line 205 of file itkBinaryContourImageFilter.h.


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