[Insight-users] using itkVoronoiSegmentationImageFilter ?

Yinpeng Jin yj76@columbia.edu
Mon, 21 Oct 2002 17:01:49 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_0045_01C27923.8B80DE50
Content-Type: text/plain;
	charset="ks_c_5601-1987"
Content-Transfer-Encoding: quoted-printable

VoronoiSegmenationImageFilter is a region-based classification, =
split-and-merge like algorithm.=20
you are perfectly right, it picks up all the similar color regions in =
whole image. It works well if you have multiple objects in the image to =
segment, it was used because SimpleFuzzyConnectedness can only pick up =
one connected component.
there is another version of FuzzyConnectedness, which is able to claim =
multiple objects (VectoriorFuzzyConnectedness)
And to use Deformable Models is definitedly a good idea,  actually, all =
those three methods had been tested for combining together to build a =
hybrid segmentation framework.
I bet Celina, Jay and Dimitris can explain the idea better, for your =
reference, please look at following paper in MICCAI 2001:
C. Imielinska, D. Metaxas, J. Udupa, Y.Jin and T. Chen, "Hybrid =
Segmentation Methods of Anatomical Data." Proceedings of The Fourth =
International Conference on Medical Image Computing and Computer =
Assisted Interventions (MICCAI 2001), pp. 1058-1066, October 2001, =
Utrecht Netherlands.=20


  ----- Original Message -----=20
  From: Seungbum Koo=20
  To: Yinpeng Jin=20
  Cc: insight-users@public.kitware.com=20
  Sent: Monday, October 21, 2002 4:51 PM
  Subject: Re: Re: [Insight-users] using =
itkVoronoiSegmentationImageFilter ?


  Hi,=20
  Thanks for the help. It worked and segmented but not as I expected. I =
don't understand well about VoronoiSegmentationImageFilter but it seems =
to segment all similar color regions in whole image as the seed region. =
I just wanted to find more exact boundary of that found using =
FuzzyConnectednessScalarFilter.=20
  Anyway I think the VoronoiSegmentationImageFilter worked fine. What do =
you think about using DeformableMeshFilter instead of =
VoronoiSegmentationImageFilter?=20

  regards=20
  Seungbum Koo=20

  > Title : Re: [Insight-users] using itkVoronoiSegmentationImageFilter =
?=20
  > Date : Sun, 20 Oct 2002 13:34:32 -0400=20
  > From : "Yinpeng Jin"=20
  > To : Seungbum Koo,=20
  >=20
  > if you use takeaprior, then you don't want to setMean and setVar, =
those two parameters will be calculated from the binary mask.=20
  > and=20
  > try to use=20
  > m_voronoiFilter->SetMeanPercentError(PERCENT);=20
  > m_voronoiFilter->SetVarPercentError(VARPERCENT);=20
  > in stead of=20
  > m_voronoiFilter->SetMeanTolerance(10);=20
  > m_voronoiFilter->SetVarTolerance(20);=20
  >=20
  > they are trying to manipulate the same parameter, but usually are =
more intuitive to figure.=20
  > the MeanPercentError could usually be set between 0.1 to 0.3=20
  > and the VarPercentError could be between 1 to 3. they don't depends =
on your pixel intensity range, while the MeanTolerance and VarTolerance =
usually do.=20
  > Also, you can first output your m_binaryImage to see if it is =
something reasonable. the VoronoisegmentationImagefilter will need =
something at least represents=20
  > parts of your target object as the a prior.=20
  > Try the above, and let me know what happens.=20
  > Yinpeng.=20
  >=20
  >=20
  >=20
  > ----- Original Message -----=20
  > From: Seungbum Koo=20
  > To: insight-users@public.kitware.com=20
  > Sent: Sunday, October 20, 2002 12:45 AM=20
  > Subject: [Insight-users] using itkVoronoiSegmentationImageFilter ?=20
  >=20
  >=20
  > Hi,=20
  >=20
  > I'm trying to use itkVoronoiSegmentationImageFilter combined with =
itkSimpleFuzzyConnectednessScalarImageFilter.=20
  >=20
  > I made a binary image from =
itkSimpleFuzzyConnectednessScalarImageFilter but I couldn't figure out =
how to set itkVoronoiSegmentationImageFilter variables. Here is my =
source code.=20
  >=20
  > =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20
  > m_voronoiFilter->SetInput(m_rawImageSource->GetOutput());=20
  > m_voronoiFilter->TakeAPrior(m_binaryImage);=20
  > m_voronoiFilter->SetMean(520);=20
  > m_voronoiFilter->SetVar(20);=20
  > m_voronoiFilter->SetMeanTolerance(10);=20
  > m_voronoiFilter->SetVarTolerance(20);=20
  > // m_voronoiFilter->SetNumberOfSeeds(400); // ??=20
  > m_voronoiFilter->SetSteps(5);=20
  > m_voronoiFilter->Update();=20
  > =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20
  >=20
  > m_binaryImage is calculated from m_rawImageSource and as I expected. =

  > But this code just makes a black image... all zeros.=20
  >   =20
             Seungbum Koo =20
              =20
          =20


      =20
        "=BF=EC=B8=AE =C0=CE=C5=CD=B3=DD, Daum" http://www.daum.net =
