How to divide the liver according to vascular drainage?

Hello everyone,

I’m trying to divide the liver according to vascular drainage.I tried following the tutorial step by step using the SlicerLiver extension. But when I add all the vessel points and click on the button ‘Calculate Vascular Territory Segmentation’, the result is not as shown in the tutorial.

I’m trying to figure out where things went wrong. I would be very happy if someone could help me with this task.

1 Like



@Gerard_Siker, it looks to me that you are creating a single vascular territory, therefore the result is a single segment. Instead of creating one vascular territory with multiple segments, try creating multiple vascular territories with one segment each. Let me know if that works for you.

Hi Rafael,I created multiple vascular territories as you suggested, but the results didn’t make a difference. The version I used is 3D Slicer 5.6.2.


@Gerard_Siker, thanks for giving it a try. This layout should work, but it seems not to be working for me either. @olevs, could you give it a try? Maybe there is somethign @Gerard_Siker and I are missing?

@Gerard_Siker, otherwise, we are about to release a new version. I’m in the process of testing it: I’ll test this carefully there.

@RafaelPalomar This is one of the bugs that is fixed in the new version

@RafaelPalomar @olevs ,Thanks for answering my question, I’m really looking forward to the new version of SliceLliver!

Hello @Gerard_Siker, I have just pushed a new version of Slicer-Liver. Most likely, this will be built into the extension manager sometime during tomorrow. Please, give it a try and let us know about the results.

@RafaelPalomar


Many thanks to your team for updating the extension!

1 Like

This looks nice! @RafaelPalomar @olevs what algorithm is used for subdivision of the liver based on vasculature?

Just looping through all the liver voxels, and finding the closest centerline point. Code is in vtkLiverSegmentsLogic::SegmentClassificationProcessing()

2 Likes

How long does the computation take?

When I needed such partitioning I wanted to achieve the same end result but I was worried about the long computation time. Also, it would just use Euclidean distance (not geodesic distance), so when a vessel could have influence in a region that is separated by the organ boundary (although probably this is not an issue in liver)

So, I ended up using Grow from seed with the “Seed locality” value set to the maximum (so that image content is not taken into account), but I was wondering if this was the simplest solution and if it was accurate enough (grow from seeds does not step in diagonal directions, so it works with block distance instead of Euclidean distance).

Probably fast marching would be the most appropriate tool for this. It should be fast enough and the speed image could be used to restrict marching to be within the segment boundary. It is implemented in ITK, so it would be quite easy to add it as a segment editor effect.