engn 2500 medical image analysis project final presentation
DESCRIPTION
ENGN 2500 Medical Image Analysis Project Final Presentation Extraction and Visualization of Humerus, Radius and Ulna of Dogs “Subvoxel Polygonization of Discrete Implicit Surfaces Using ENO Interpolation” Firat Kalaycilar. Problem. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/1.jpg)
ENGN 2500Medical Image Analysis
ProjectFinal Presentation
Extraction and Visualization of Humerus, Radius and Ulna of Dogs
“Subvoxel Polygonization of Discrete Implicit Surfaces Using ENO Interpolation”
Firat Kalaycilar
![Page 2: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/2.jpg)
Problem
Elbow dysplasia is a condition involving multiple developmental abnormalities of the elbow-joint in the dog, specifically the growth of cartilage or the structures surrounding it (from Wikipedia).
The disease can be diagnosed using 3D reconstruction of bones from CT data.
Goal: Extract and visualize bones of interest in 3D.
![Page 3: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/3.jpg)
![Page 4: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/4.jpg)
Elbow ofA Dog
![Page 5: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/5.jpg)
ulna
humerus
radius
CT Images
![Page 6: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/6.jpg)
Approach
“Subvoxel Polygonization of Discrete Implicit Surfaces Using ENO Interpolation” by Rodehorst and Kimia
Take 3D distance transform of input CT images → DT
Find surface zero-crossings of DT at grid lines using ENO interpolation → ENO anchor points (APs)
Connect APs to obtain a 3D polygon mesh.
Start from an unambiguous voxel and connect APs → initial mesh
Grow the current mesh by considering adjacent voxels. If the voxel being considered is ambiguous, choose the
connections which result in smoothest surface. This algorithm works like wave propagation.
Visualize the resulting mesh.
![Page 7: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/7.jpg)
3D Signed Distance Transform
Requires a 3D binary volume where 1's correspond to boundaries and 0's correspond to elsewhere.
But, we have a gray level volume! We can obtain boundaries using segmentation. The output of simple thresholding +
mathematical morphology is good enough.
![Page 8: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/8.jpg)
3D Signed Distance Transform
Matlab implementation (bwdist) → very fast
Ricardo Fabbri's implementation of 3D distance transform explained in the paper:
J. C. Torelli, R. Fabbri, G. Travieso, O. M. Bruno "A high performance 3D exact Euclidean distance transform algorithm for distributed computing", International Journal of Pattern Recognition and Artificial Intelligence, 2010.
It also requires boundary images (filled region images are not OK, because it treats every foreground pixel as boundary.)
So, I decided to continue with the matlab implementation.
![Page 9: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/9.jpg)
Thresholding
![Page 10: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/10.jpg)
Fill holes
![Page 11: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/11.jpg)
Median filtering
![Page 12: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/12.jpg)
Erosion
![Page 13: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/13.jpg)
Subtraction
![Page 14: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/14.jpg)
How does the polygon look
like when boundary
images are stacked and
meshed?
Two bones lookmerged!
This is the problemof standard iso-surface techniques.
This paper claims that it is capable of separating these bones.
![Page 15: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/15.jpg)
3D Signed Distance Transform
Apply the operations to every slice → stack of binary boundary images
Use matlab's bwdist function to obtain an unsigned distance transform.
Multiply the interior regions by -1 to obtain a signed distance transform.
![Page 16: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/16.jpg)
3D Level Set Segmentation
I might have used 3D Level Set segmentation instead of binary segmentation + 3D distance transform.
VXL Implementations: Not clear which one to use? How to use?
Found a matlab implementation Y. Zhang, B. J. Matuszewski, L.-K. Shark, and C. J.
Moore. Medical Image Segmentation Using New Hybrid Level-Set Method. IEEE International Conference on Biomedical Visualisation, MEDi08VIS, London, pp.71-76, July, 2008.
Takes a gray level volume and produces a distance transform.
![Page 17: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/17.jpg)
Zero level setof the Level Set SegmentationAlgorithm after 40 iterations
![Page 18: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/18.jpg)
ENO Anchor Points
“Subvoxel Polygonization of Discrete Implicit Surfaces Using ENO Interpolation” by Rodehorst and Kimia
An old C/C++ implementation exists → not compatible with recent compilers
Managed to revive the ENO anchor point extraction algorithm.
Procedure:
– Export the distance transform in a format that can be read by the ENO interpolation program.
– Run ENO anchor point extraction code
Input: 3D signed distance transform For each grid line in each direction (x,y,z)
Associate a 2nd order polynomial with each interval between consecutive grid points using ENO interpolation.
Output: Roots of the polynomials are the anchor points.
![Page 19: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/19.jpg)
Wave Propagation
Managed to revive the wave propagation component.
Spent most of my time on this. Unfortunately, due to some bugs I couldn't
resolve, it doesn't work on every input I provide. Doesn't work on 3D level set output (finds odd
number of ENO points and terminates). Works on binary segmentation + distance
transform output.
![Page 20: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/20.jpg)
![Page 21: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/21.jpg)
Wave Propagation Example
![Page 22: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/22.jpg)
![Page 23: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/23.jpg)
![Page 24: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/24.jpg)
![Page 25: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/25.jpg)
![Page 26: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/26.jpg)
Merging still occurs,but smaller
![Page 27: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/27.jpg)
More examples
![Page 28: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/28.jpg)
ENO Anchor Point Cloud Resulting Polygon
![Page 29: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/29.jpg)
ENO Anchor Point Cloud Resulting Polygon
![Page 30: ENGN 2500 Medical Image Analysis Project Final Presentation](https://reader036.vdocuments.us/reader036/viewer/2022062407/56812a6c550346895d8df070/html5/thumbnails/30.jpg)
Conclusion
Managed to revive the whole program Couldn't fix all the problems.
The program still complains when level set segmentation results are used.
Managed to reconstruct bones from 3D CT volumes although the results still looked merged.
Promising!