Growth Simulation of Human Embryo Brain
S. Czanner ∗, R. Ďurikovič and H. Inoue
Software Department, The University of Aizu
Aizu-Wakamatsu City, Japan
czanner, roman@u-aizu.ac.jp
Abstract
The growth of the brain of human embryo is changing through a long time in the body of mother. So it is
very difficult to observe and to understand that process.
Therefore, the embryologists found the realistic human
organ models and animations necessary for their studies. But to create the realistic human embryo brain
models and to do the animations it requires an appropriate methodology. The aim of this paper is to present
a developing methodology based on the functional representation and the convolution of the surfaces [4, 5, 6].
We employed this to create a growth simulation of the
human embryo brain. The idea of this technique is the
following. As a first step the 2D central skeleton is created from an artistic drawing and then the 3D skeleton
is modeled by adding the thickness. As the next step,
the skeletons representing key-frame models are used to
create an animation. At the end the gap between the
key-frame models is filled by the suitable interpolation
techniques and finally the animation is composed.
Keywords: human embryo, brain, convolution surfaces, F-rep, geometric modeling, blending, skeleton,
morphing, animation.
1
Introduction
To understand the development of the human organs, the realistic models are necessary. One of the
significant organs during a human embryo development
is the human brain. The shape of the brain is organic
and has many folds that are hard to model with conventional techniques; it is therefore necessary to create
a new methodology.
In our research we have modified the techniques
developed by Durikovic, Kaneda and Yamashita [1].
∗ On leave from Department of Computer Graphics and Image Processing, Faculty of Mathematics, Physics and Computer
Science, Comenius University, Bratislava, Slovakia
There was developed a system in which multiple organs
and the environment are separate processes, information from each of which is transmitted using communication modules. The methodology, which is based on
algebraic L-systems with cycles, was demonstrated on
a growth model of human embryo stomach. The proposed method is not well designed for use in the growth
simulation of other organs, therefore we decided to use
for our growth simulation theory of implicit surfaces.
There is other semi-automatic reconstruction
method based on implicit iso-surfaces generated by
skeleton [11] that can be used on noisy scattered points
of medical organs. The basis of the method is minimization of the energy that represents the distance between the data and the surface, during a series of skeleton refinements. In our approach, the skeleton consist
several triangulated tubular shapes. To generate the
models for growth simulation we used a convolution
over the triangles.
2
Convolution Surfaces
In the process of the drawing of special objects, computer graphics algorithms must perform a variety of
geometrical calculations. The mathematical representation and manipulation of shapes is, therefore, crucial
to the geometric modelling process. Various forms are
used as geometrical primitives ranging from parametric
surfaces through implicit surfaces to solids.
A parametric surface is given by a special position
function p(u, v) = [x1 (u, v), x2 (u, v), x3 (u, v)]. In practice, the functions are splines defined by pieces of polynomials, or ratios of polynomials.
An implicit surface defined by function f is the set
of points {p ∈ R3 : f (p) = 0}, p = p[x1 , x2 , x3 ] The
function f is called an implicit function [4, 5]. The
implicit surfaces are often used on convolution to round
a solid model.
Let us have the following modelling equation in an
implicit form:
h(r)
N
Fi (p) − T = 0.
0.8
(1)
i=1
0.6
The convolution surface defined by Eq. 1 is called an
iso-surface, where Fi are the source potentials and T is
the iso-potential threshold value.
0.4
0.2
2.1
Convolution Kernel
r
-3
To create a model of human embryo brain we used
a convolution with piecewise planar skeleton. The
skeleton, a standard geometric modeling representation, has become a popular construction for implicit design. It consists of an arbitrary number of elements and
each element generates an associated implicit primitive
(point, line, triangle, ).
Let have function f be representing the geometry
of an implicit primitive. Let h be a potential function
that describes the field generated by a single point of
that primitive.
The total amount of field at point r, generated by
the whole primitive is
f (p)h(r − p)dp.
F (r) =
-2
-1
0
1
2
3
Figure 1. The convolution kernel.
where f is a real continuous function defined on En .
The above inequality is called a function representation (F-rep) of a geometric object and function f is
called the defining function. In three-dimensional case
the boundary of such a geometric object is called implicit surface. The major requirement on the function
is to have at least C 0 continuity. In our model the
defining function is the function F (r) defined over a
3D skeleton, which has the C 1 continuity.
The set of points Xi (x1 , x2 , ..., xn ), i = 0, ..., N in
En associated with Eq. 2 can be classified as follow:
R3
which is a convolution of two functions f and h.
The convolution integral can be conveniently written
as an integral of the potential function h(r) over the
volume of the primitive:
h(r − v)dv.
F (r) =
V
McCormack and Sherstyuk [2, 3] define a new kernel that allows analytical calculation of field equation
simplified as:
dv
F (r) =
,
2 r2 (v))2
(1
+
s
V
where r = |r − p| is the distance from the point p
and coefficient s controls the width of the kernel, see
Figure 1.
The shape of a convolution surface can be varied in
several ways: by changing the skeleton, the changing
the convolution kernel, and by spatial deformation.
3
f (Xi ) > 0 if Xi is inside the object,
f (Xi ) = 0 if Xi is on the boundary of the object,
f (Xi ) < 0 if Xi is outside the object.
3.1
Set-theoretic operations
Let binary operations on geometric objects represented by function be defined by
F (f1 (X), f2 (X)) ≥ 0,
where F is a continuous real function of two variables [5]. Such operations are closed on the set of function representations. The resulting object will have the
descriptive function as follows:
For object union
1
(f1 + f2 + f12 + f22 − 2af1 f2 ).
f3 = f1 |f2 ≡
1+a
For object intersection
Function representation
f3 = f1 &f2 ≡
Let us consider closed subsets of n-dimensional Euclidian space En with the definition:
f (x1 , x2 , ..., xn ) ≥ 0,
(3)
(2)
1
(f1 + f2 −
1+a
f12 + f22 − 2af1 f2 ).
For object subtraction
f3 = f1 \f2 ≡ f1 &(−f2 ).
a)
b)
a)
b)
c)
d)
Figure 2. An example of using the settheoretic operation union. There are three
line segments connected by operation union.
a) In the middle of each line segment is rendered its skeleton. b) The line segments were
rendered as solid objects.
where f1 and f2 are descriptive functions of initial subjects, a = a(f1 , f2 ) is the arbitrary continuous function
satisfying the following conditions:
−1 < a(f1 , f2 ) ≤ 1
a(f1 , f2 ) = a(f2 , f1 ) = a(−f1 , f2 ) = a(f1 , −f2 )
and {|, &, \} are notations of so-called R-functions.
There is an example of using the union operation
on Figure 2. We connected three line segments with
following parameters: horizontal line, T = 0.7, S = 0.5,
vertical left line: T = 0.7, S = 0.7, vertical right line:
T = 0.7, S = 0.5. The connection of the line segments
is not smooth enough and there is not a possibility to
correct or control the shape of connection, therefore we
decided to use blending union operation.
3.2
Blending union operation
The mathematical description of the blending union
operation is as follow:
a0
F (f1 , f2 ) = f1 + f2 + f12 + f22 +
,
f1 2
1 + ( a1 ) + ( af22 )2
where f1 and f2 are defining functions of the objects
which are blended. The absolute value a0 defines the
total displacement of the blending surface from two
initial surfaces. The values a1 > 0 and a2 > 0 are proportional to the distance between blending surface and
the original surface defined by f1 and f2 respectively,
see Figure 3.
4
Brain model creation
The previous chapter discussed the theory of F-rep
and convolution surfaces. As a next, we will show a
Figure 3. Operation Blending union with several blend parameters. We connected three
line segments with the same parameters as
was showed on Figure 2. For blending we
used the same parameters a0 , a1 and a2 a)
a0 = a1 = a2 = 0.01 b) ai = 0.05 c) ai = 0.25
and d) ai = 0.5.
method for modeling the organics shapes by F-rep.
4.1
Brain pictures
First step in the model creation process is to obtain
the size measurements of brain stages from embryological atlas. Embryological atlas contains hand-drawing
pictures ordered by age. In the presented growth simulation we used the models from day 28 - 56 days old
brain. There are several possibilities, how to obtain
the brain measurements. In our case the brain on the
pictures has been measured by ruler. Then upper and
lower lines were created and the correspondent points
from upper and lower lines were connected. At the end
triangular patches were drawn over the pictures and
photographs, see Figure 4.
4.2
Central skeleton
The result of the measurements and the conversion
made in previous section is 2D model containing the
triangular patches. We call it the central skeleton. In
order to be more detailed in the description of some
brain models and also because of unwanted blending
problems the central skeleton was divided to several
parts. An example is shown on the Figure 5. Namely
upper line
central
skeleton
side
skeletons
lower line
central line
Figure 4. The conversion of drawing object to
central skeleton.
Figure 6. Adding the thickness by scaling and
shifting the central skeleton.
part I
part II
central
skeleton
part III
a
b
c
θ
t
Figure 5. Dividing the central skeleton to 3
parts. The line in the middle of the central
skeleton is called central line.
side
skeleton
y
y
x
z
z
the part I described rhombencephalon, part II mesencephalon and part III prosencephalon.
The next important step for generating a spatial
brain model is to calculate a central line. Central line
is the line through the center of each part of central
skeleton. It is a base for defining the thickness of the
model. The control points of central line were calculated as the middles of corresponding points from vertical segments.
4.3
Skeleton
By adding the thickness to 2D model we obtained
the 3D skeleton. Then we slightly scaled a multiple
number of copies of central skeleton a shifted them to
the left and right sides from the central skeleton, see
Figure 6.
Each of side skeletons is scaled to fit the ellipses
whose center is on the central line. Ellipse has two radiuses a and b. Radius a is a distance to the central line
from the border of the central skeleton. Radius b follows the equation: b = αa , where α is a ratio between
a and b which is used to create enough thickness. As
next step the side skeletons are translated by t, which
has been obtained from t = c cos θ. The description of
the variables c and θ is shown on Figure 7. Finally, side
skeletons are connected with a central skeleton or with
other side skeletons by a triangular mesh. After eras-
Figure 7. A 3D skeleton for 36 days old human
embryo brain.
ing all interior triangular patches, which was done by
triangular patches indexing we obtain multiple tubular shapes forming together the entire skeleton of the
brain.
The 3D skeleton model, shown on the Figure 7 is a
3D object created from union of three tubular shapes
used for quick preview.
4.4
HyperFun modelling
The last step in the model creation process is to
create a smooth convolution surface defined over the
skeleton. Final convolution surface is calculated by
convolution operation between the kernel and the skeleton triangles for each tubular skeleton part. Geometric
primitive corresponding to respective skeleton parts are
given together by set theoretic or by arithmetic operations between defining functions.
In order to create brain model with convolution surfaces, we use HyperFun [6, 7] as modelling software and
POV-Ray [8] as rendering software.
To generate a convolution surface over the triangles
we used the HyperFun command hfConvTriangle. For
Stages
Stage1
Stage2
Stage3
Stage4
Stage5
Stage6
Stage7
Figure 8. The human embryo brain, age: 36
days. Left: 3D skeleton, right: entire brain
model, which was de£ned by function representation.
Age
[days]
28
32
36
42
49
56
72
Size (mm)
[mm]
3.5
5
9
11
15
27
56
Number of
skeleton triangles
296
476
588
548
724
704
710
parts
1
1
3
3
4
4
4
Table 1. All stages of brain model data.
5.1
Key-framing
The embryological atlas consists of 8 artistic drawings of the human embryo brain development. We have
used first 7 images as key-frame models for the animation process. The key-frame models were named
Stage1,..., Stage7. The base measurements and statistical information is collected in Table 1.
5.2
Figure 9. Composition of entire brain model
(age: 28 days) with RTG image of human embryo.
the entire brain model, which is shown on Figure 8
right, the convolution parameter S has been set to 0.5
and T to 0.6. We have set the brain thickness parameters to 1.0 at parts I and II ant to 1.2 at part III. To create the entire model all three parts are connected with
blend-union operation using the HyperFun command
hfBlendUni. In our example the blending parameters
a1 , a2 and a3 are equal to 0.2.
5
Animation
In order to make animation, the key-frame models
and morphing interpolation between them are important.
Morphing
The shape transformations can be applied to the
various types of graphical objects, such as 2D drawings, images, surfaces and volumes. Given a certain
specification, there are various choices in implementing the transformation, not only in selecting the type of
modeling, but also in deciding how the object data will
be transformed. There does not exist a general morphing technique we could use in our case because the
available techniques use strictly the shape and topology information but they neglect the known growth
processes, movements and knowledge of embryologists.
A work described in [10] proposed a skeleton feature
vectors but they still use a blending technique to hide
the topology errors that occur during their 3D morphing step.
We decided to propose the featured-based 3D morphing technique with a simple user interaction to control the complicated growth process. Our technique
uses both the global deformations to roughly match
the global movements of the brain during the growth
and the local morphing technique to correct the shape
details.
To generate the models between key-frame brain
stages we used various types of interpolation. Between
Stage1 and Stage2, Stage2, Stage4 and Stage4, Stage6
and Stage6, Stage7 the tricubic interpolation based on
Catmull-Rom interpolating curves [9] was used. We
used also this interpolation technique to produce a new
temporary skeleton points in-between frame skeletons.
Figure 10. A growing sequence of human embryo brain. The age of embryo is 56 to 72
days.
The equation for Catmull-Rom splines for onedimensional case, can be expressed by the following
matrix formula:
C(u) = U M P T ,
(4)
where U = [u3 , u2 , u, 1], P = [pi−1 , pi , pi+1 , pi+2 ], and
−0.5
1.0
M =
−0.5
0
1.5
−2.5
0
1
−1.5
2.0
0.5
0
0.5
−0.5
.
0
0
C(u) is the interpolated value, pi−1 , pi , pi+1 , pi+2 are
four consecutive data points and u ∈ [0, 1] is a parameter that defines the fractional position between pi and
pi+1 .
Catmull-Rom interpolation is used to interpolate
position between skeleton points, values of convolution
filter parameters S and T and thickness parameters
α, θ and last blending parameters a0 , a1 and a2 . This
technique generates good in-between models. Some of
them are shown on Figure 10.
5.3
Composition
The visual result of modeling the human embryo
brain using function representation is an animation.
The number of in-between key-frame models depended on the age of key-frame models. We calculated
10 frames for 1 day of the growth. The speed of final
animation corresponds to 12 frames per development
day. A single frame from the final animation is on the
Figure 10.
Figure 11. Composition of entire brain model
(age: 28 days) with RTG image of human embryo.
6
Conclusion
We succeeded to model human embryo brain using
convolution surfaces and to create growth animation
between 28 days old human embryo brain and 56 days
old human embryo brain. The same approaches can
be used for other human organs. We have used and
improved an idea to model the organic shapes by function representation and convolution surfaces. Some of
the advantages of this approach are to avoid the topology artifacts during the animation of in-between shapes
and easier key framing by a simple animation of the
skeleton of convolution surface.
In the future work we implement branches and details for brain models and create grown-up brain models and growth animation between older human embryos.
Acknowledgements
Authors wish to thank Mineo Yasuda from Medical
School of Hiroshima University for sharing the knowledge as an embryologist. The images were rendered
by the POVRay ray-tracing program programmed by
POVRay Team. This research was sponsored by grants
from the Fukushima Prefectural Foundation in Japan
for the Advancement of Science and Education.
References
[1] R. Ďurikovič, K. Kaneda and H.Yamashita, Animation of biological organ growth based on L-systems.
Computer Graphics Forum, vol. 17, no. 3, pp. 1-13,
1998.
[2] J. McCormack and A. Sherstyuk, Creating and
Rendering Convolution Surfaces, Computer Graphics Forum, vol. 17, no. 2, pp. 113-120, 1998.
[3] A. Sherstyuk, Interactive Shape Design with Convolution surface, Proceeding of Shape Modeling and
Applications, Aizu-Wakamatsu, Japan, pp. 56-65,
1999.
[4] J. Boolmethal and K. Shoemake, Convolution Surfaces, Proceedings of SIGGRAPH 91 (Las Vegas,
NV, July 4, 1991) In Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH,
1991.
[5] A. Pasko, V. Adzhiev, A. Sourin and V, Savchenko,
Function representation in geometric modelling:
concepts, implementation and applications, The Visual Computer, vol. 11, no. 8, pp. 429-444, 1995.
[6] V. Adzhiev, R. Cartwright, E. Fasett, A. Ossipov, A. Pasko, V. Savchenko, Hyper-Fun project:
a framework for collaborative multidimensional Frep modelling, Proceedings of Implicit Surfaces 99,
Workshop (Bordeaux, France, September 13-15,)
pp. 59-69, 1999.
[7] WEB page:
Shape Modeling and Computer
Graphics
with
Real
Functions,
http://wwwcis.k.hosei.ac.jp/ F-rep, 2001.
[8] WEB page: POV-Ray, the Persistence of Vision
ay-tracer, http://www.povray.org, 2001.
[9] L. Arata, Graphics Gems V, AP Professional,
Boston, pp. 107-110, 1995.
[10] A. Lerios, Ch. D. Garfinkle, M. Levoy, FeatureBased Volume Meta-morphosis. Computer Graphics, Proceedings of SIGGRAPH 95 (Los Angeles,
CA, August 6-11, 1995) In Computer Graphics
Proceedings, Annual Conference Series, ACM SIGGRAPH, pp. 449-456, 1995.
[11] N. Tsingos, E. Bittar and M. Gascuel, Implicit
Surfaces for Semi-Automatic Medical Organ Reconstruction, Computer Graphics: Developments
in Virtual Environments (Proceedings of Computer
Graphics International 95, May 1995 UK), pp. 3-15,
1995.