[Insight-users] radius computation in itkHoughTransform2DCirclesImageFilter

Carlos Santos csantos.incor at gmail.com
Tue Sep 18 16:26:32 EDT 2007


Hi all,

I am using itkHoughTransform2DCirclesImageFilter to detect circles in
a set of images. I am getting strange results where the computation of
the center of the circle seems to be normal but the radius is
overestimated sometimes. Could someone provide me with a reference for
the method used for radius computation (like some paper the
implementation is based on)?

For those acquainted with the code (or the Hough transform), I am
getting suspicious about the following lines in
"itkHoughTransform2DCirclesImageFilter.txx":

if(outputImage->GetRequestedRegion().IsInside( index ))
{
     outputImage->SetPixel(index, outputImage->GetPixel(index)+1);
     m_RadiusImage->SetPixel(index,
(m_RadiusImage->GetPixel(index)+distance)/2);
}


Context: the above section is inside a loop over the image pixels. For
each index, RadiusImage estimates the radius of a circle centered on
index, by averaging distances from index to points which are probably
over the circle edge. From the above, it seems that the iteration is
performed as:
    radius = (radius + distance)/2
which might give excessive weight to the last distances used in the
iteration. That is what I inferred from reading the code, thus I
wanted some reference to know for sure what is going on.

Thanks in advance.

Carlos


More information about the Insight-users mailing list