Biomedical Engineering Reference
In-Depth Information
Fig. 8.4. Key components of cmgui, including some of the external Open Source libraries contained
in the build. wxWidgets provides GUI widgets, OPT++ is a numerical optimisation library, Netgen
is for tetrahedral meshing, OpenCascade is a CAD library, gdcm is for DICOM I/O, ImageMagick
is for image I/O, and ITK is the Insight Toolkit for image processing and segmentation
graphical applications where client code needs to be notified of changes to fields,
permitting for example graphics to be automatically updated to reflect the changes.
Regions are a container of fields, domains and their sub-objects, as well as child
regions, permitting cmgui models to have an hierarchical structure. Regions pro-
vide separate namespaces for their sub-objects: except where explicitly imported,
fields and other region sub-objects, such as nodes and elements, are independent of
any same-named object in another region. Regions provide notification to clients for
changes to the fields they contain.
Within regions, fields store model and other data, or compute values from other
fields. Originally, cmgui fields consisted of nodal parameters and continuously inter-
polated element fields. This has been expanded to include other data such as images,
and what we call “computed fields” which evaluate their values in terms of other
field values, implementing anything from basic mathematical operations (add, sub-
tract, cross product etc.) to invoking algorithms from libraries such as ITK image
processing.
Cmgui field types implement basic field functionality for query, evaluation and
value assignment, but may extend this with type-specific APIs. Field types offer
software modularity: the main method of extending cmgui is to define new field
types to implement the required function or to wrap one or more field-like features
of an existing data structure. Cmgui doesn't yet have a plug-in architecture for adding
new field types, but this is feasible.
Cmgui supports reading and writing of fields and models in its own EX format,
and reading and writing of images in various formats via ImageMagick/gdcm. It sup-
ports import from the latest FieldML format, and export to FieldML is planned for
implementation shortly. At this time FieldML data is translated on reading into inter-
Search WWH ::




Custom Search