Problems when segmenting blood vessels using VMTK (threshold)

Hello Slicer wizards,

I’ve been trying for the past weeks to segement brain arteries using Slicer. I’ve already seen a few topics on the discussin forum about this topic, but I still haven’t been successful reconstructing it.

Things I have tried so far:

  • Adjusting the thresholds value in the segment editor tool;
  • Creating seeds and using the grow from seeds tool;
  • Using the VMTK module (which I believe is going to be my best option);
  • Using the SwissSkullStripper, in order to remove the skull;

All of the attempts above left me in the same spot, an image where the threshold wouldn’t differentiate vessels from other entitites. I didn’t find this issue when segmenting the aorta from the sample CT-scan provided by Slicer. I could “easily” use the grow from seeds tool and the software would recognize vessels from other entities.

Using the VMTK module, when I preview the volume, it shows that the software recognizes vessels (Image 1), which I assume as a good sign. However, when I start the module, it doesn’t differentiate between bones and other entities (Image 2). I’ve already tried experimenting with threshold values and other options, but the outcome is the same.

Am I doing something wrong (very likely)?

Images: https://imgur.com/a/P8ZkyQT

Thanks in advance!

Have you tried the “Vessel Segmentation By Subtraction” segmentation recipe?

Thanks for the Reply Andras!

I haven’t tried this function yet, but from a quick read, I assume that I can only use this method if I have the images with and without contrast, in order to subtract both and have the vessels as an output. The problem, however, is that I only own the images with contrast, not the “baseline” as the tutorial provides. Because of this, I’m not sure whether the VMTK module will be my best option in this particular case.

Thanks once again!

If you don’t have contrast-free image it is not a huge issue, you just need to remove the bones that are not well suppressed by the vesselness filter. You can use various Segment Editor tools for this.

Are you sure you don’t have a contrast free acquisition for these patients? Image from several months or years ago may be usable. If there is really nothing that you could use then you may try to use images from similar age/size patients and use deformable transformation in the registration step (instead of rigid).

Thanks again for the reply Andras,

I spoke to the medical team about having both the contrast free and with contrast and I may be able to have them. However, I’m trying to follow your tip by using the vesselness filter to segment bones and tissues from the vessels, which is the method I was trying to use earlier with no success.
After filtering the vessels, I’m still left with a lot of non-interest entities, such as bones and tissues. Should I manually remove such entities, or is there a tool that may be more efficient and precise (since tissues are so close to vessels, which might result in me losing some vessels in the segmenting process).

Regards.

This is expected. However, as described in the segmentation recipe linked above, if the suppressed bones and structures are small floating pieces and the vessel tree forms one large object, you can keep the vessel tree and remove everything else by a few clicks (using Islands effect in Segment Editor).

1 Like

Hello Andras,

I was able to do the segmenting after many trials and errors, using Island effects and a lot of manual erasing/painting!

However, now I’m encountering a different issue and a couple questions came up.

  • I’m trying to use the “Hollow” tool in the segment editor in order to have only the surface of the vessels remaining. I watched the example video and I’m not able to recreate what is showed in the video.
    When I apply the tool, my segmented vessel either dissapears (if I use the “inside surface” option) or it creates holes in the surface (if I use the “medial surface” option). I assume this could be happening due to the relatively small diameter of the vessels, when compared to the aorta showed in the video.

  • My other question is regarding the cross-sectional area of the vessel. Is there a specific tool that allows me to have a cross section perpendicular to the vessel, similarly to the video above? In the video, the scissor tool is used, but if I use it Slicer automatically smooths the surface.


Thanks for the support so far,
Regards.

This is correct. You can play around with parameters such as shell thickness. Alternatively, you can artificially increase thickness of your model with Margin tool before applying Hollow.

This is currently the best approach for it as far as I know. Regarding smoothing, you can turn off or reduce surface smoothing level in the module itself:
image

This looks good! The only thing you missed is setting sufficiently fine resolution for your segmentation. Spacing of the segmentation’s binary labelmap representation should be at least 1/5th but preferably 1/10th of the smallest vessel diameter. See here how to change the resolution of a segmentation node.

1 Like

Update: I was able to reconstruct what I needed after spending some time with the software. However, after dealing with a few more images a question popped. Is it possible to reconstruct vessel volumes from CT-Scans that contain coils or other devices? For example, in the following image the patient went through an embolization process, and thus, has the presence of coils. When we look at the image, we can see some sort of “refraction” (not sure how can I call it), which hinders the reconstruction of the volume. Does this mean that any kind of Scan that contain such devices is no fit for reconstruction?

The reason why I’m asking this, is because I have interest in comparing the pre and post operatory situations.

Regards.

coils_scan

That’s metal artifact and it’s pretty hard to work around (see, for example, this paper). Generally speaking if you can’t find a window/level option that shows detail inside the flare there’s not a lot you can do.

1 Like