Intel Westmere CPU has only about 180 Gigaflops
floating-point capability. GPU has been widely used for
general-purpose computing (GPGPU) in various applica-
tions, going beyond its original target of computer
graphics and gaming industry. Compute unified device
architecture (CUDA) is a parallel programming model
and convenient software environment designed to support
GPGPU by NVIDIA while maintaining a low learning
curve for programmers who are familiar with standard
programming languages such as C. At its core are three
key abstractions—a hierarchy of thread groups, shared
memories and barrier synchronization—that are simply
exposed to the programmer as a minimal set of exten-
sions to C.
In the research fields for medical image processing,
GPGPU has been widely used in medical image seg-
mentation [5], registration [6, 7], CT and MRI recon-
structions [8–10]. In this paper, we proposed a modified
normal BET model [11] and a parallel BET method (P-
BET) [12]. The later one achieved a real-time brain
extraction from cerebral MRI volume using GPGPU and
CUDA. The running time decreased by about 10 times of
that of the normal BET method. However, the method
occupies too much GPU resource because all the slices
are processed at the same time, and the extraction result is
not good enough.
Inspired by Zhuang’s method, we proposed a slice-based
P-BET method (SP-BET) to perform P-BET method in a
slice-by-slice way. The result is much better with almost
the same consuming time as P-BET.
2 Summarization of BET
The main idea of BET is to push the contour to the brain
boundary by three forces. The first force is a smoothing
force u
1
, the direction of which is parallel with the tangent
to the contour, and it keeps all vertices in the contour
equally spaced. The second force is also a smoothing force
u
2
, the direction of which is vertical to the tangent to the
contour, and it drives the current vertex into line with its
neighbors, thus increasing the smoothness of the surface.
The last force is an expansionary force u
3
, the direction of
which is vertical to the tangent to the contour, and it pushes
the contour to the brain boundary.
2.1 Initialization of the contour
Firstly, the background of a 2-D MR image is removed
with a low threshold; then, the mean ‘‘radius’’ (r
0
) of the
brain in the image is estimated as well as the center (O). An
initial contour is set as a rough circle (r = r
0
/m, m [ 1 and
o = O) for this 2-D MR image.
2.2 Evolution of contour
In Fig. 1, A0 (central vertex), A1 (one neighbor of A0) and
A2 (another neighbor of A0) are consecutive vertices on
the contour; Ac is the mean position of A1 and A2; the
vector s(A0Ac
!
) is decomposed into orthogonal components
(s
t
and s
n
), which are normal and tangential to the local
contour, respectively. u
1
, u
2
and u
3
are defined in our
modified BET [11] as follows:
u
1
¼ s
t
ð1Þ
u
2
¼
0 cos h\ 0:94 ¼ cosð160
Þ
s
n
cos h 0:94 ¼ cosð160
Þ
ð2Þ
u
3
¼ 2 ðI
min
t
1
Þ=I
max
½
^
n b
g
ð3Þ
b
g
¼ 1 arc tanð20ðg 0:1ÞÞ=ð0:5pÞð4Þ
t
1
¼ð1 þ tanhð8ðI
max
t
4
t
2
ÞÞÞ=2 b
t
þ t
2
ð5Þ
The parameter selection is a little more difficult than that of
the normal BET. In (2), h is the angle between the two lines
connecting the central vertex and its two neighboring
vertices. The local contour is considered to be smooth
when h is bigger than 160°, and it is not necessary to take a
smoothing action when the local contour is considered to
be smooth; when h is smaller than 160°, the central vertex
is pushed toward the line joining its neighboring vertices.
In (3–5), I
max
and I
min
are the maximal and minimal
intensity values along a line pointing inward from the
current vertex to the center (O); t
1
is a nonlinearly modified
threshold with regard to b
t
(between 0 and 1), I
max
, t
4
and
t
2
; t
2
is a global robust threshold with a small value; t
4
is a
variable to adjust t
1
; b
g
is defined by the gradients of the
image (g)in(4). When the contour locates inside the brain
boundary where the gradient of the image is small, b
g
, u
3
and the translocation of vertex on the contour are large,
A0
A2
A1 Ac At
O
Sn
S
St
R
Fig. 1 Creating a local vector s from two neighboring vertices and
decomposing it into normal and tangential components to the local
contour
1146 Neural Comput & Applic (2014) 25:1145–1151
123