Full Aorta Segmentation

93 views
Skip to first unread message

Jessica Williams

unread,
Jun 18, 2020, 7:40:29 PM6/18/20
to vmtk-users
I was wondering how best to go about segmenting the aorta with vmtk. I've tried the vmtklevelsetsegmentation with the "colliding fronts" algorithm and got the attached image joining two branches (the descending aorta + the aortic arch).

I've noticed the surface is not smooth, and there are, in fact some holes. What would you recommend for me to improve this? I'd also like to automate the process as much as possible - where are the best locations within the aorta for seed points to be placed?

Any help would be very much appreciated.
Screenshot 2020-06-18 at 19.37.06.png

andra...@gmail.com

unread,
Jun 19, 2020, 4:42:59 PM6/19/20
to vmtk-...@googlegroups.com

Normally aorta segmentation on contrasted CT image should be straightforward: simple local thresholding/region growing methods should work. For example, you can use “Local threshold” Segment Editor effect in 3D Slicer to segment aorta by a single click, as shown here:

https://www.youtube.com/watch?v=yi07mjr3JeU

 

There are a few more aorta segmentation recipes here:

https://lassoan.github.io/SlicerSegmentationRecipes/

 

Andras

--
You received this message because you are subscribed to the Google Groups "vmtk-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vmtk-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vmtk-users/8ce50566-90c5-4185-b3e6-6d1ed584f784o%40googlegroups.com.

Jessica Williams

unread,
Jun 20, 2020, 1:02:26 PM6/20/20
to vmtk-users
Thank you so much, Andras, this is really helpful.

I've been able to segment using the first method you suggested in 3D Slicer. Is it possible to run this routine from a Python script, like with vmtk?


On Friday, June 19, 2020 at 4:42:59 PM UTC-4, andra...@gmail.com wrote:

Normally aorta segmentation on contrasted CT image should be straightforward: simple local thresholding/region growing methods should work. For example, you can use “Local threshold” Segment Editor effect in 3D Slicer to segment aorta by a single click, as shown here:

https://www.youtube.com/watch?v=yi07mjr3JeU

 

There are a few more aorta segmentation recipes here:

https://lassoan.github.io/SlicerSegmentationRecipes/

 

Andras

 

From: vmtk-...@googlegroups.com <vmtk-...@googlegroups.com> On Behalf Of Jessica Williams
Sent: Thursday, June 18, 2020 7:40 PM
To: vmtk-users <vmtk-...@googlegroups.com>
Subject: [vmtk-users] Full Aorta Segmentation

 

I was wondering how best to go about segmenting the aorta with vmtk. I've tried the vmtklevelsetsegmentation with the "colliding fronts" algorithm and got the attached image joining two branches (the descending aorta + the aortic arch).

 

I've noticed the surface is not smooth, and there are, in fact some holes. What would you recommend for me to improve this? I'd also like to automate the process as much as possible - where are the best locations within the aorta for seed points to be placed?

 

Any help would be very much appreciated.

--
You received this message because you are subscribed to the Google Groups "vmtk-users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to vmtk-...@googlegroups.com.

andra...@gmail.com

unread,
Jun 20, 2020, 2:14:08 PM6/20/20
to vmtk-...@googlegroups.com

Yes, you can access all features of 3D Slicer from Python (and you can install any Python packages inside 3D Slicer), so you can implement your complete processing workflow in one Python environment. You can find a couple of examples here: https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository#How_to_run_segment_editor_effects_from_a_script

 

In case of aorta segmentation, segmentation takes about 30 seconds (adjust threshold value, if needed; then click in aorta) and then you need to check the quality of your segmentations anyway. Considering, that fully automating the segmentation, would probably take a few hours for an experienced Slicer, but may take 1-2 days for a newcomer, the time that you invest into automation would only pay off if you segment several hundreds of images. However, if you already segmented that many images then you could use those to train a CNN to automate the segmentation, and nowadays an AI-based segmentation would sell your research or product better even if its performance is not better than a “classic” method, such as threshold-masked growcut.

To unsubscribe from this group and stop receiving emails from it, send an email to vmtk-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vmtk-users/51323d86-6aa9-4324-b334-8c83ca459217o%40googlegroups.com.

Jessica Williams

unread,
Jun 24, 2020, 3:45:10 PM6/24/20
to vmtk-users
Thanks so much for all your help. Is it possible to easily convert between .vti and .nrrd formats? I am hoping to use the centerline/geometry capabilities of vmtk but perform the region growing segmentation in 3D Slicer.

Jessica Williams

unread,
Jun 25, 2020, 1:34:58 PM6/25/20
to vmtk-users
Sorry for the multiple replies:

I'm trying to run one of the automated segmentation algorithms on my own .vtk file rather than the sample data:

Screenshot 2020-06-25 at 13.33.25.png



I get the following error on Line 9:

Screenshot 2020-06-25 at 13.33.41.png


Is there another way for me to load the .vtk file so that this will work correctly? I originally tested with a .nrrd file and had the same error.

Thanks so much in advance.

On Saturday, June 20, 2020 at 2:14:08 PM UTC-4, andra...@gmail.com wrote:

andra...@gmail.com

unread,
Jun 27, 2020, 12:14:04 AM6/27/20
to vmtk-...@googlegroups.com

You can load a volume from a .vti file into 3D Slicer using the script below (and then you can process it or save it to nrrd or other format): https://www.slicer.org/wiki/Documentation/Nightly/ScriptRepository#Load_volume_from_.vti_file

 

All VMTK is available in Slicer’s Python environment after you install SlicerVMTK extension. So, you can run your VMTK Python scripts directly in Slicer. The advantage of this approach is that you can implement your complete processing workflow (user interaction, visualization, computation, etc.) in one place. You can also use Slicer to run scripts in batch mode (without GUI) or if you prefer to run Python processing in Jupyter notebooks, you can run Slicer as a Jupyter kernel (https://github.com/Slicer/SlicerJupyter#slicerjupyter).

To unsubscribe from this group and stop receiving emails from it, send an email to vmtk-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vmtk-users/8e4b4073-2bf0-4fba-a685-d6df60931564o%40googlegroups.com.

Jessica Williams

unread,
Jun 29, 2020, 11:40:15 PM6/29/20
to vmtk-users
Hi Andras,

Thanks again for all your help. If I wanted to use the vmtklevelsetsegmentation option in vmtk, rather than 3D Slicer, is there a way to specify seed points for the algorithm through scripts, or do they have to be selected interactively?

andra...@gmail.com

unread,
Jun 30, 2020, 11:24:23 PM6/30/20
to vmtk-...@googlegroups.com

Slicer includes VMTK (if you install SlicerVMTK extension), so you don’t need to choose between VMTK and Slicer. You can specify seed points from Python script or from GUI.

To unsubscribe from this group and stop receiving emails from it, send an email to vmtk-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vmtk-users/1fd6bf40-d79c-4ee5-803e-45d25be38b23o%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages