[Insight-developers] VoronoiSegmentationImageFilter
Yinpeng Jin
yj76@columbia.edu
Mon, 21 Oct 2002 13:25:45 -0400
This is a multi-part message in MIME format.
------=_NextPart_000_001F_01C27905.5C590350
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The parameter settings might cause the segmenation fail.
(1) 100 seeds seems too less, usually, for 256 square image, 200 seems =
to be in general a better choice.
if you have larger image, use a relatively larger number.
(2) you can try to tune the MeanPercentError and VarPercentError, =
increase those two number means increasing the tolerance level for =
classification
if the number is too small, you might apply too strict restriction, so =
try some larger number, say: 0.3 for MeanPercent, and 3 for VarPercent.
(3) SetSteps(500) is usually too much, the iteration usually converge =
within ~10 iterations, you can SetSteps(0) to make it runs until =
converge.
(4) the a prior image is not a requirement for =
VoronoiSegmenationImageFilter to work, you can use it by setting Var and =
Mean by yourself, in that case, you don't have to have a input as a =
prior.
I am not sure what is the better way to doing this, we can discuss on =
this.
OutputBoundary gives the option of output a binary object or a binary =
boundary drawing. they are not exactly equivaulent (if you use your own =
method to find the boundary from the binary object, it might not be =
exactly the same as the boundary output from this filter, although they =
are very close).
thanks for the feedback.
yinpeng.
----- Original Message -----=20
From: Miller, James V (Research)=20
To: Insight-developers (E-mail)=20
Sent: Monday, October 21, 2002 12:26 PM
Subject: [Insight-developers] VoronoiSegmentationImageFilter
I am having problems getting the VoronoiSegmentation filter to produce =
any output. =20
itk::VoronoiSegmentationImageFilter<FloatImage, FloatImage>::Pointer
voronoi=3Ditk::VoronoiSegmentationImageFilter<FloatImage, =
FloatImage>::New();
voronoi->SetInput( original->GetOutput() );
voronoi->SetNumberOfSeeds( 100 );
voronoi->SetOutputBoundary( false );
voronoi->SetSteps( 500 );
voronoi->TakeAPrior( masker->GetOutput() );
voronoi->SetMeanPercentError(0.1);
voronoi->SetVarPercentError(1);
voronoi->Update();
=20
The filter churns for a while but the output image is blank.
(I have toggled the OutputBoundary flag but I get a blank image).
In terms of architecture, the prior image (used in TakeAPrior) is not =
one of the filter inputs, so the filter does operate properly in the =
pipeline.
Jim Miller=20
_____________________________________
Visualization & Computer Vision
GE Research
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301
millerjv@research.ge.com
james.miller@research.ge.com
(518) 387-4005, Dial Comm: 8*833-4005,=20
Cell: (518) 505-7065, Fax: (518) 387-6981=20
=20
------=_NextPart_000_001F_01C27905.5C590350
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3504.2500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>The parameter settings might cause the =
segmenation=20
fail.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>(1) 100 seeds seems too less, usually, =
for 256=20
square image, 200 seems to be in general a better choice.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>if you have larger image, use a =
relatively larger=20
number.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>(2) you can try to tune the =
MeanPercentError and=20
VarPercentError, increase those two number means increasing the =
tolerance level=20
for classification</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>if the number is too small, you might =
apply too=20
strict restriction, so try some larger number, say: 0.3 for MeanPercent, =
and 3=20
for VarPercent.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>(3) SetSteps(500) is usually too much, =
the=20
iteration usually converge within ~10 iterations, you can SetSteps(0) to =
make it=20
runs until converge.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>(4) the a prior image is not a =
requirement for=20
VoronoiSegmenationImageFilter to work, you can use it by setting Var and =
Mean by=20
yourself, in that case, you don't have to have a input as a =
prior.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I am not sure what is the better way to =
doing this,=20
we can discuss on this.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>OutputBoundary gives the option of =
output a binary=20
object or a binary boundary drawing. they are not exactly equivaulent =
(if you=20
use your own method to find the boundary from the binary object, it =
might not be=20
exactly the same as the boundary output from this filter, although they =
are very=20
close).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>thanks for the feedback.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>yinpeng.</FONT></DIV>
<DIV> </DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
<DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV=20
style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
<A href=3D"mailto:millerjv@crd.ge.com" =
title=3Dmillerjv@crd.ge.com>Miller, James V=20
(Research)</A> </DIV>
<DIV style=3D"FONT: 10pt arial"><B>To:</B> <A=20
href=3D"mailto:Insight-developers@public.kitware.com"=20
title=3DInsight-developers@public.kitware.com>Insight-developers =
(E-mail)</A>=20
</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Monday, October 21, 2002 =
12:26=20
PM</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Subject:</B> [Insight-developers]=20
VoronoiSegmentationImageFilter</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=3D794501816-21102002><FONT size=3D2>I am having =
problems getting=20
the VoronoiSegmentation filter to produce any output. =20
</FONT></SPAN></DIV>
<DIV class=3DSection1>
<P class=3DMsoNormal><FONT size=3D2> =20
itk::VoronoiSegmentationImageFilter<FloatImage,=20
FloatImage>::Pointer<BR> =20
voronoi=3Ditk::VoronoiSegmentationImageFilter<FloatImage,=20
FloatImage>::New();<BR> voronoi->SetInput(=20
original->GetOutput() );<BR> voronoi->SetNumberOfSeeds( =
100=20
);<BR> voronoi->SetOutputBoundary( false );<BR> =20
voronoi->SetSteps( 500 );<BR> voronoi->TakeAPrior(=20
masker->GetOutput() );<BR> =20
voronoi->SetMeanPercentError(0.1);<BR> =20
voronoi->SetVarPercentError(1);<BR> =20
voronoi->Update();<BR></FONT> </P>
<P class=3DMsoNormal><SPAN class=3D794501816-21102002><FONT =
size=3D2>The filter=20
churns for a while but the output image is blank.</FONT></SPAN></P>
<P class=3DMsoNormal><SPAN class=3D794501816-21102002><FONT =
size=3D2>(I have toggled=20
the OutputBoundary flag but I get a blank =
image).</FONT></SPAN></P>
<P class=3DMsoNormal><SPAN class=3D794501816-21102002><FONT =
size=3D2>In terms of=20
architecture, the prior image (used in TakeAPrior) is not one of the =
filter=20
inputs, so the filter does operate properly in the =
pipeline.</FONT></SPAN></P>
<P style=3D"MARGIN: 0in 0in 0pt"><B><SPAN=20
style=3D"COLOR: navy; FONT-FAMILY: 'Comic Sans MS'">Jim =
Miller</SPAN></B>=20
<BR><B><I><SPAN=20
style=3D"COLOR: red; FONT-FAMILY: Arial; FONT-SIZE: =
10pt">_____________________________________</SPAN></I></B><BR><EM><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Arial; FONT-SIZE: =
7.5pt">Visualization &=20
Computer Vision</SPAN></EM><I><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Arial; FONT-SIZE: =
7.5pt"><BR><EM>GE=20
Research</EM><BR><EM>Bldg. KW, Room C218B</EM><BR><EM>P.O. Box 8, =
Schenectady=20
NY 12301</EM><BR><BR></SPAN></I><EM><U><SPAN=20
style=3D"COLOR: blue; FONT-SIZE: 7.5pt"><A=20
=
href=3D"mailto:millerjv@research.ge.com">millerjv@research.ge.com</A></SP=
AN></U></EM></P>
<P style=3D"MARGIN: 0in 0in 0pt"><EM><U><SPAN=20
style=3D"COLOR: blue; FONT-SIZE: =
7.5pt">james.miller@research.ge.com</SPAN></U></EM><BR><I><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Arial; FONT-SIZE: 7.5pt">(518) =
387-4005,=20
Dial Comm: 8*833-4005, </SPAN></I><BR><I><SPAN=20
style=3D"COLOR: black; FONT-FAMILY: Arial; FONT-SIZE: 7.5pt">Cell: =
(518)=20
505-7065, Fax: (518) 387-6981</SPAN></I> </P>
<P class=3DMsoNormal> <?xml:namespace prefix =3D o ns =3D=20
"urn:schemas-microsoft-com:office:office" /><o:p></o:p></P></DIV>
<DIV> </DIV></BLOCKQUOTE></BODY></HTML>
------=_NextPart_000_001F_01C27905.5C590350--