Is there any good tutorial or example for coronary artery segmentation using itk&vtk

I have a series of CT pictures(dicom format) of patients’ heart. I would like to get coronary artery segmentation(with 3d display) from these files.
I have try to use 3d slicer and VMTK to do these . these two software try to use “region grow” and “level-set segmentation” while you have to point out “seed points” manually . but they did not perform well.
Is there any good method (it will be better if it’s automatically) to segment and display (in 3d ) coronary artery from dicom files. if there is a tutorial or example about that , please let me know , thanks

As far as I know, that problem is unsolved. If general semi-automatic methods do not work well, a custom solution might need to be developed.

1 Like

Level-set and region growing methods are expected to work well for segmentation of a short section of a coronary vessel (e.g., a single stenosis), on an image that has sufficient resolution and contrast.

There can be many reasons why you want to segment coronary vessels, the requirements and solutions are completely different for each. So, without knowing what exactly you would like to achieve we cannot give you specific advice, but I agree with @dzenanz that these are generally hard problems, so you either need to do some part of the work manually or implement custom automated solution.

1 Like

Thanks for your answer. As for what I exactly want , there is a link .
[https://www.slicer.org/wiki/Modules:VMTK_in_3D_Slicer_Tutorial:_Coronary_Artery_Centerline_Extraction ]
I wanna get a 3d model of coronary artery for display from CT dicom files. And based on the model there may be some extra computations (eg… get centerlines, get the distance from vessel surface to centerlines , the diameter)
I had seen this function in a Phlips commercial device while you upload the dicom files it represents the segmentation results.
And now I have a project about medical image processing, it’s better if it has such a function. Maybe you are right there is no mature solution(as for it’s shown on a commercial software…). It’s just … umm…I have found some papers related on this topic but not many codes.Maybe you can recommend me some related links if possible.

Thanks for your answer. Maybe you can have a look at my supplementation in next answer.

All the steps described in the Slicer VMTK tutorial is available in latest Slicer version and SlicerVMTK extension:

  • Vesselness filtering to improve vessel contrast
  • Initial segmentation: the tutorial uses Fast Marching (available in Segment Editor module, after installing SegmentEditorExtraEffects extension), but you can try grow from seeds, simple thresholding, etc.
  • Refine segmentation: the tutorial uses a level set implementation in VMTK to snap initial segmentation to edges in the original image; this is available in Level Set Segmentation module, but it is coupled with a very simple automatic initial segmentation method, which does not work very robustly. You can either use a different level set segmentation method, such as Watershed effect in Segment Editor module (provided by SegmentEditorExtraEffects extension). Or we could use VMTK’s method but then we would need to improve the module so that it can accept initial segmentations created outside the module.

I could update/fix the VMTK Level Set segmentation module to make sure it works well, but I would need from you a link to a typical CCTA volume (it can be any public or anonymized data set).

1 Like