Quasi-isometric Representation of Three Dimensional Triangulated Surfaces Project Summary
Introduction Project objective What are CT scans Data processing The new mathematical method Code structure design Results Suggestions for future projects
Project Objectives: 1.Implement of a new algorithm for minimal distortion flattening of three dimensional surfaces in MATLAB 2. Confirm the abilities of the algorithm and the program by processing data from CT scans of the large intestine.
Background Why do we want to represent three dimensional surfaces as two dimensional images? Why did we choose the large intestine for the demonstrations?
CT Scans What is a CT machine?
CT Scans
Data Processing
Introduction to the Surface Flattening Problem The idea: Representing a 3D surface as a set of 2D images The goal: implementing a surface flattening algorithm with a minimal distortion
The Mathematical Method The Projection Condition:
The Length Distortion
Triangulation Representation of the raw data:
The Triangulation Algorithm 1.Cutting the cylinder of samples
The Triangulation Algorithm 2. Projecting each of the halves of the cylinder on the x-z plane
The Triangulation Algorithm 3. Triangulating the samples points on the plane 4. Reshaping the plane to it’s former form
The Triangulation Algorithm Results Front part: 407 triangles Back part: 624 triangles
Designed Algorithm Triangulation Algorithm Finding Neighbor Triangles Algorithm Spreading Algorithm Single Triangle Projection Algorithm
The Spreading Algorithm 1. Randomly choose a triangle – it is the anchor triangle 2. Project it on itself. It’s plane is the anchor plane. 3. For each of the triangle’s neighbors: Check whether the neighbor fulfills the projection condition: If Yes – project it on the anchor plane. Add it to the patch. Check the neighbor’s neighbors (Recursive calling). If not – move on to the next neighbor.
Flow Chart of the Program
Results
Results For Front Part C(f) = planes Back Part C(f) = planes
Results The two parts together, C(f) =
Testing the Program by Simulating Edge Situations 1. A Strict Distortion Bound Front Part: 292 planesBack Part: 495 planes C(f) =
2. A Weak Distortion Bound Testing the Program by Simulating Edge Situations 1 Plane, C(f) =
Rotating… 2. A Weak Distortion Bound
Simulation with many CT slices Back part: 1329 trianglesFront part: 728 triangles The results of the triangulation:
Simulation with many CT slices The results of the surface flattening, C(f) = Front Part C(f) = planes Back Part C(f) = planes
Simulation with many CT slices
Summary The simulation results corresponded to the theoretical results, for both normal cases and edge cases The results show that the algorithm is highly suited for complex surfaces
Suggestions for Future Projects Implement a surface flattening algorithm with a curvature based choice of triangles Globalize the abilities of the program by creating a function that can perform a three dimensional surface triangulation
THE END