How to calculate surface length with centerline project into surface

hi,i have centerline and centerlinesection,i want to calculate surfce line length,like this,green line is centerline and blue line is surface line,how to get this blue line?

How did you draw the blue line ? It you do it as a markups curve, the length is available in its properties.

You may also resample a markups curve on the surface of a model as β€˜Shortest distance on surface.’

Hello, just wondering, did you update your Slicer and VMTK? My 3d Slicer was working fine however after updating it the centreline module does not work anymore so am beginning to think this might just be a problem on my end?

Please see VMTK extract centerline fails with VMTK using VTK9

this result get from Commercial medical analysis software

The blue line is easy to get. You just need to iterate through all the curve points, and offset the curve point position by the radius in the binormal direction.

You can get the binormal direction from the cross product of the tangent vector of the curve and the normal vector of the curve. You can get the normal vector of the curve from the cross product of the previous and next tangent vectors.

thank you lassoan, i use centerline normal vector and centerlinesection maxdiamter to produce the line,and calculate the intersection points between line and surface,like this:

Yes, intersection with a plane (therefore using the same position and normal) generates similar curves, too, if the vessel has one single strong curve and so the vessel remains in one plane. If you have multiple curves in different directions then the vessel deviates from the plane and the intersection curves do not capture well the vessel shape anymore.

1 Like