Date post: | 15-Jan-2016 |
Category: |
Documents |
View: | 219 times |
Download: | 0 times |
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
2 3max{ ( , ), ( , )}e N e N
The Projection Condition:
The Length Distortion
( ) cot 1C f
TriangulationRepresentation of the
raw data:
The Triangulation Algorithm1. 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 Algorithm1. 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 ProgramProcessing CT Data
Triangulating the Surfaces
Repeated for each surface:Random choice a of new triangle, starting a new patch.
For all the neighbors of the triangle:
Check if the neighbor fulfills the projection condition
If Yes: Project the neighbor on the plane, add it to the patch,
and check his neighbors(recursive call)
If Not: Continue tothe next neighbor
Results
Results For
Front PartC(f) = 1.1405
70 planes
Back PartC(f) = 1.1405151 planes
82
ResultsThe two parts together, C(f) = 1.1405
Testing the Program by Simulating Edge Situations
89 1. A Strict Distortion Bound
-200
2040
60
-20
0
20
40-5
0
5
The front part after flattening, C(f) = 1.0175, Number of planes = 292
-200
2040
60
-40
-20
0
20-5
0
5
The back part after flattening, C(f) = 1.0175 , Number of planes = 495
Front Part: 292 planes Back Part: 495 planes
C(f) = 1.0175
2. A Weak Distortion Bound
Testing the Program by Simulating Edge Situations
3
1 Plane,C(f) = 20.0811
Rotating…
2. A Weak Distortion Bound
2. A Weak Distortion Bound
Simulation with many CT slices
-40 -20 0 20 40 60
0
20
40
60
-4
-2
0
2
4
The front part after triangulation, and before projection on surfaces
-40-20
020
4060
-20
-10
0
10
20-4
-2
0
2
4
The back part after triangulation, and before projection on surfaces
Back part: 1329 triangles Front part: 728 triangles
The results of the triangulation:
Simulation with many CT slices
-40-20
020
4060
-20
-10
0
10
20-5
0
5
-40-20
020
4060
0
20
40
60-6
-4
-2
0
2
4
The front part after flattening, C(f) = 1.1405, Number of planes = 73
The results of the surface flattening,
C(f) = 1.1405
82
Front PartC(f) = 1.140588 planes
Back PartC(f) = 1.1405173 planes
Simulation with many CT slices
-40-20
020
4060
-20
0
20
40
60-6
-4
-2
0
2
4
The two parts together, 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
THE END