=A1=BA =C6=F2=BB=FD=BE=B2=B4=C2 =B9=AB=B7=E1 =C7=D1=B8=DE=C0=CF=B3=DD =
=A1=BB
      =20
             =BA=FC=B8=A3=B4=D9! =C6=ED=C7=CF=B4=D9! =
Daum=B8=DE=BD=C5=C0=FA
              =B8=C5=C0=CF=B8=C5=C0=CF =BE=B2=B0=ED =B0=E8=BD=C3=C1=D2?  =
 Daum=BF=A3=C5=CD=C4=AB=B5=E5
              Daum=C8=B8=BF=F8=C0=C7 =C7=CA=BC=F6=C7=B0! =
=BF=C2=BF=C0=C7=C1 =C3=D6=B0=ED=C0=C7 =C7=FD=C5=C3~=20
       =20


------=_NextPart_000_0045_01C27923.8B80DE50
Content-Type: text/html;
	charset="ks_c_5601-1987"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dks_c_5601-1987" =
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>VoronoiSegmenationImageFilter is a =
region-based=20
classification, split-and-merge like algorithm. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2>you are perfectly right, it picks up =
all the=20
similar color regions in whole image. It works well if you have multiple =
objects=20
in the image to segment, it was used because SimpleFuzzyConnectedness =
can only=20
pick up one connected component.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>there is another version of =
FuzzyConnectedness,=20
which is able to claim multiple objects=20
(VectoriorFuzzyConnectedness)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>And to use Deformable Models is =
definitedly a good=20
idea,&nbsp; actually, all those three methods had been tested for =
combining=20
together to build a hybrid segmentation framework.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I bet Celina, Jay and Dimitris can =
explain the idea=20
better, for your reference, please look at following paper in MICCAI=20
2001:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>C. Imielinska, D. Metaxas, J. Udupa, =
Y.Jin and T.=20
Chen, "Hybrid Segmentation Methods of Anatomical Data." <I>Proceedings =
of The=20
Fourth International Conference on Medical Image Computing and Computer =
Assisted=20
Interventions (MICCAI 2001)</I>, pp. 1058-1066, October 2001, Utrecht=20
Netherlands. </FONT></DIV>
<DIV>&nbsp;</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:koosb2@hanmail.net" =
title=3Dkoosb2@hanmail.net>Seungbum Koo</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
href=3D"mailto:yj76@columbia.edu"=20
  title=3Dyj76@columbia.edu>Yinpeng Jin</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Cc:</B> <A=20
  href=3D"mailto:insight-users@public.kitware.com"=20
  =
title=3Dinsight-users@public.kitware.com>insight-users@public.kitware.com=
</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Monday, October 21, 2002 =
4:51=20
  PM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: Re: =
[Insight-users] using=20
  itkVoronoiSegmentationImageFilter ?</DIV>
  <DIV><BR></DIV>Hi, <BR>Thanks for the help. It worked and segmented =
but not as=20
  I expected. I don't understand well about =
VoronoiSegmentationImageFilter but=20
  it seems to segment all similar color regions in whole image as the =
seed=20
  region. I just wanted to find more exact boundary of that found using=20
  FuzzyConnectednessScalarFilter. <BR>Anyway I think the=20
  VoronoiSegmentationImageFilter worked fine. What do you think about =
using=20
  DeformableMeshFilter instead of VoronoiSegmentationImageFilter?=20
  <BR><BR>regards <BR>Seungbum Koo <BR><BR>&gt; Title : Re: =
[Insight-users]=20
  using itkVoronoiSegmentationImageFilter ? <BR>&gt; Date : Sun, 20 Oct =
2002=20
  13:34:32 -0400 <BR>&gt; From : "Yinpeng Jin" =
<YJ76@COLUMBIA.EDU><BR>&gt; To :=20
  Seungbum Koo<KOOSB2@HANMAIL.NET>,<INSIGHT-USERS@PUBLIC.KITWARE.COM> =
<BR>&gt;=20
  <BR>&gt; if you use takeaprior, then you don't want to setMean and =
setVar,=20
  those two parameters will be calculated from the binary mask. <BR>&gt; =
and=20
  <BR>&gt; try to use <BR>&gt; =
