Biomedical Engineering Reference
In-Depth Information
supporting reuse of domain descriptions and functional expressions;
efficiency in storage and performance;
a preference for homogeneous data (fixed-dimension manifolds; N homogeneous
arrays instead of one inhomogeneous collection)
The approach taken in FieldML contrasts with typical 'finite element' field inter-
change formats which build fields out of fixed data structures such as 'nodes' and
'elements' with fixed relationships between them which limit the description of more
general fields. FieldML is equally able to represent these legacy formats, but the
definition of sets of such 'objects' and the relationships between them, notably the
mapping of parameters for interpolation, must be explicitly described. FieldML is
essentially a meta-language for field interchange.
Reading and writing to the FieldML format is supported by the compan-
ion FieldML API which provides a C API for accessing and working with
FieldML documents and objects plus support for bulk data input/output (I/O). See
www.fieldml.org for further details.
8.7 Cmgui
Cmgui 12 is an advanced open source 3D visualisation software package for visual-
izing and manipulating models of fields defined over manifolds. Cmgui is primarily
used to visualize the dynamic geometry and solution fields obtained from numeri-
cal simulations of multi-scale and multi-physics physiological models. It is coded in
C/C++ and consists of data structures for describing hierarchical models built from
mathematical fields, graphics conversion operations for making field visualisations,
high-quality OpenGL rendering, and interactive manipulation tools. Fundamental
field types supported include finite element interpolation with high order basis func-
tions, 2D and 3D images and Computer Aided Design (CAD) geometry. Fields may
also be derived and manipulated by standard mathematical expressions, image pro-
cessing filters and other specialist operators.
Cmgui libraries are currently built containing all the components in Fig. 8.4 left
of the C API. However work is progressing to separate it into smaller libraries such
as the “core” Regions and Fields which clients may wish to use on their own. There
are already facilities for configuring out blocks of specialized functionality such as
ITK image processing filters and CAD fields. Most of the headers in the C API are
already divided between the blocks shown.
The following sections summarize what each block delivers to a potential client
of the cmgui library.
Regions and fields
The core part of the cmgui library is an interface to an in-memory representation
of Regions and Fields, broadly following the FieldML data model (Christie et al.,
2009). The implementation of these data structures is designed to support interactive
12
Distributed under a tri-license MPL, GPL or LGPL. See also Christie et al., 2002.
Search WWH ::




Custom Search