Hi Eleni,<br><br>1. You will *NOT* get the  same segmentation result from the Sparse and Dense filter case. For example, in the dense case, we can segment any structure throughout the image irrespective of the 0 levelset location. In the sparse case, we only look at a band of values around the 0 levelset. If the levelset converges, then it does not segment far-off objects. Did you use any curvature based smoothing in the dense filter in your example? <br>
<br>2.  In the first and any iteration, the old value is always the distance of the active layer voxel from the 0 levelset. The &quot;change&quot; is computed and scaled by the time-step &quot;dt&quot; to compute the new value. <br>
<br>When a 0 levelset cuts through a voxel, we compute its normal and based on that, we estimate a voxel&#39;s distance from the surface. This is in the method InitializeActiveLayerValues().<br><br>3. I will make the method in the dense case as well, for your convenience and check it into ITK later today after making suitable tests.<br>
<br>Kishore<br><br><div class="gmail_quote">On Wed, Sep 16, 2009 at 7:19 PM, Sgouritsa, Eleni <span dir="ltr">&lt;<a href="mailto:esgourit@central.uh.edu">esgourit@central.uh.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">







<div>


<p><font size="2">Hello Kishore,<br>
this is an example of what I mean. (The ground truth for this dataset is closer to a smoothed version of the sparse result)<br>
<br>
Best regards,<br><font color="#888888">
Eleni</font><div><div></div><div class="h5"><br>
<br>
<br>
-----Original Message-----<br>
From: Sgouritsa, Eleni<br>
Sent: Wed 9/16/2009 6:14 PM<br>
To: <a href="mailto:kishoreraom@gmail.com" target="_blank">kishoreraom@gmail.com</a><br>
Cc: <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
Subject: Sparse vs Dense ChanAndVeseLevelSetImageFilter<br>
<br>
Hello Kishore,<br>
<br>
I have some questions on the sparse and dense chan&amp;vese level set filters.<br>
<br>
1. I would expect getting the same segmentation result for a given volume using sparse and dense filters with the same parameters. However the result using the sparse filter is &quot;bigger&quot; (the level set evolved more) and non-smooth compared with the one using the dense. Is this acceptable?<br>

<br>
2. Debugging the sparse filter code in the place where is the CalculateUpdateValue function, we compute for the level set update:<br>
ValueType new_value = old_value + dt * change;<br>
In this place the old value is always 0 in the first iteration and 1e-06 in the next iterations. Is this correct? I would expect as old_values positive and negative values near zero depending on the distance from the zero level set.<br>

I tried increasing the number of layers used in the narrow band, but it is still the same.<br>
<br>
3. Could it be possible in the future to have this function<br>
virtual ValueType CalculateUpdateValue (const IndexType &amp;, const TimeStepType &amp;dt, const ValueType &amp;value, const ValueType &amp;change)<br>
in the protected members of the dense filter as it is in the sparse right now?<br>
( Currently, for the dense filter this calculation is embedded in the ApplyUpdate function )<br>
<br>
Thank you very much,<br>
Eleni<br>
<br>
<br>
<br>
</div></div></font>
</p>

</div>
</blockquote></div><br>