m_voronoiFilter-&gt;SetMeanPercentError(PERCENT);=20
  <BR>&gt; m_voronoiFilter-&gt;SetVarPercentError(VARPERCENT); <BR>&gt; =
in stead=20
  of <BR>&gt; m_voronoiFilter-&gt;SetMeanTolerance(10); <BR>&gt;=20
  m_voronoiFilter-&gt;SetVarTolerance(20); <BR>&gt; <BR>&gt; they are =
trying to=20
  manipulate the same parameter, but usually are more intuitive to =
figure.=20
  <BR>&gt; the MeanPercentError could usually be set between 0.1 to 0.3 =
<BR>&gt;=20
  and the VarPercentError could be between 1 to 3. they don't depends on =
your=20
  pixel intensity range, while the MeanTolerance and VarTolerance =
usually do.=20
  <BR>&gt; Also, you can first output your m_binaryImage to see if it is =

  something reasonable. the VoronoisegmentationImagefilter will need =
something=20
  at least represents <BR>&gt; parts of your target object as the a =
prior.=20
  <BR>&gt; Try the above, and let me know what happens. <BR>&gt; =
Yinpeng.=20
  <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; ----- Original Message ----- =
<BR>&gt;=20
  From: Seungbum Koo <BR>&gt; To: insight-users@public.kitware.com =
<BR>&gt;=20
  Sent: Sunday, October 20, 2002 12:45 AM <BR>&gt; Subject: =
[Insight-users]=20
  using itkVoronoiSegmentationImageFilter ? <BR>&gt; <BR>&gt; <BR>&gt; =
Hi,=20
  <BR>&gt; <BR>&gt; I'm trying to use itkVoronoiSegmentationImageFilter =
combined=20
  with itkSimpleFuzzyConnectednessScalarImageFilter. <BR>&gt; <BR>&gt; I =
made a=20
  binary image from itkSimpleFuzzyConnectednessScalarImageFilter but I =
couldn't=20
  figure out how to set itkVoronoiSegmentationImageFilter variables. =
Here is my=20
  source code. <BR>&gt; <BR>&gt;=20
  =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D <BR>&gt;=20
  m_voronoiFilter-&gt;SetInput(m_rawImageSource-&gt;GetOutput()); =
<BR>&gt;=20
  m_voronoiFilter-&gt;TakeAPrior(m_binaryImage); <BR>&gt;=20
  m_voronoiFilter-&gt;SetMean(520); <BR>&gt; =
m_voronoiFilter-&gt;SetVar(20);=20
  <BR>&gt; m_voronoiFilter-&gt;SetMeanTolerance(10); <BR>&gt;=20
  m_voronoiFilter-&gt;SetVarTolerance(20); <BR>&gt; //=20
  m_voronoiFilter-&gt;SetNumberOfSeeds(400); // ?? <BR>&gt;=20
  m_voronoiFilter-&gt;SetSteps(5); <BR>&gt; =
m_voronoiFilter-&gt;Update();=20
  <BR>&gt; =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20
  <BR>&gt; <BR>&gt; m_binaryImage is calculated from m_rawImageSource =
and as I=20
  expected. <BR>&gt; But this code just makes a black image... all =
zeros.=20
<BR>&gt;
  <TABLE align=3Dcenter border=3D0 cellPadding=3D0 cellSpacing=3D1>
    <TBODY>
    <TR>
      <TD align=3Dmiddle bgColor=3D#ffffff width=3D130><IFRAME =
border=3D0=20
        frameBorder=3D0 height=3D150 scrolling=3Dno=20
        =
src=3D"http://avatarfile.hanmail.net/bin/getavatar?EUSERID=3DERhXTWfI29g0=
&amp;LOOK=3D1"=20
        width=3D130></IFRAME></TD>
      <TD align=3Dleft vAlign=3Dcenter>
        <TABLE border=3D0 cellPadding=3D0 cellSpacing=3D0>
          <TBODY>
          <TR>
            <TD><IMG =
src=3D"http://image.hanmail.net/hm/av/box1_c1.gif"></TD>
            <TD =
background=3Dhttp://image.hanmail.net/hm/av/box1_upbg.gif></TD>
            <TD><IMG =
src=3D"http://image.hanmail.net/hm/av/box1_c2.gif"></TD></TR>
          <TR>
            <TD background=3Dhttp://image.hanmail.net/hm/av/box1_lbg.gif =

            vAlign=3Dtop><IMG=20
            src=3D"http://image.hanmail.net/hm/av/box1_c11.gif"></TD>
            <TD background=3Dhttp://image.hanmail.net/hm/av/box1_bg.gif=20
            style=3D"LINE-HEIGHT: 120%; PADDING-BOTTOM: 10px; =
PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px"><FONT=20
              color=3D#775100>Seungbum Koo</FONT></TD>
            <TD =
background=3Dhttp://image.hanmail.net/hm/av/box1_rbg.gif></TD></TR>
          <TR>
            <TD><IMG =
src=3D"http://image.hanmail.net/hm/av/box1_c3.gif"></TD>
            <TD =
background=3Dhttp://image.hanmail.net/hm/av/box1_dwbg.gif></TD>
            <TD><IMG=20
          =
src=3D"http://image.hanmail.net/hm/av/box1_c4.gif"></TD></TR></TBODY></TA=
BLE></TD>
      <TD>&nbsp;&nbsp;&nbsp;</TD></TR></TBODY></TABLE><BR><BR>
  <TABLE border=3D0 cellPadding=3D5 cellSpacing=3D0 width=3D"100%">
    <TBODY>
    <TR>
      <TD =
background=3Dhttp://image.hanmail.net/hanmail/general/dotline_sim.gif=20
      height=3D1></TD></TR>
    <TR>
      <TD><FONT color=3D#312400 style=3D"FONT-SIZE: 9pt">"=BF=EC=B8=AE =
=C0=CE=C5=CD=B3=DD, Daum" <A=20
        href=3D"http://www.daum.net" target=3D_top><FONT=20
        color=3D#312400>http://www.daum.net</FONT></A> =A1=BA =
=C6=F2=BB=FD=BE=B2=B4=C2 =B9=AB=B7=E1 =C7=D1=B8=DE=C0=CF=B3=DD=20
      =A1=BB<BR></FONT></TD></TR></TBODY></TABLE>
  <TABLE bgColor=3D#ececec border=3D0 cellPadding=3D0 cellSpacing=3D1 =
width=3D"100%">
    <TBODY>
    <TR bgColor=3D#f8f8f8>
      <TD>
        <TABLE border=3D0 cellPadding=3D3 cellSpacing=3D0 =
width=3D"100%">
          <TBODY>
          <TR>
            <TD align=3Dright noWrap width=3D50><A=20
              href=3D"http://hmm.daum.net/footer_msg" =
target=3D_blank><IMG border=3D0=20
              height=3D40=20
              =
src=3D"http://image.hanmail.net/hanmail/top/adver/messenger.gif"=20
              width=3D40></A></TD>
            <TD class=3Dbase style=3D"FONT-SIZE: 9pt" width=3D"50%"><A=20
              href=3D"http://hmm.daum.net/footer_msg" =
target=3D_blank><FONT=20
              color=3D#bd8000 style=3D"FONT-SIZE: =
9pt">=BA=FC=B8=A3=B4=D9! =C6=ED=C7=CF=B4=D9!=20
              =
Daum=B8=DE=BD=C5=C0=FA</FONT></A><BR>=B8=C5=C0=CF=B8=C5=C0=CF =
=BE=B2=B0=ED =B0=E8=BD=C3=C1=D2?</TD>
            <TD noWrap width=3D3><IMG height=3D40=20
              src=3D"http://image.hanmail.net/hm/line_h.gif" =
width=3D3></TD>
            <TD width=3D40><A href=3D"http://hmm.daum.net/card_0401"=20
              target=3D_blank><IMG border=3D0 height=3D40=20
              =
src=3D"http://image.hanmail.net/hanmail/top/adver/ecard.gif"=20
              width=3D40></A></TD>
            <TD class=3Dbase style=3D"FONT-SIZE: 9pt" width=3D"50%"><A=20
              href=3D"http://hmm.daum.net/card_0401" =
target=3D_blank><FONT=20
              color=3D#bd8000=20
              style=3D"FONT-SIZE: =
9pt">Daum=BF=A3=C5=CD=C4=AB=B5=E5</FONT></A><BR>Daum=C8=B8=BF=F8=C0=C7 =
=C7=CA=BC=F6=C7=B0! =BF=C2=BF=C0=C7=C1 =C3=D6=B0=ED=C0=C7=20
              =C7=FD=C5=C3~</TD></TR></TBODY></TABLE></TD>
      <TD align=3Dmiddle width=3D135><A =
href=3D"http://hmm.daum.net/footer_ad_1007"=20
        target=3Dnew><IMG border=3D0=20
        src=3D"http://image.hanmail.net/hm/ad/lotte_1.gif" width=3D120=20
      height40></A></TD></TR></TBODY></TABLE><IMG=20
  =
src=3D"http://www24.hanmail.net/Mail-bin/chkcmail?from=3Dkoosb2&amp;rcpt=3D=
yj76%40columbia%2Eedu&amp;msgid=3D%3C20021022055115%2EHM%2EN00000000052U3=
W%40www24%2Ehanmail%2Enet%3E"></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0045_01C27923.8B80DE50--