Biomedical Engineering Reference
In-Depth Information
solver, described in Algorithm 3, solves Eq. (8.4) using the “up-wind scheme”
(not explicitly defined) and the sparse-field narrow-band method of [36], with
V
0
as the initialization and
V
edge
and
V
grad
as the force field in the speed
function.
Algorithm 1: M
AIN
(
V
1
,...,
V
D
)
comment:
V
1
,...,
V
D
are nonuniform samplings of object
V
global
V
edge
,
V
grad
⎧
⎨
V
0
←
uniform sampling of empty space
for
d
←
1to
D
do
V
0
←
V
0
∪
I
NITIALIZATION
(
V
d
)
V
edge
←∇
[distance transform[zero-crossing[
V
edge
]]]
V
0
←
S
OLVE
L
EVEL
S
ET
E
Q
(
V
0
,
V
edge
,α,
0)
V
0
←
S
OLVE
L
EVEL
S
ET
E
Q
(
V
0
,
V
grad
,α,β
)
return (Marching Cubes mesh of
V
0
)
do
⎩
Algorithm 2: I
NITIALIZATION
(
V
d
)
comment: Preprocessing to produce good LS initialization
⎧
⎨
⎩
V
d
←
Uniform trilinear resampling of
V
d
d
←
Set of voxels in narrow band of isosurface of
V
d
for each “unprocessed”
x
0
∈
d
⎧
⎨
do
Solve moving least-squares problem at
x
0
V
edge
(
x
0
)
←
scalar Canny edge, cf. Equation (8.12)
V
grad
(
x
0
)
←
3D directional edge, cf. Equation (8.13)
do
⎩
return (
V
d
)
Algorithm 3: S
OLVE
L
EVEL
S
ET
EQ (
V
0
,
V
,α,β
)
comment: Solve Equation (8.4) with initial condition
φ
(
t
=
0)
=
V
0
⎧
⎨
φ
←
V
0
repeat
⎧
⎨
←
Set of voxels in narrow band of isosurface of
φ
t
←
γ/
sup
x
∈
V
(
x
)
,γ
≤
1
for each
x
∈
do
⎧
⎨
⎩
n
←
upwind scheme [
−∇
φ
(
x
)
/
∇
φ
(
x
)
]
˙
⎩
φ
(
x
)
←∇
φ
(
x
)
(
α
V
(
x
)
·
n
+
β
∇·
n
)
φ
(
x
)
←
φ
(
x
)
+
do
⎩
˙
φ
(
x
)
t
˙
until sup
x
∈
φ
(
x
)
≤
return (
φ
)