[Insight-users] BinaryErodeImageFilter - strange behaviour
mailinglist at tus-wickrath.de
mailinglist at tus-wickrath.de
Mon Jan 2 13:56:47 EST 2006
Hi,
the behaviour of the "itkBinaryErodeImageFilter" depending on the size of the StructuringElementSize is quite strange, and I am not sure if this might be a problem with the filter of with my application.
I do use an BinaryBallStructuringElement with varying radius. While the filter works most of the times as expected, there is usually one stucturingelement-size inbetween, where the filter output is exactly like the input, although this result is obviously wrong.
For example:
The input (binary image) is of size 10x12, while the boundary lines/columns have only zero elements. Applying an structuring element with radius=3 causes that only one pixel unequal zero remains of the input image. Performing an erosion with radius=4,5,6 or radius=8,9,10 on the same input image causes logicaly that the ouput image contains only zero values. But performing an erosion with radius=7 produces an output image which is equal with the input.
The same happend by using an input image of size 37x25 and an structuring element with an radius of exactly 10.
Following a code fragment which is supposed to show roughly the main algorithm pipeline (it is pretty much like the example within the ITK Software Guide):
typedef itk::Image< unsigned int, 2 > BinaryMaskType;
typedef itk::BinaryBallStructuringElement<unsigned int, 2> MorphStructuringElementType;
typedef itk::BinaryErodeImageFilter<BinaryMaskType, BinaryMaskType, MorphStructuringElementType> ErodeFilterType;
ErodeFilterType::Pointer binaryErode = ErodeFilterType::New();
MorphStructuringElementType structuringElement;
for(int radius = 1; radius<15; radius++)
{
binaryErode->SetInput( bbMask );
structuringElement.SetRadius(radius);
structuringElement.CreateStructuringElement();
binaryErode->SetKernel( structuringElement );
binaryErode->Update();
// Now analyze the ouput...
}
Thanks a lot!
Jens.
More information about the Insight-users
mailing list