Workflow for segmentation with Vmtk Vesselness Filtering

Hello,

I am trying to figure out a workflow to segment connective tissue in muscle volume reconstructions from ultrasound.

What I thought of doing is:

  1. segment the muscle
  2. apply a vesselness filter to the segmented volume only
  3. segment (threshold?) the connective tissue highlighted in the previous step
  4. visualise the segment connective tissue in 3D

I am however unsure about how to best do steps 2 and 3. I tried to look at online tutorials and posts from this forum but couldn’t figure it out.
Any pointer would be much appreciated!

Ultrasound is usually very noisy and has many artifacts, so if you use simple classic segmentation methods (e.g., threshold, grow from seeds,…) then the results may not be good enough.

Vesselness filtering slightly improves signal to noise ratio of tubular structures but usually not that much so that you could then extract vessels by simple global thresholding.

If you pay a few sample images and your preliminary processing results then we may be able to give you more specific advice. But most likely you will need to invest significant manual efforts to create good segmentations, which you can then use to train fully automatic AI segmentation models.

Thanks!

Yes, automating muscle segmentation is probably not fully possible without AI. I am not there yet. Here I just want to explore what I get from the reconstructed volumes with a simple vesselness filter. The goal is to see whether I can segment - and eventually measure the orientation of - the connective tissue between fibres.

Not sure how to share an nrrd file but to illustrate the kind of reconstruction that I have, here is a typical transversal view of a muscle:

I would then segment the muscle itself and look for a way to implement the steps listed in my previous post.

Frangi’s vesselness filter method takes several steps to suppress direction dependence of tube detection. Therefore, if the goal is to determine direction of fibers then I would not recommend using vesselness filter.

Instead, you can use those simple convolutional filters that are used internally in the vessel enhancement algorithm. Each filter can enhance tubular structures in a certain direction at certain size scale.

1 Like