310 likes | 518 Views
Quasi-isometric Representation of Three Dimensional Triangulated Surfaces. Project Summary Efrat Barak Amiad Segal. Introduction. Project objective What are CT scans Data processing The new mathematical method Code structure design Results Suggestions for future projects.
E N D
Quasi-isometric Representation of Three Dimensional Triangulated Surfaces Project Summary Efrat Barak Amiad Segal
Introduction • Project objective • What are CT scans • Data processing • The new mathematical method • Code structure design • Results • Suggestions for future projects
Project Objectives: • 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?
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:
Triangulation Representation of the raw data:
The Triangulation Algorithm • 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 ResultsFront part: 407 trianglesBack 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 anchortriangle 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.
Results For Back PartC(f) = 1.1405151 planes Front PartC(f) = 1.140570 planes
Results The two parts together, C(f) = 1.1405
Testing the Program by Simulating Edge Situations 1. A Strict Distortion Bound Front Part: 292 planes Back Part: 495 planes C(f) = 1.0175
Testing the Program by Simulating Edge Situations 2. A Weak Distortion Bound 1 Plane,C(f) = 20.0811
2. A Weak Distortion Bound Rotating…
Simulation with many CT slices The results of the triangulation: Back part: 1329 triangles Front part: 728 triangles
Simulation with many CT slices The results of the surface flattening, Front PartC(f) = 1.140588 planes Back PartC(f) = 1.1405173 planes C(f) = 1.1405
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