How to compute bifurcation angles in Slicer?


my goal is to compute centerlines, diameters and bifurcation angles of a vascular tree using Slicer and its Python interactor.

I managed to compute both centerlines and diameters using the vmtk scripted modules.
However, I am not sure how to extract the bifurcation angles. Here’s what I’ve tried so far:

Following the vmtk tutorial I set up the following workflow:

  1. Compute centerlines using ExtractCenterline scripted module → Output: centerline
  2. Split up centerline into separate branches using branch extractor script → Output: branchCenterlines
  3. Compute bifurcation reference systems using branchCenterlines → Output: reference systems
  4. Compute bifurcation vectors using branchCenterlines and reference systems

For steps 2-4, I use the code found in the “Execute()” method of the respective vmtk script (e.g. from here)

My code runs without any errors but I cannot really make sense of the output (-> centerlineBifurcationVectors.GetOutput()) so I am wondering if what I am doing is correct.

My questions are:

  1. Is my workflow / approach for computing the bifurcation angles correct?
  2. If yes, how can I use the output of the bifurcation vectors computation to find the bifurcation angles?

Thanks a lot in advance!