[ITK-users] Levelset not segmenting the shape

Robert scorpiuni at gmail.com
Mon Jun 6 11:34:51 EDT 2016


Hello,
I am working on a semi automatic 3D segmentation using the Geodesic active
contour with shape guidance.
No crashes occur anymore, but something is not right yet, and I can't get
behind the error. Help would be much appreciated.
The following is my code:

https://www.dropbox.com/s/ot8gn0i38mh83ql/GeodesicActiveContourShapePriorLevelSetImageFilter.cxx?dl=0

I preprocess the input image etc, this all seems to work fine judging from
the output images from those filters. (line 194 - 201)
In line 203, I take the output from the underlying levelset (here,
fastmarching), and change the metadata (direction, origin, spacing) to the
one I get from my input image (line 206-209) in order to be even able to set
my levelset as input to the geodesic filter, and I set my feature image as
feature parameter(l 265&266).
I now set some smoothing and geodesic-filter parameters, those are mostly
taken from the example in 2D.
The user gives 3 seedpoints, which should be located inside the shape.
Line 465 is the beginning of the "shape guidance" part.
Here I set my number of PCA images, my mean image, read them, change their
metadata as well, so that in the end, all involved images have the same
origin etc.  (l 468 - 543).  I now set those images as parameters to my
PCAShapeSignedDistanceFunction. 
I now initialize a 3D Euler transform (l 554), a cost function (l 565) and
an optimizer (l.610).
Finally, I give my shape as parameter to the geodesic filter ( l.669).
This should all be correct, right? all the changes in the metadata make
sense as soon as you see the datasets in 3D, they now all occupy exactely
the same space(see imgur pictures). 
However, the result I get is the following:

http://imgur.com/a/aKRuV
Middle picture is the "out" file alone, first and last pic is a 3d render
from the output, and showing the mean image of the structure I want to find
as well as the preprocessed, actual input image.
It seems like my program does not take into account any shape guidance at
all, and it just creates 3 "blobs" originating from my seeds...
Please take the time to have a look at my stuff, I really can't get behind
the mistake I made....
If you'd like to test it for your own, here are some sample pictures (the
ones I used) as well as the command I used to execute the program:
https://www.dropbox.com/sh/j2ognv5y5zv61wu/AABOAn-w4PIlYAq-WSW_lPOMa?dl=0
with
./GeodesicActiveContourShapePriorLevelSetImageFilter CochleaCropped.nrrd
out.nrrd 33 26 14 32 29 13 25 32 12 3 0.6 0.5 0.02 meanImage.nrrd 3
pcImage*.nrrd 10 10 10
Thanks,
Robert



--
View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Levelset-not-segmenting-the-shape-tp7588954.html
Sent from the ITK Insight Users mailing list archive at Nabble.com.


More information about the Insight-users mailing list