Title: Surface Reconstruction from 3D Volume Data
1 Surface Reconstructionfrom3D Volume Data
2Problem Definition
- Construct polyhedral surfaces from
regularly-sampled 3D digital volumes.
3Medical 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
4(No Transcript)
5(No Transcript)
6(No Transcript)
7(No Transcript)
8Assumptions
- Structured data
- Slices are parallel and along Z axis
- The XY plane is sampled uniformly
- The sampling is dense and uniform
- Spatial coherence
- Curvature
9Boundary 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
10Example of iso-surface extraction
11Desired 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
12Reconstruction 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
132D-Based Reconstruction
- 1. 2D contours extraction.
- boundary following (left hand on the wall).
- sequential scanning.
- 2. Surface tiling
- establish correspondences between points
142D 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
152D-based reconstruction problems (2)
- Inherent asymmetry
- the XY plane is treated differently than the
other planes. - This cause the algorithm to be dependent of the
objects orientation.
163D Based Reconstruction
- Define 3D elements as VOXELS and the connectivity
between them. Two representations
Boundary element as a vertex
Boundary element as a face
17Block and beveled form duality
18Marching 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
19The Marching Cube
20Cube representation
21Surface topology within a cube
22Surface topologies cases
- A cube with 8 vertices, each is either 1 (inside
object) or 0 (outside) - Total of 28 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
23Instances of the same case
2414 cases of surface topologies
25(No Transcript)
26Positioning the Surface
- Find the exact location of the surfaces vertices
on the voxels edges. - The original vertices gray levels are linearly
interpolated. - Higher order interpolation can be used but
experiments show little improvement.
240
200
180
The Range 310 lt I lt 200
27Surface normals (1)
- Calculate unit normal for each triangle vertex
(for shading calculations). - The gradient Vector g, is the derivative of the
density function
28Surface 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
29Surface normals (3)
- Linearly interpolate the gradient at the point of
intersection. - Dividing the gradient by its 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.
30Marching Cubes Algorithm(Lorenson , Cline 1987)
Calculateindex
Read 4 slicesinto memory
look at table
Form a cube from 2 slices
Interpolate normals
use densitiesfind intersection
Output trianglevertices normals
Calculate a unitnormals
31Efficiency 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.
32Coherence
33Desired 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
34Surface quality
- Non uniform sampling in the X-Y and Zplanes
causes steps results.
Z 5mm
constructed model
X 0.5mm
35Sampling at a higher rate
36Face ambiguities
a
c
d
b
e
f
g
37Holes
38Dealing 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.
39Dealing 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(No Transcript)
41- Create objects that are connected according to
pre-defined adjacency - Resolve face ambiguity and objects can be
unambiguously recover from its surface. - Advantage No need to hold actual data values
(gray levels), but binary data.No need to
interpolate Faster -
42Dealing with ambiguity (3)
- Use tetrahedra and not cubes to decide where the
surface intersects. - Decompose each cube to 5 tetrahedra with 4
voxels.
43(No Transcript)
44- No ambiguous cases.
- 14 ways that surface can pass through tetrahedron
reduced by rotation and complementary symmetry to
2 cases - disadvantage higher number ofpolyhedral faces
- recommended preprocessing merging procedure
45Tetrahedra - 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.
46Example 3D - checker board
47Conclusions
- Wildly used in todays applications.
- Problems ambiguity, self intersection
- construct high number of triangles.
- Recommended - surface simplification as
post-processing step