Hi to everyone. I’m working with centerlines, which I made with a external python code. From this code I return the centerlines as Markups nodes, and now I would like to extract radius info. For this purpose I use the Cross Section Analysis. This module works well more of the times but fails in bifurcations, where minimum sphere and cross section methods can’t find the proper area…
I noticed that centerlines made with Extract Centerlines module can give radius data when you use the centerline model (see code). I know that Extract Centerlines workflow is based on Voronoi Diagrams, but the radius extraction is better than Cross Section Analysis?
Can you draw by hand or with a mouse a bifurcation to illustrate what you mean by ‘proper area’, from which point or circumference to which point or circumference you idealize measurements in a bifurcation?
The minimum sphere radius is more accurate in a bifurcation than the circular-equivalent diameter since the latter is derived from a surface area. This area will include all branches in a bifurcation. You could cut the segment so as to isolate single tubes of interest and regenerate everything.
At this moment, I’m using the CSA process and then correct the radius for nodes in bifurcation zones using MIS by myself.¡, but this work well. MIS strategy used is:
Create a sphere with radius closer to zero and start increasing the radius until the sphere contains at least 30-40 edges of the segmentation…
I can’t really have an authoritative opinion on the matter.
According to the above image: you might process your bifurcated centerline model with the ‘Centerline disassembly’ module in SlicerVMTK. You can thus get a complete centerline model from the first endpoint to each other endpoint, when selecting the ‘Centerlines’ component in the UI.
Each new centerline model will have a ‘Radius array’, which is the MIS radius. This may help you generate the tubes you are pointing to, probably using vtkTubeFilter.