Problem with vmtkimagevesselenhancement to improve CT lung images and detect fissures locations?

Hello Dear Developers and Users

I want to segment lung lobes using “Intractive Lobe Segmentation” module. As mentioned in the manual of “Interactive Lobe segmentation”, I must place 2 fiducials on each of left and right obliques and right horizontal fissures in 2 or 3 different slices.

As seen in the following images, the quality of the slices is not enough that I can be easily detected the fissures.

According to the articles, I noticed that I can apply Frangi filter using vmtkimagevesselenhancement to improve images quality.

For doing it, I do the following steps:

1- Convert DICOM files to mha file.

2- Execute vmtkimagevesselenhancement with the following arguments:

vmtkimagevesselenhancement -ifile CT.mha -method frangi -alpha 0.5 -beta 0.5 -gamma 0.5 -ofile frangi.nrrd

Everything seems to be right and I do not get error message but I do not get any output file. I do not know the reason for this. Should this filter be applied to coronal slices?

Please guide me or suggest me pipeline to do it.
Thanks for your help.

I don’t find VMTK pypes useful, as Python scripts are already simple enough, and adding one more layer of abstraction does not simplify things much, and makes it harder to figure out what’s happening (or if something does not work - why something is not happening).

I would recommend to either use VMTK vtkvmtkVesselnessMeasureImageFilter directly in Python, or even better, use “Vesselness Filtering” module that has a convenient graphical user interface for this filter.

Also note that Slicer’s segmentation tools have been greatly improved since development of CIP. You can probably separate segments by Segment Editor effects in Slicer core and SegmentEditorExtraEffects extension. For example, Surface cut effect could be useful to separate lobes.

Dear Andras

Thanks a lot for your guidance.


Maybe I should not mentioned my problem about vmtkimagevesselenhancement.

I want to enhance CT chest images to help in the detection of fissures and then locate fiducials on the fissure in the module of “Interactive Lobe Segmentation”.

As you told me, I get SlicerCIP4-10-2-linux and follow steps mentioned in Interactive Lobe segmentation. On the sixth page of this file, it is mentioned that “when filtering is ”on” a new frame opens up”. As you can see in the figure below, I do not have this new frame. Why?

Also, you have also recommended that “use VMTK vtkvmtkVesselnessMeasureImageFilter directly in Python”. Where can I find the content about “Python-wrapped C++ classes” in VMTK?

Best regards.


I’ve tried Frangi vessel enhancement on chest CTs and it did not help much, so I would not recommend to use it. Maybe if the image quality is very good then it further improves visibility, but then you may not need it at all.

Interactive lobe segmentation displayed filtering settings on Windows in both Slicer-4.10.2 an Slicer-4.11. In Slicer-4.11 I had to make some fixes for the CIP extension to work, which should be available in the extension index tomorrow. If you have further questions about CIP lung lobe segmentation then create a new topic for it.

Dear Andras
Thanks a lot for your checking Frangi filter on chet Cts.

I check filtering options in “Interactive lobe segmentation” module in SlicerCIP (SlicerCIP4-10-2) on Windows (Windows 7 Enterprise, Service Pack 1) and Linux (Ubuntu 18.04.4 LTS). Unfortunately, I do not have this option. As mentioned you, I create new topic on SlicerCIP community with titled by “Incomplete options in SlicerCIP (SlicerCIP4-10-2) on Windows (Windows 7 Enterprise, Service Pack 1) and Linux (Ubuntu 18.04.4 LTS)

A post was merged into an existing topic: Incomplete options in SlicerCIP (SlicerCIP4-10-2) on Windows (Windows 7 Enterprise, Service Pack 1) and Linux (Ubuntu 18.04.4 LTS)