Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType > Class Template Reference
[Image Feature Extraction Filters]

Performs the Hough Transform to find 2D straight lines in a 2D image. More...

#include <itkHoughTransform2DLinesImageFilter.h>

Inheritance diagram for itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >:

Inheritance graph
[legend]
Collaboration diagram for itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef HoughTransform2DLinesImageFilter Self
typedef Image< TInputPixelType, 2 > InputImageType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::ConstPointer InputImageConstPointer
typedef Image< TOutputPixelType, 2 > OutputImageType
typedef OutputImageType::Pointer OutputImagePointer
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef LineSpatialObject< 2 > LineType
typedef LineType::Pointer LinePointer
typedef std::list< LinePointerLinesListType
typedef LineType::LinePointType LinePointType
typedef ImageToImageFilter<
InputImageType, OutputImageType
Superclass
typedef InputImageType::IndexType IndexType
typedef InputImageType::PixelType PixelType
typedef InputImageType::RegionType OutputImageRegionType

Public Member Functions

virtual const char * GetClassName () const
void GenerateData ()
virtual void SetThreshold (float _arg)
virtual float GetThreshold ()
virtual void SetAngleResolution (float _arg)
virtual float GetAngleResolution ()
virtual void SetAngleAxisSize (unsigned int _arg)
virtual float GetAngleAxisSize ()
void Simplify (void)
virtual OutputImageTypeGetSimplifyAccumulator ()
LinesListTypeGetLines (unsigned int n=0)
virtual void SetNumberOfLines (unsigned int _arg)
virtual unsigned int GetNumberOfLines ()
virtual void SetDiscRadius (float _arg)
virtual float GetDiscRadius ()
virtual void SetVariance (float _arg)
virtual float GetVariance ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 HoughTransform2DLinesImageFilter ()
virtual ~HoughTransform2DLinesImageFilter ()
 HoughTransform2DLinesImageFilter (const Self &)
void operator= (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateInputRequestedRegion ()
void GenerateOutputInformation ()
void EnlargeOutputRequestedRegion (DataObject *output)

Detailed Description

template<typename TInputPixelType, typename TOutputPixelType>
class itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >

Performs the Hough Transform to find 2D straight lines in a 2D image.

This filter derives from ImageToImageFilter The input is an image, and all pixels above some threshold are those to be extracted. The output is the image of the accumulator. GetLines() returns a list of LinesSpatialObjects

Lines are parameterized in the form: R = x*cos(Teta)+y*sin(Teta) where R is the perpendicular distance from the origin and Teta the angle with the normal.

The output is the accumulator array: -The first dimension (X) represents the distance R from the corner to the line -The second dimension (Y) represents the angle between the X axis and the normal to the line.

The size of the array depends on the AngleAxisSize that could be set (500 by default) for the angle axis. The distance axis depends on the size of the diagonal of the input image.

See also:
LineSpatialObject

Definition at line 61 of file itkHoughTransform2DLinesImageFilter.h.


Member Typedef Documentation

template<typename TInputPixelType, typename TOutputPixelType>
typedef SmartPointer<const Self> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 80 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef InputImageType::IndexType itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::IndexType
 

Image index typedef Definition at line 92 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef InputImageType::ConstPointer itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::InputImageConstPointer
 

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 72 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef InputImageType::Pointer itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::InputImagePointer
 

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 71 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef Image<TInputPixelType,2> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::InputImageType
 

Input Image typedef

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 70 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef LineType::Pointer itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::LinePointer
 

Definition at line 84 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef LineType::LinePointType itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::LinePointType
 

Definition at line 86 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef std::list<LinePointer> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::LinesListType
 

Definition at line 85 of file itkHoughTransform2DLinesImageFilter.h.

Referenced by itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::operator=().

template<typename TInputPixelType, typename TOutputPixelType>
typedef LineSpatialObject<2> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::LineType
 

Line typedef Definition at line 83 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef OutputImageType::Pointer itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::OutputImagePointer
 

Reimplemented from itk::ImageSource< Image< TOutputPixelType, 2 > >.

Definition at line 76 of file itkHoughTransform2DLinesImageFilter.h.

Referenced by itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::operator=().

template<typename TInputPixelType, typename TOutputPixelType>
typedef InputImageType::RegionType itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::OutputImageRegionType
 

Typedef to describe the output image region type.

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 98 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef Image<TOutputPixelType,2> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::OutputImageType
 

Output Image typedef

Reimplemented from itk::ImageSource< Image< TOutputPixelType, 2 > >.

Definition at line 75 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef InputImageType::PixelType itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::PixelType
 

Image pixel value typedef Definition at line 95 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef SmartPointer<Self> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::Pointer
 

Smart pointer typedef support.

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 79 of file itkHoughTransform2DLinesImageFilter.h.

template<typename TInputPixelType, typename TOutputPixelType>
typedef HoughTransform2DLinesImageFilter itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::Self
 

Standard "Self" typedef.

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 67 of file itkHoughTransform2DLinesImageFilter.h.

Referenced by itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::~HoughTransform2DLinesImageFilter().

template<typename TInputPixelType, typename TOutputPixelType>
typedef ImageToImageFilter<InputImageType, OutputImageType> itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::Superclass
 

Standard "Superclass" typedef.

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 89 of file itkHoughTransform2DLinesImageFilter.h.


Constructor & Destructor Documentation

template<typename TInputPixelType, typename TOutputPixelType>
itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::HoughTransform2DLinesImageFilter  )  [protected]
 

