ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType > Class Template Reference

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

#include <itkHoughTransform2DCirclesImageFilter.h>

Inheritance diagram for itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >:
Collaboration diagram for itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >:

List of all members.

Public Types

typedef CircleType::Pointer CirclePointer
typedef CirclesListType::size_type CirclesListSizeType
typedef std::list< CirclePointerCirclesListType
typedef EllipseSpatialObject< 2 > CircleType
typedef SmartPointer< const SelfConstPointer
typedef InputImageType::IndexType IndexType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::Pointer InputImagePointer
typedef Image< TInputPixelType, 2 > InputImageType
typedef OutputImageType::Pointer OutputImagePointer
typedef InputImageType::RegionType OutputImageRegionType
typedef Image
< TOutputPixelType, 2 > 
OutputImageType
typedef InputImageType::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef
HoughTransform2DCirclesImageFilter 
Self
typedef ImageToImageFilter
< Image< TInputPixelType, 2 >
, Image< TOutputPixelType, 2 > > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
void GenerateData ()
CirclesListTypeGetCircles (unsigned int n=0)
virtual const char * GetNameOfClass () const
virtual OutputImageTypeGetRadiusImage ()
virtual double GetSigmaGradient () const
virtual double GetThreshold () const
virtual void SetMaximumRadius (double _arg)
virtual void SetMinimumRadius (double _arg)
void SetRadius (double radius)
virtual void SetSigmaGradient (double _arg)
virtual void SetThreshold (double _arg)
 typedef (Concept::DivisionOperators< TOutputPixelType, int >) OutputDividedByIntCheck
 typedef (Concept::GreaterThanComparable< PixelType, double >) InputGreaterThanDoubleCheck
 typedef (Concept::AdditiveOperators< TOutputPixelType, int >) OutputPlusIntCheck
 typedef (Concept::Convertible< int, TOutputPixelType >) IntConvertibleToOutputCheck
virtual void SetNumberOfCircles (unsigned int _arg)
virtual unsigned int GetNumberOfCircles () const
virtual void SetDiscRadiusRatio (float _arg)
virtual float GetDiscRadiusRatio () const
virtual void SetVariance (float _arg)
virtual float GetVariance () const
virtual void SetSweepAngle (float _arg)
virtual float GetSweepAngle () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

void EnlargeOutputRequestedRegion (DataObject *)
void GenerateInputRequestedRegion ()
 HoughTransform2DCirclesImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~HoughTransform2DCirclesImageFilter ()

Private Member Functions

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

Private Attributes

CirclesListType m_CirclesList
float m_DiscRadiusRatio
double m_MaximumRadius
double m_MinimumRadius
CirclesListSizeType m_NumberOfCircles
unsigned long m_OldModifiedTime
CirclesListSizeType m_OldNumberOfCircles
OutputImagePointer m_RadiusImage
double m_SigmaGradient
float m_SweepAngle
double m_Threshold
float m_Variance

Detailed Description

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

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

This filter derives from the base class ImageToImageFilter. The input is an image, and all pixels above some threshold are those we want to consider during the process.

This filter produces two output: 1) The accumulator array, which represents probability of centers. 2) The array or radii, which has the radius value at each coordinate point.

When the filter finds a "correct" point, it computes the gradient at this point and draws a regular narrow-banded circle using the minimum and maximum radius given by the user, and fills in the array of radii. The SweepAngle value can be adjusted to improve the segmentation.

Wiki Examples:

Definition at line 54 of file itkHoughTransform2DCirclesImageFilter.h.


Member Typedef Documentation

template<typename TInputPixelType , typename TOutputPixelType >
typedef CircleType::Pointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::CirclePointer

Definition at line 91 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef CirclesListType::size_type itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::CirclesListSizeType

Definition at line 94 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef std::list< CirclePointer > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::CirclesListType

Definition at line 92 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef EllipseSpatialObject< 2 > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::CircleType

Circle typedef

Definition at line 90 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef SmartPointer< const Self > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::ConstPointer
template<typename TInputPixelType , typename TOutputPixelType >
typedef InputImageType::IndexType itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::IndexType

Image index typedef

Definition at line 81 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef InputImageType::ConstPointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::InputImageConstPointer
template<typename TInputPixelType , typename TOutputPixelType >
typedef InputImageType::Pointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::InputImagePointer
template<typename TInputPixelType , typename TOutputPixelType >
typedef Image< TInputPixelType, 2 > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::InputImageType
template<typename TInputPixelType , typename TOutputPixelType >
typedef OutputImageType::Pointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::OutputImagePointer
template<typename TInputPixelType , typename TOutputPixelType >
typedef InputImageType::RegionType itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::OutputImageRegionType

Typedef to describe the output image region type.

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

Definition at line 87 of file itkHoughTransform2DCirclesImageFilter.h.

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

Output Image typedef

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

Definition at line 68 of file itkHoughTransform2DCirclesImageFilter.h.

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

Image pixel value typedef

Definition at line 84 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
typedef SmartPointer< Self > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::Pointer
template<typename TInputPixelType , typename TOutputPixelType >
typedef HoughTransform2DCirclesImageFilter itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::Self
template<typename TInputPixelType , typename TOutputPixelType >
typedef ImageToImageFilter< Image< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > > itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::Superclass

