/street-urchins

:microscope: Extracting metadata from 3D Sea Urchin bone structure

Primary LanguageJupyter Notebook

🔬 Extracting Metadata from 3D Sea Urchin Trabecular Bone Structure

Steps:

  1. Blur raw data to smooth out high freuency noise -> leads to better thresholding results
  2. Threshold image to convert grayscale image(s) into binary format in relation to the threshold value.
  3. Skeletonize image (using Lee94 algorithm):
  4. Distance Transform (2D or 3D) - labels each pixel/voxel of the image with the distance to the nearest background/void.
  5. Extract Nodes and Branches
  6. Export data as CSVs

🔧 Testing on One 2D slice:

🔎 Zooming In:

🚀 Skeletonize 3D Data:

The gif below showcases z axis slices - from left: thresholded data, 3D distance transform (distances mapped as pixel values), branch pixels, node pixels.The 3D skeleton might look bizare when viewed one slice at a time, but makes much more sense when viewed in 3D. This skeleton data would later be used to run mechanical simulations.

Thresholded data and Skeleton: