[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>&nbsp;</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>&nbsp;</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.&nbsp;=20
  </FONT></SPAN></DIV>
  <DIV class=3DSection1>
  <P class=3DMsoNormal><FONT size=3D2>&nbsp;=20
  itk::VoronoiSegmentationImageFilter&lt;FloatImage,=20
  FloatImage&gt;::Pointer<BR>&nbsp;&nbsp;&nbsp;=20
  voronoi=3Ditk::VoronoiSegmentationImageFilter&lt;FloatImage,=20
  FloatImage&gt;::New();<BR>&nbsp; voronoi-&gt;SetInput(=20
  original-&gt;GetOutput() );<BR>&nbsp; voronoi-&gt;SetNumberOfSeeds( =
100=20
  );<BR>&nbsp; voronoi-&gt;SetOutputBoundary( false );<BR>&nbsp;=20
  voronoi-&gt;SetSteps( 500 );<BR>&nbsp; voronoi-&gt;TakeAPrior(=20
  masker-&gt;GetOutput() );<BR>&nbsp;=20
  voronoi-&gt;SetMeanPercentError(0.1);<BR>&nbsp;=20
  voronoi-&gt;SetVarPercentError(1);<BR>&nbsp;=20
  voronoi-&gt;Update();<BR></FONT>&nbsp;</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&nbsp; 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 &amp;=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>&nbsp;<?xml:namespace prefix =3D o ns =3D=20
  "urn:schemas-microsoft-com:office:office" /><o:p></o:p></P></DIV>
  <DIV>&nbsp;</DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_001F_01C27905.5C590350--