Constructor & Destructor Documentation

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

End concept checking

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

Definition at line 170 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::HoughTransform2DCirclesImageFilter ( const Self ) [private]

Member Function Documentation

template<typename TInputPixelType , typename TOutputPixelType >
virtual::itk::LightObject::Pointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::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<typename TInputPixelType , typename TOutputPixelType >
void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::EnlargeOutputRequestedRegion ( DataObject ) [protected, virtual]

HoughTransform2DCirclesImageFilter's produces all the output. Therefore, it must provide an implementation of EnlargeOutputRequestedRegion.

See also:
ProcessObject::EnlargeOutputRequestedRegion()

Reimplemented from itk::ProcessObject.

template<typename TInputPixelType , typename TOutputPixelType >
void itk::HoughTransform2DCirclesImageFilter< 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::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GenerateInputRequestedRegion ( ) [protected, virtual]
template<typename TInputPixelType , typename TOutputPixelType >
CirclesListType& itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetCircles ( unsigned int  n = 0)

Get the list of circles. This recomputes the circles

template<typename TInputPixelType , typename TOutputPixelType >
virtual float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetDiscRadiusRatio ( ) const [virtual]

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

template<typename TInputPixelType , typename TOutputPixelType >
virtual const char* itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetNameOfClass ( ) 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 unsigned int itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetNumberOfCircles ( ) const [virtual]

Set/Get the number of circles to extract

template<typename TInputPixelType , typename TOutputPixelType >
virtual OutputImageType* itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetRadiusImage ( ) [virtual]

Get the radius image

template<typename TInputPixelType , typename TOutputPixelType >
virtual double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetSigmaGradient ( ) const [virtual]

Get the scale value

template<typename TInputPixelType , typename TOutputPixelType >
virtual float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetSweepAngle ( ) const [virtual]

Set the sweep angle

template<typename TInputPixelType , typename TOutputPixelType >
virtual double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetThreshold ( ) const [virtual]

Get the threshold value

template<typename TInputPixelType , typename TOutputPixelType >
virtual float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::GetVariance ( ) const [virtual]

Set the variance of the gaussian bluring for the accumulator

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

Method for creation through the object factory.

Reimplemented from itk::Object.

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

template<typename TInputPixelType , typename TOutputPixelType >
void itk::HoughTransform2DCirclesImageFilter< 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::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetDiscRadiusRatio ( float  _arg) [virtual]

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

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetMaximumRadius ( double  _arg) [virtual]

Set the maximum radius value the filter should look for

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetMinimumRadius ( double  _arg) [virtual]

Set the minimum radiu value the filter should look for

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetNumberOfCircles ( unsigned int  _arg) [virtual]

Set/Get the number of circles to extract

template<typename TInputPixelType , typename TOutputPixelType >
void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetRadius ( double  radius)

Set both Minimum and Maximum radius values

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetSigmaGradient ( double  _arg) [virtual]

Set the scale of the derivative function (using DoG)

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetSweepAngle ( float  _arg) [virtual]

Set the sweep angle

template<typename TInputPixelType , typename TOutputPixelType >
virtual void itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetThreshold ( double  _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::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::SetVariance ( float  _arg) [virtual]

Set the variance of the gaussian bluring for the accumulator

template<typename TInputPixelType , typename TOutputPixelType >
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::typedef ( Concept::DivisionOperators< TOutputPixelType, int >  )

This class requires OutputDividedByIntCheck in the form of ( Concept::DivisionOperators< TOutputPixelType, int > )

template<typename TInputPixelType , typename TOutputPixelType >
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::typedef ( Concept::AdditiveOperators< TOutputPixelType, int >  )

This class requires OutputPlusIntCheck in the form of ( Concept::AdditiveOperators< TOutputPixelType, int > )

template<typename TInputPixelType , typename TOutputPixelType >
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::typedef ( Concept::Convertible< int, TOutputPixelType >  )

Begin concept checking This class requires IntConvertibleToOutputCheck in the form of ( Concept::Convertible< int, TOutputPixelType > )

template<typename TInputPixelType , typename TOutputPixelType >
itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::typedef ( Concept::GreaterThanComparable< PixelType, double >  )

This class requires InputGreaterThanDoubleCheck in the form of ( Concept::GreaterThanComparable< PixelType, double > )


Member Data Documentation

template<typename TInputPixelType , typename TOutputPixelType >
CirclesListType itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_CirclesList [private]

Definition at line 196 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_DiscRadiusRatio [private]

Definition at line 198 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_MaximumRadius [private]

Definition at line 191 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_MinimumRadius [private]

Definition at line 190 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
CirclesListSizeType itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_NumberOfCircles [private]

Definition at line 197 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
unsigned long itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_OldModifiedTime [private]

Definition at line 200 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
CirclesListSizeType itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_OldNumberOfCircles [private]

Definition at line 202 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
OutputImagePointer itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_RadiusImage [private]

Definition at line 195 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_SigmaGradient [private]

Definition at line 193 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_SweepAngle [private]

Definition at line 189 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
double itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_Threshold [private]

Definition at line 192 of file itkHoughTransform2DCirclesImageFilter.h.

template<typename TInputPixelType , typename TOutputPixelType >
float itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >::m_Variance [private]

Definition at line 199 of file itkHoughTransform2DCirclesImageFilter.h.


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