Clear Filters
Clear Filters

Straightening a curved cylindrical structure

1 view (last 30 days)
Cat-22
Cat-22 on 6 Jan 2021
Answered: Pratyush on 13 Feb 2024
Hello!
I have a solid, wavy, cylindrical structure (with varying values inside) created from a skeleton (bwskel) in a volume. It's kind of squigly and doesn't have any particular direction. I would like to transform this to a cylindrical structure so it displays as a striaght pipe with the correct (interpolated?) values inside. Any ideas on how to do it efficiently? Thanks.
NG

Answers (1)

Pratyush
Pratyush on 13 Feb 2024
Hi Cat-22,
To straighten a wavy cylindrical structure in MATLAB and maintain the internal values, you would follow these general steps:
  • Use the skeleton of the structure ("bwskel") to find the wavy centerline.
  • Assign a parameter (like arc length) to the centerline to help map the volume to a straight pipe.
  • Calculate the planes perpendicular to the centerline at each point to sample the structure's cross-section.
  • Map the 3D points of each cross-section to a 2D plane to "unwrap" the structure.
  • Create a straight cylindrical grid and interpolate the unwrapped values onto it.
  • Use the interpolated grid to reconstruct the structure as a straight pipe.
Hope this helps.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!