[Insight-users] ConfidenceFilter
Samuel Rodríguez Bescos
srodrigu@gbt.tfo.upm.es
Tue, 28 Jan 2003 16:38:20 +0100
This is a multi-part message in MIME format.
------=_NextPart_000_001C_01C2C6EB.AC596870
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi James,
Thanks for reporting this information. Now the behavior has got sense. =
About the way to improve the algorithm I agree with you. I think that =
with the restriction: ( (point was near the initial seed ) AND ( the =
point statisfies the statistics from the previous iteration ) AND (the =
point was in the segmentation from the previous iteration)) avoids =
including pixels that can corrupt the statistics of the segment. It =
think It's the right way to do.
I'll try with the parameters you have mentioned,
Thanks again,
Sam
----- Original Message -----=20
From: Miller, James V (Research)=20
To: 'Samuel Rodr=EDguez Bescos' ; insight-users@public.kitware.com=20
Sent: Tuesday, January 28, 2003 3:45 PM
Subject: RE: [Insight-users] ConfidenceFilter
I think it is possible for this to happen. I was actually worried =
about this. If the statistics after the first iteration no longer =
include the seed point, then second iteration will result in no =
segmentation. Multiplier=3D1 is rather small, as it will only include =
63% of the pixels whose intensities "probably" are the same intensity. =
Another way to look at this is that after the initial iteration, you =
have a 37% chance the seed point would not belong to the statistics of =
the segmented region.
To finesse this, you might try starting with a larger radius and a =
larger multiplier. I usually run with a multiplier of 2.5 or so. Using =
the above analogy, there is less than a 1% chance the seed pixel is =
outside the statistics of the region from the previous iteration.
Now the reason for the problem exists: This is a simple segmentation =
filter that illustrates how the flood fill iterator can be used to =
construct a simple but powerful segmentation filter. The actual code =
for this algorithm is very very small. One of the things this filter =
"should" be doing is=20
seeding the second segmentation with the results of the first =
segmentation and continuing segmenting the image using the refined =
statistics. At the time this filter was written - and I am not sure =
whether this has changed - you could not seed the flood fill iterators =
with multiple seed points. So my only option was to rewind to the =
initial seed point and start the segmentation process again using the =
refined statistics. Otherwise, the algorithm would not revisit a pixel =
that was excluded on an initial iteration in a subsequent iteration.
I just looked at the iterator code and there is now a method that =
allows you to specify a=20
vector of seeds. So the algorithm could be rewritten to allow the =
segmentation from one iteration to be the seed at another iteration. I =
would probably put this in as a mode as someone may want the initial =
behavior.
Other than that, I am not sure of a good way to address the problem if =
the statistics of the segment stray such they exclude the seed point. I =
suppose we could search for a pixel near the seed point that is within =
the statistics of the initial segment and use that position as the seed =
for the next iteration. This would probably be constrained such that the =
point was near the initial seed AND the point statisfies the statistics =
from the previous iteration AND the point was in the segmentation from =
the previous iteration. Intuitively, that makes sense to me.
-----Original Message-----
From: Samuel Rodr=EDguez Bescos [mailto:srodrigu@gbt.tfo.upm.es]
Sent: Tuesday, January 28, 2003 4:35 AM
To: insight-users@public.kitware.com
Subject: [Insight-users] ConfidenceFilter
Hi!!
I think that the confidence filter has got a strange behaviour. I =
set the next the parameters : Initial Radious=3D1, Multipler=3D1.0 and =
iterations 1 and the filter works well. But when I increase the =
iterations, the filter doesn't select any zone of the image.
is that could be possible?.
Thnks!!
Sam
------=_NextPart_000_001C_01C2C6EB.AC596870
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 http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2715.400" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi James,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Thanks for reporting this information. =
Now the=20
behavior has got sense. About the way to improve the algorithm I =
agree with=20
you. I think that with the restriction: ( (point was near the =
initial seed=20
) AND ( the point statisfies the statistics from the previous iteration =
) AND=20
(the point was in the segmentation from the previous iteration)) =
avoids =20
including pixels that can corrupt the statistics of the segment. It =
think=20
It's the right way to do.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>I'll try with the parameters you have=20
mentioned,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Thanks again,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Sam</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV>----- Original Message ----- </DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV=20
style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
<A title=3Dmillerjv@crd.ge.com =
href=3D"mailto:millerjv@crd.ge.com">Miller, James V=20
(Research)</A> </DIV>
<DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dsrodrigu@gbt.tfo.upm.es=20
href=3D"mailto:srodrigu@gbt.tfo.upm.es">'Samuel Rodr=EDguez =
Bescos'</A> ; <A=20
title=3Dinsight-users@public.kitware.com=20
=
href=3D"mailto:insight-users@public.kitware.com">insight-users@public.kit=
ware.com</A>=20
</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Tuesday, January 28, 2003 =
3:45=20
PM</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Subject:</B> RE: [Insight-users]=20
ConfidenceFilter</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff size=3D2>I =
think it is=20
possible for this to happen. I was actually worried about this. =
If the=20
statistics after the first iteration no longer include =
</FONT></SPAN><SPAN=20
class=3D194052214-28012003><FONT color=3D#0000ff size=3D2>the seed =
point, then=20
second iteration will result in no segmentation. Multiplier=3D1 is =
rather=20
small, </FONT></SPAN><SPAN class=3D194052214-28012003><FONT =
color=3D#0000ff=20
size=3D2>as it will only include 63% of the pixels whose intensities =
"probably"=20
are the same intensity. Another way to look at this is that =
after the=20
initial iteration, you have a 37% chance the seed point would not =
belong to=20
the statistics of the segmented region.</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff =
size=3D2>To finesse=20
this, you might try starting with a larger radius and a larger=20
multiplier. I usually run </FONT></SPAN><SPAN=20
class=3D194052214-28012003><FONT color=3D#0000ff size=3D2>with a =
multiplier of 2.5=20
or so. Using the above analogy, there is less than a 1% chance the =
seed =20
pixel is outside the statistics of the region from the previous=20
iteration.</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff =
size=3D2>Now the reason=20
for the problem exists: This is a simple segmentation filter that =
illustrates=20
how the flood fill iterator can be used to construct a simple but =
powerful=20
segmentation filter. The actual code for this algorithm is very =
very=20
small. One of the things this filter "should" be doing is=20
</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff =
size=3D2>seeding the=20
second segmentation with the results of the first segmentation and =
continuing=20
segmenting the image using the refined statistics. At the time =
this=20
filter was written - and I am not sure whether this has changed - you =
could=20
not seed the flood fill iterators with multiple seed points. So =
my only=20
option was to rewind to the initial seed point and start the =
segmentation=20
process again using the refined statistics. Otherwise, the =
algorithm=20
would not revisit a pixel that was excluded on an initial iteration in =
a=20
subsequent iteration.</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff size=3D2>I =
just looked=20
at the iterator code and there is now a method that allows you to =
specify a=20
</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff =
size=3D2>vector of=20
seeds. So the algorithm could be rewritten to allow the =
segmentation=20
from one iteration to be the seed at another iteration. I would =
probably put=20
this in as a mode as someone may want the initial=20
behavior.</FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff =
size=3D2>Other than=20
that, I am not sure of a good way to address the problem if the =
statistics of=20
the segment stray such they exclude the seed point. I suppose we could =
search=20
for a pixel near the seed point that is within the statistics of the =
initial=20
segment and use that position as the seed for the next iteration. This =
would=20
probably be constrained such that the point was near the initial seed =
AND the=20
point statisfies the statistics from the previous iteration AND the =
point was=20
in the segmentation from the previous iteration. Intuitively, =
that makes=20
sense to me.</FONT></SPAN><SPAN class=3D194052214-28012003><FONT =
color=3D#0000ff=20
size=3D2></FONT></SPAN></DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D194052214-28012003><FONT color=3D#0000ff=20
size=3D2></FONT></SPAN> </DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px =
solid; MARGIN-RIGHT: 0px">
<DIV class=3DOutlookMessageHeader dir=3Dltr align=3Dleft><FONT =
face=3DTahoma=20
size=3D2>-----Original Message-----<BR><B>From:</B> Samuel =
Rodr=EDguez Bescos=20
[mailto:srodrigu@gbt.tfo.upm.es]<BR><B>Sent:</B> Tuesday, January =
28, 2003=20
4:35 AM<BR><B>To:</B> =
insight-users@public.kitware.com<BR><B>Subject:</B>=20
[Insight-users] ConfidenceFilter<BR><BR></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Hi!!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>I think that the confidence filter =
has got a=20
s</FONT><FONT face=3DArial size=3D2>trange behaviour. I set the next =
the=20
parameters : Initial Radious=3D1, Multipler=3D1.0 and iterations 1 =
and the=20
filter works well. But when I increase the iterations, the=20
filter doesn't select any zone of the =
image.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>is that could be =
possible?.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Thnks!!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial=20
size=3D2>Sam</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>
------=_NextPart_000_001C_01C2C6EB.AC596870--