[Insight-users] SparseFieldLevelSetImageFilter Boundary Conditions
Luca Antiga
luca.antiga at gmail.com
Thu Feb 5 03:34:37 EST 2009
Hi Brady,
I've been also doing some testing using different level set
functions with different solvers.
I must say I have never seen your artifact. However, I've seen a
slightly different behavior
between sparse field and parallel sparse field, and the funny thing is
that the
parallel version seems to do a slightly better job. I'm trying to
track down this one as well.
I'd be interested in knowing if your artifact is still there if you
use the parallel sparse field.
Bye for now
Luca
On Feb 5, 2009, at 2:46 AM, Brady McCary wrote:
> insight-users,
>
> I have implemented some particular level set methods for segmentation.
> Right now, the underlying class I am using is
> SparseFieldLevelSetImageFilter. There appear to be some artifacts on
> the boundary of the image. In particular, it appears that some (but
> not all) boundary pixels are receiving strange updates. In particular,
> the output of the filter (i.e., the level set) has values that are the
> background value (-3 in this case) adjacent to foreground vales (3 in
> this case) and no narrow band between. My understanding is that this
> is contrary to the sparse field algorithm, so I am inclined to think
> one of the following:
>
> 1. I am making some abuse of the boundary condition.
> 2. There is a bug in the sparse field implementation concerning the
> boundary condition.
>
> I have posted the output as a sequence of images in an archive so you
> can see what I am talking about. Most files in this archive have
> evident names and all images are in nifti format. Files named
> phi_NNNN.nii are the level set at iteration NNNN.
>
> http://www.utdallas.edu/~bcm052000/mpr021_Slice_1.png.test.tar.bz2
>
> Please let me know if you need more information, because I want this
> anomaly resolved and I am willing to hunt this down if it happens to
> be bug in ITK. For the time being, I am going to modify the
> NarrowBandLevelSetImageFilter and DenseFiniteDifferenceImageFilter
> implementations to include the CalculateUpdateValue which is present
> in the sparse field implementation (because in this method I am
> performing a necessary computation). I will then test my
> LevelSetFunction in these FDSs to see if similar boundary artifacts
> appear.
>
> As a small aside, I have been digging in the internals of ITK much as
> of late, especially the FDSH. It might be beneficial in the long-term
> for FiniteDifferenceImageFilter to implement CalculateUpdateValue (as
> it currently appears in SparseFieldLevelSetImageFilter) so all
> subclasses can have easy access to it.
>
> Brady
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
More information about the Insight-users
mailing list