Download - Surface Nets
-
8/14/2019 Surface Nets
1/20
MERL - A Mitsubishi Electric Research Lab
Constrained Elastic
SurfaceNets:
generating smooth surfaces from
binary segmented data
Sarah F. F. Gibson
MERL - A Mitsubishi Electric Research Lab
Binary Databinary segmentation produces rough,
unrealistic models
need models with smooth surfaces for high
quality rendering and for modeling physical
interactions
-
8/14/2019 Surface Nets
2/20
MERL - A Mitsubishi Electric Research Lab
Artifacts from Binary Data
polygon rendered medial meniscus
from MRI @ 0.27x0.27x0.25 mm resolution
volume rendered knee bones
from MRI @ 0.27x0.27x1.4 mm resolution
MERL - A Mitsubishi Electric Research Lab
Surface Smoothing
existing techniques:
1) local smoothing (e.g. low pass filtering of the
binary data) and then surface construction using
an algorithm such as Marching Cubes
2) global smoothingby warping a
parameterized surface to fit the binary surface
-
8/14/2019 Surface Nets
3/20
MERL - A Mitsubishi Electric Research Lab
Low-pass Filtering
low pass filtering smoothes local features
but does not remove terraces unless the
filter size is quite large
MERL - A Mitsubishi Electric Research Lab
Problems with Local Smoothing
low pass filtering removes fine detail
indiscriminately
local filtering does not remove terracing
artifacts unless the filter size is large
additional smoothing and decimation of the
Marching Cubes surface is done without
reference to the original data
-
8/14/2019 Surface Nets
4/20
MERL - A Mitsubishi Electric Research Lab
Global Smoothing
global smoothing by warping a
parameterized surface to find a
minimum energy surface
example from I. Takanahi et al, SUNY-SB
MERL - A Mitsubishi Electric Research Lab
Problems with Global Smoothing
choosing the number of grid points in the
parameterized model depends on the
amount of detail in the surface
tradeoffs between smoothness and surfacedetail is made by setting global parameters
-
8/14/2019 Surface Nets
5/20
MERL - A Mitsubishi Electric Research Lab
Constrained Elastic SurfaceNets
MERL - A Mitsubishi Electric Research Lab
Constrained Elastic SurfaceNets
initialize an elastic net of surface nodes at the
resolution of the data to fit the binary surface
relax the net to smooth the surface while
constraining the nodes using the binary data
attain a globally smooth surface that is locally
faithful to the original segmentation
-
8/14/2019 Surface Nets
6/20
MERL - A Mitsubishi Electric Research Lab
Algorithm in 2Dcell
sample point
interior data sample
MERL - A Mitsubishi Electric Research Lab
Algorithm in 2D
1) locate surface cells
surface cell
interior data sample
-
8/14/2019 Surface Nets
7/20
MERL - A Mitsubishi Electric Research Lab
Algorithm in 2D
2) place a SurfaceNet node at the center of
each surface cell
X X X
X X
X X
Xinterior data sample
X SurfaceNet node
MERL - A Mitsubishi Electric Research Lab
Algorithm in 2D
interior data sample
3) establish links between 4-connected
surface nodes
X X X
X X
X X
X
X SurfaceNet nodeSurfaceNet link
-
8/14/2019 Surface Nets
8/20
MERL - A Mitsubishi Electric Research Lab
Algorithm in 2D
interior data sample
4) adjust node positions to relax the SurfaceNet
while remaining within the original surface cell
X X X
X
X
X
X
X
X SurfaceNet node
SurfaceNet link
MERL - A Mitsubishi Electric Research Lab
2D Examples
initial
initial
-
8/14/2019 Surface Nets
9/20
MERL - A Mitsubishi Electric Research Lab
2D Examples
initial 1 iteration
initial 1 iteration
MERL - A Mitsubishi Electric Research Lab
2D Examples
initial 1 iteration 30 iterations
initial 1 iteration 20 iterations
-
8/14/2019 Surface Nets
10/20
1
MERL - A Mitsubishi Electric Research Lab
Topological Considerations
For ambiguous surface topologies:
MERL - A Mitsubishi Electric Research Lab
Topological ConsiderationsMarching Cubes makes arbitrary decisions
about surface topology
-
8/14/2019 Surface Nets
11/20
1
MERL - A Mitsubishi Electric Research Lab
Topological Considerations
Marching Cubes makes arbitrary decisions
about surface topology
MERL - A Mitsubishi Electric Research Lab
Topological ConsiderationsSurface Nets maintain surface ambiguity for
later high level processing
X
X
X
X
X XXX
-
8/14/2019 Surface Nets
12/20
1
MERL - A Mitsubishi Electric Research Lab
3D Algorithm
1) locate surface cells
2) place a SurfaceNet node at the center of
each surface cell
3) establish links between 6-connected
surface nodes
4) adjust node positions to relax the
SurfaceNet while remaining within the
original surface cell
MERL - A Mitsubishi Electric Research Lab
3D Examples
original surface 1 relaxation 2 relaxations 3 relaxations 4 relaxations
5 relaxations 6 relaxations 7 relaxations 8 relaxations 9 relaxations
10 relaxations 15 relaxations
Binary sphere:
radius 30 voxels
-
8/14/2019 Surface Nets
13/20
1
MERL - A Mitsubishi Electric Research Lab
3D Examples
original surface 1 relaxation 12 relaxations
Femur, 0.27 x 0.27 x 1.0 mm resolution
MERL - A Mitsubishi Electric Research Lab
Building a Surface Triangle Model
Nice Properties of SurfaceNets:
1) surface triangles can be generated automatically
from the structure of the SurfaceNet
2) the triangle model only needs to be constructed
once
as the surface relaxes, the topology is maintained and
only the triangle vertex positions and normals change
-
8/14/2019 Surface Nets
14/20
1
MERL - A Mitsubishi Electric Research Lab
Surface Triangulation
each SurfaceNet node has 6 possible links
and hence 12 possible triangles
rightleft
top
bottom
front
back
x
MERL - A Mitsubishi Electric Research Lab
Surface Triangulation
front-back face
rightleft
top
bottom
front
back
x
-
8/14/2019 Surface Nets
15/20
1
MERL - A Mitsubishi Electric Research Lab
Surface Triangulation
left-right face
rightleft
top
bottom
front
back
x
MERL - A Mitsubishi Electric Research Lab
Surface Triangulation
top-bottom face
rightleft
top
bottom
front
back
x
-
8/14/2019 Surface Nets
16/20
1
MERL - A Mitsubishi Electric Research Lab
construct the triangles for each node based
on the presence or absence of links to the
nodes 6 possible neighbors
orient triangles to point out of the
segmented object by referencing the binary
segmentation
Surface Triangulation
MERL - A Mitsubishi Electric Research Lab
Examples
brain atlas, segmented data courtesy of SPL, Brigham and Womens Hospital
-
8/14/2019 Surface Nets
17/20
1
MERL - A Mitsubishi Electric Research Lab
Examples
volume rendered brain from smoothed SurfaceNet
MERL - A Mitsubishi Electric Research Lab
Examples
surface model of the femur
from SurfaceNets,
rendered with OpenGL
surface model of the femur
after low-pass filtering,
Marching Cubes, and
rendering with Vtk
-
8/14/2019 Surface Nets
18/20
1
MERL - A Mitsubishi Electric Research Lab
Examples
abdominal arteries, segmented data courtesy of SPL, Brigham and Womens Hospital
MERL - A Mitsubishi Electric Research Lab
SurfaceNets:
removes terracing
artifacts
preserves fine detail
remains faithful to theoriginal segmentation
Binary Segmentation
Smooth Surface
Model
Polygon
Rendering
Volume
Rendering
SurfaceNets
-
8/14/2019 Surface Nets
19/20
1
MERL - A Mitsubishi Electric Research Lab
Thanks
data and binary segementations from the
Surgical Planning Lab, Brigham and
Womens Hospital
Mike Leventon for Vtk and Marching Cubes
example
MERL - A Mitsubishi Electric Research Lab
-
8/14/2019 Surface Nets
20/20
MERL - A Mitsubishi Electric Research Lab
Why Use Binary Segmented Data?