template<typename TInputPixelType, typename TOutputPixelType>
virtual itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::~HoughTransform2DLinesImageFilter  )  [inline, protected, virtual]
 

Definition at line 159 of file itkHoughTransform2DLinesImageFilter.h.

References itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::Self.

template<typename TInputPixelType, typename TOutputPixelType>
itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::HoughTransform2DLinesImageFilter const Self  )  [inline, protected]
 

Definition at line 161 of file itkHoughTransform2DLinesImageFilter.h.


Member Function Documentation

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::EnlargeOutputRequestedRegion DataObject output  )  [protected, virtual]
 

HoughTransform2DLinesImageFilter must produce the entire output

Reimplemented from itk::ProcessObject.

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GenerateData  )  [virtual]
 

Method for evaluating the implicit function over the image.

Reimplemented from itk::ImageSource< Image< TOutputPixelType, 2 > >.

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GenerateInputRequestedRegion  )  [protected, virtual]
 

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

See also:
ProcessObject::GenerateInputRequestedRegion().

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GenerateOutputInformation  )  [protected, virtual]
 

HoughTransform2DLinesImageFilter's output is the accumulator array. The size of the output is a function of the size of the input and the AngleAxisSize. Since this output is a different size than the input, it must provide an implementation of GenerateOutputInformation.

See also:
ProcessObject::GenerateOutputRequestedRegion()

Reimplemented from itk::ProcessObject.

template<typename TInputPixelType, typename TOutputPixelType>
virtual float itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetAngleAxisSize  )  [virtual]
 

Get the resolution angle

template<typename TInputPixelType, typename TOutputPixelType>
virtual float itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetAngleResolution  )  [virtual]
 

Get the resolution angle

template<typename TInputPixelType, typename TOutputPixelType>
virtual const char* itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

template<typename TInputPixelType, typename TOutputPixelType>
virtual float itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetDiscRadius  )  [virtual]
 

Set/Get the radius of the disc to remove from the accumulator for each line found

template<typename TInputPixelType, typename TOutputPixelType>
LinesListType& itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetLines unsigned int  n = 0  ) 
 

Get the list of lines. This recomputes the lines

template<typename TInputPixelType, typename TOutputPixelType>
virtual unsigned int itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetNumberOfLines  )  [virtual]
 

Set/Get the number of lines to extract

template<typename TInputPixelType, typename TOutputPixelType>
virtual OutputImageType* itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetSimplifyAccumulator  )  [virtual]
 

Get the Simplified accumulator

template<typename TInputPixelType, typename TOutputPixelType>
virtual float itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetThreshold  )  [virtual]
 

Get the threshold value

template<typename TInputPixelType, typename TOutputPixelType>
virtual float itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::GetVariance  )  [virtual]
 

Set the variance of the gaussian bluring for the accumulator

template<typename TInputPixelType, typename TOutputPixelType>
Pointer itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::operator= const Self  )  [inline, protected]
 

Reimplemented from itk::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

Definition at line 162 of file itkHoughTransform2DLinesImageFilter.h.

References itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::LinesListType, and itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::OutputImagePointer.

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::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::ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >.

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetAngleAxisSize unsigned int  _arg  )  [virtual]
 

Set the angle axis size: This value determine the size (in Y) of the accumulator image

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetAngleResolution float  _arg  )  [virtual]
 

Set the resolution angle: The hough space descibes (in the angle direction) [-PI,PI[ with a constant stepe AngleResolution

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetDiscRadius float  _arg  )  [virtual]
 

Set/Get the radius of the disc to remove from the accumulator for each line found

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetNumberOfLines unsigned int  _arg  )  [virtual]
 

Set/Get the number of lines to extract

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetThreshold float  _arg  )  [virtual]
 

Set the threshold above which the filter should consider the point as a valid point

template<typename TInputPixelType, typename TOutputPixelType>
virtual void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::SetVariance float  _arg  )  [virtual]
 

Set the variance of the gaussian bluring for the accumulator

template<typename TInputPixelType, typename TOutputPixelType>
void itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >::Simplify void   ) 
 

Simplify the accumulator


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:55:17 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000