Download presentation
Presentation is loading. Please wait.
1
Surface Reconstruction from 3D Volume Data
2
Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
3
Medical data sources CT (Computed Tomography) MRI (Magnetic Resonance Imaging) SPECT (Single Photon Emission Computed Tomography) Parallel slices at intervals of 1 to 5mm Gray-level images with 8 or 12 bits Usually 128x128 to 512 x 512 pixel images
8
Assumptions Structured data –Slices are parallel and along Z axis –The XY plane is sampled uniformly –The sampling is dense and uniform Spatial coherence Curvature
9
Boundary segmentation Gray levels correspond to different bone and tissue densities (Hounsfield units) Segmentation of different types of organs based on predetermined gray values Extraction of iso-surfaces: surfaces whose pixels are within predetermined range
10
Example of iso-surface extraction
11
Desired properties of the reconstruction Agree with the data –should not create new features –should contain all existing features Correct topology Position and rotation invariance Surface continuity
12
Reconstruction methods 2D methods (contour matching) extract contours in each image separately and then try to connect them to form the surface 3D methods (Marching cubes) work on consequent images, constructing pieces of the surface connecting them
13
2D-Based Reconstruction 1. 2D contours extraction. –boundary following (left hand on the wall). –sequential scanning. 2. Surface tiling – establish correspondences between points
14
2D Reconstruction: problems How to match the points? –individual 2D contour sampling does not necessarily make points correspond –closest point matching + manual corrections –smoothing contours to reduce number of points Topological problems –self intersection –inconsistent topology
15
Inherent asymmetry: – the XY plane is treated differently than the other planes. –This cause the algorithm to be dependent of the object’s orientation. 2D-based reconstruction: problems (2)
16
3D Based Reconstruction Define 3D elements as VOXELS and the connectivity between them. Two representations: Boundary element as a face Boundary element as a vertex
17
Block and beveled form duality
18
Marching cubes algorithm Look at eight pixels in two consecutive slices Determine if a surface goes through according to the values at its edges If a surface goes through, construct the surface elements and “march on” to adjacent voxels
19
The Marching Cube
20
Cube representation
21
Surface topology within a cube
22
Surface topologies: cases A cube with 8 vertices, each is either 1 (inside object) or 0 (outside) Total of 2 8 = 256 cases to examine (one bit to each vertex). The 8 bits form an 8 bit index to a 256-entries edge table. Reduce number of entries by symmetry
23
Instances of the same case
24
14 cases of surface topologies
26
Positioning the Surface Find the exact location of the surface’s vertices on the voxel’s edges. The original vertices gray levels are linearly interpolated. Higher order interpolation can be used but experiments show little improvement. 240 180 The Range : 310 < I < 200 200
27
Surface normals (1) Calculate unit normal for each triangle vertex (for shading calculations). The gradient Vector g, is the derivative of the density function
28
Surface normals (2) Estimate the gradient vector at the cube vertices. For each vertex : D(i,j,k) - density at pixel(i,j) in slice k, length of the cube edges. slices distance
29
Surface normals (3) Linearly interpolate the gradient at the point of intersection. Dividing the gradient by it’s length produce the unit normal at the vertex. On a surface the direction of the gradient vector is the normal to this surface. Keep only 4 slices in memory in order to calculate at all vertices of the cube.
30
Marching Cubes Algorithm (Lorenson, Cline 1987) Calculate index Read 4 slices into memory look at table Form a cube from 2 slices Interpolate normals use densities find intersection Output : triangle vertices & normals Calculate a unit normals
31
Efficiency Enhancement Take advances of pixels, lines and slice coherence. 3 new edges need to be interpolated for each cube (for interior cubes) instead of 12. Decrease the number of triangles by reducing the slice resolution - averaging 4 pixels into one.
32
Coherence
33
Desired properties of the reconstruction Agree with the data –should not create new features –should contain all existing features Correct topology Position and rotation invariance Surface continuity
34
constructed model original surface outside point inside point X = 0.5mm Z = 5mm Surface quality Non uniform sampling in the X-Y and Z planes causes “steps” results.
35
Sampling at a higher rate 5mm between slices 1mm between slices
36
Face ambiguities a b c efg d
37
Holes
38
Dealing with ambiguity (1) Supersampling - interpolate to obtain new values which are used to disambiguate. 1. calculate each face separately 2. disambiguate by calculating the value of the center of face.
39
Dealing with ambiguity (2) Voxel Topology - evaluate vertex adjacencies and check consistency in order to disambiguate. The surface should separate not only “on”- ”off” voxels but also “on” voxels that are not locally adjacent.
40
18 - adjacencies 26 - adjacencies 6 - adjacencies
41
Create objects that are connected according to pre-defined adjacency Resolve face ambiguity and objects can be unambiguously recover from it’s surface. Advantage : No need to hold actual data values (gray levels), but binary data. No need to interpolate Faster
42
Dealing with ambiguity (3) Use tetrahedra and not cubes to decide where the surface intersects. Decompose each cube to 5 tetrahedra with 4 voxels.
44
No ambiguous cases. 14 ways that surface can pass through tetrahedron reduced by rotation and complementary symmetry to 2 cases : disadvantage : higher number of polyhedral faces recommended : preprocessing merging procedure
45
Tetrahedra - problems Non uniform topology on the voxels. 2 voxels are adjacent iff they lay in the same tetrahedron : T-adjacency. Result : Not translation invariant - the surface construction depends also on the position of the objects ambiguous surface construction.
46
Single surface surrounding all the “on” voxels - many disjoint surfaces - Example : 3D - checker board
47
Conclusions Wildly used in today’s applications. Problems: ambiguity, self intersection construct high number of triangles. Recommended - surface simplification as post-processing step
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.