+ All Categories
Home > Documents > [Lecture Notes in Computer Science] Functional Imaging and Modeling of the Heart Volume 5528 ||...

[Lecture Notes in Computer Science] Functional Imaging and Modeling of the Heart Volume 5528 ||...

Date post: 08-Dec-2016
Category:
Upload: maxime
View: 213 times
Download: 1 times
Share this document with a friend
10
GIMIAS: An Open Source Framework for Efficient Development of Research Tools and Clinical Prototypes Ignacio Larrabide 1,2, , Pedro Omedas 2,1 , Yves Martelli 2,1 , Xavier Planes 2,1 , Maarten Nieber 2,1 , Juan A. Moya 2,1 , Constantine Butakoff 2,1 , RafaelSebasti´an 2,1 , Oscar Camara 2,1 , Mathieu De Craene 1,2 , Bart H. Bijnens 3,2,1 , and Alejandro F. Frangi 2,1,3 Center for Computational Imaging and Simulation Technologies in Biomedicine (CISTIB) 1 Networking Biomedical Research Center on Bioengineering, Biomaterials and Nanomedicine (CIBER-BBN), Barcelona, Spain 2 Universitat Pompeu Fabra, Barcelona, Spain 3 Instituci´o Catalana de Recerca i Estudis Avan¸cats (ICREA), Barcelona, Spain {ignacio.larrabide,pedro.omedas,alejandro.frangi}@upf.edu Abstract. GIMIAS is a workflow-oriented environment for addressing advanced biomedical image computing and build personalized computa- tional models, which is extensible through the development of application- specific plug-ins. In addition, GIMIAS provides an open source framework for efficient development of research and clinical software prototypes inte- grating contributions from the Virtual Physiological Human community while allowing business-friendly technology transfer and commercial prod- uct development. This framework has been fully developed in ANSI-C++ on top of well known open source libraries like VTK, ITK and wxWidgets among others. Based on GIMIAS, in this paper is presented a workflow for medical image analysis and simulation of the heart. Keywords: Biomedical imaging, cardiovascular modeling, Virtual Phys- iological Human, personalized simulations, open source software. 1 Introduction The integrative multi-scale and multi-disciplinar community that tries to under- stand the human patho-physiology is internationally known as “IUPS Physiome Project” [1,2] or, in the European context as “Virtual Physiological Human” (VPH) [3]. Besides the strategic character that it has regarding the priorities of the 7 th Framework Programme of the EU, the VPH is of great relevance in the current context given its integrative vision of the physiological and compu- tational knowledge. In this perspective, a key challenge in the development of integrative and predictive models for the human physiology is the creation of Corresponding author. N. Ayache, H. Delingette, and M. Sermesant (Eds.): FIMH 2009, LNCS 5528, pp. 417–426, 2009. c Springer-Verlag Berlin Heidelberg 2009
Transcript

GIMIAS: An Open Source Framework for

Efficient Development of Research Tools andClinical Prototypes

Ignacio Larrabide1,2,�, Pedro Omedas2,1, Yves Martelli2,1, Xavier Planes2,1,Maarten Nieber2,1, Juan A. Moya2,1, Constantine Butakoff2,1,Rafael Sebastian2,1, Oscar Camara2,1, Mathieu De Craene1,2,

Bart H. Bijnens3,2,1, and Alejandro F. Frangi2,1,3

Center for Computational Imaging and Simulation Technologies in Biomedicine(CISTIB)

1 Networking Biomedical Research Center on Bioengineering, Biomaterials andNanomedicine (CIBER-BBN), Barcelona, Spain2 Universitat Pompeu Fabra, Barcelona, Spain

3 Institucio Catalana de Recerca i Estudis Avancats (ICREA),Barcelona, Spain

{ignacio.larrabide,pedro.omedas,alejandro.frangi}@upf.edu

Abstract. GIMIAS is a workflow-oriented environment for addressingadvanced biomedical image computing and build personalized computa-tional models, which is extensible through the development of application-specific plug-ins. In addition, GIMIAS provides an open source frameworkfor efficient development of research and clinical software prototypes inte-grating contributions from the Virtual Physiological Human communitywhile allowing business-friendly technology transfer and commercial prod-uct development. This framework has been fully developed in ANSI-C++on top of well known open source libraries like VTK, ITK and wxWidgetsamong others. Based on GIMIAS, in this paper is presented a workflow formedical image analysis and simulation of the heart.

Keywords: Biomedical imaging, cardiovascular modeling, Virtual Phys-iological Human, personalized simulations, open source software.

1 Introduction

The integrative multi-scale and multi-disciplinar community that tries to under-stand the human patho-physiology is internationally known as “IUPS PhysiomeProject” [1,2] or, in the European context as “Virtual Physiological Human”(VPH) [3]. Besides the strategic character that it has regarding the prioritiesof the 7th Framework Programme of the EU, the VPH is of great relevance inthe current context given its integrative vision of the physiological and compu-tational knowledge. In this perspective, a key challenge in the development ofintegrative and predictive models for the human physiology is the creation of� Corresponding author.

N. Ayache, H. Delingette, and M. Sermesant (Eds.): FIMH 2009, LNCS 5528, pp. 417–426, 2009.c© Springer-Verlag Berlin Heidelberg 2009

418 I. Larrabide et al.

computational tools that enable the collaborative work between scientists, in-dustry and health care to bridge the gap between scientific discovery and clinicaltreatment.

An essential condition for the success of the VPH is the development of softwaretools that ensure methodology integration. As examples we can site all multi-scaleintegration, access and exploitation of large repositories and databases, process-ing of data with state-of-the-art algorithms, creation of personalized models, datafusion and visualization.

In this paper we present GIMIAS (Graphical Interface for Medical ImageAnalysis and Simulation), a workflow-oriented environment that has been spe-cially tailored for fast development of biomedical imaging and modeling softwareprototypes. GIMIAS provides an open source framework for the developmentof research tools and clinical prototypes, allowing the integration of contribu-tions from the Physiome community while allowing business-friendly technologytransfer.

2 Related Work

Current tools (see Table 1) have their own strengths and weaknesses, mainlylinked to the core skills of the research group behind it. However, there is notcurrently, a single application that fulfills all the requirements of all possibleVPH applications. For this reason, the VPH community is steadily progressingtowards establishing data, modeling and communication standards that ensureinteroperability between different tools rather than creating a single applicationthat accounts for all possible needs. Furthermore, there is also a need for a FreeOpen Source Software platform that allows efficient development of prototypes,that requires minimal training time or prior knowledge to get started.

What GIMIAS brings to the community is a common framework to helpon data manipulation and visualization in which processing algorithms can beeasily integrated. In this environment new algorithms and models (developedby the user or provided by an existing library) can be easily integrated in morecomplex processing workflows. Furthermore, GIMIAS and all the libraries onwhich it relies are Free Open Source Software. In this way, different teams usingthe platform, either from academia or industry, can interact and share moduleseasily. The main goal of this platform is to transfer novel technologies into clinicalenvironment by the fast development of prototypes.

3 Specifications

Taking into account all the requirements for the platform, GIMIAS architecturehas been designed to accomplish the following specifications. The following non-functional requirements, i.e., criteria usable to judge the system other than itsfunctionalities, should be addressed by GIMIAS:

– Modularity: its functionalities should be modular allowing flexibility in theway that they are combined to facilitate exchangeability and reuse.

Graphical Interface for Medical Image Analysis and Simulation 419

Table 1. Summarized list of current software development projects focused onmedical image processing and end-user software for model personalization. Thebrief feature list is based on the description provided by their distributors. Thefollowing list contains the corresponding websites for the tools described abovewhere further details can be found: www.brainvisa.info, www.cmiss.org/cmgui, www-sop.inria.fr/asclepios/software/MedINRIA, www.mevislab.de/, www.openmaf.org/,www.paraview.org, www.slicer.org.

Name Distribution license Brief list of features

BrainVISA Open source software. CeCILL Li-cense.

- scientific visualization- signal and image processing

CMGUI Open source software. MozillaPublic License.

- scientific visualization- scripting capabilities- model personalization- signal and image processing

MedINRIA Free for non-commercial use. - scientific visualization- model personalization- signal and image processing

MeVisLab Basic version free for non-commercial use. SDK versionrequires a commercial license.

- scientific visualization- scripting capabilities- plug-in architecture- image processing

OpenMAF Open source software. BSD-styleLicense.

- generic application framework- scientific visualization- model personalization- image processing

ParaView Open source software. BSD-styleLicense.

- scientific visualization- scripting capabilities- plug-in architecture

Slicer 3D Open source software. BSD-styleLicense.

- scientific visualization- plug-in architecture- image processing

– Simplicity: to allow technologists and scientists to easily integrate their al-gorithms in the platform in with small amount of time and effort.

– Flexibility: to support the development of research and clinical prototypeswith different degrees of complexity. Also, binary (compiled) and/or inter-preted (script-based) plug-in development should be possible requiring aneven smaller amount of prior knowledge to integrate new features.

– Interoperability: to cope with the increasing amount of image processingand modeling tools available and to ensure maximum reuse, it is of crucialimportance that this software is capable of inter-operating with others.

In order to illustrate how GIMIAS can be used for the implementation of aparticular workflow, let us use as an example an application for cardiac model-ing. On this regard, the treatment of biomedical data often involves (sometimeslarge) work-flows that require different data processing tools. This is particularlyimportant in the case of cardiac modeling, where the use of computational tools

420 I. Larrabide et al.

for image and signal processing, surface and volume mesh editing, creation ofnumerical models and data visualization is required.

GIMIAS framework usersGIMIAS, as a fast prototyping open source framework, has been developed think-ing in two different user profiles:

1. Researchers who want to test methodologies and easily create prototypes forvalidating the practical feasibility of research concepts. Using the proposedframework, they can create new plug-ins that incorporate their methodsand algorithms, allowing potential end-users (e.g., medical doctors, clinicalscientists, among others) to assess them.

2. Scientific developers (from academic or industrial environment) that need tocreate fast and cheap prototypes for research tools and/or clinical products.Moreover, by having a BSD licence, GIMIAS is appropriate for promotinginteraction between industrial and academic software development teams.

GIMIAS provides a simple Application Programming Interface (API) thatpermits, with minimal effort, to trial methodologies and algorithms in the formof end-user applications. Also, prototypes developed within/for GIMIAS can betested by end users in real scenarios and with real data at early developmentstages, providing very useful feedback as well as reducing the time required toget new concepts from research to the clinical environment.

4 The GIMIAS Architecture

GIMIAS has been designed to be extended via the addition of plug-ins. Plug-ins are extension units (e.g., dynamic link libraries or shared objects dependingon the platform) for an application whose architecture allows functionalities to

Fig. 1. Left: Schematic overview of the plug-in based architecture of GIMIAS. Gen-eral infrastructure services are used by the different plug-ins according to the specificapplication. Plug-ins can be changed to create new workflows. Right: Classes to bedeveloped, and their associated complexity and interaction, for the creation of a newplug-in. For the classes Widget and DataView the developer can choose either imple-menting them or using the standard implementation provided by the framework.

Graphical Interface for Medical Image Analysis and Simulation 421

be introduced by users or programmers at well-defined places after it has beeninstalled. In GIMIAS, plug-ins are software entities that can be created withminimal experience in programming for extending the application by providingspecific features in a modular way.

Plug-in based software architecture

GIMIAS provides an API for the plug-ins to interact with the application coreand with other plug-ins. The classes that can be extended for the creation ofa new plug-in are: Widget, SceneView, DataEntityList, FrontEndPlugin andProcessor (see Figure 1). Depending on the complexity of the desired plug-in,not all these classes need to be developed. The minimal set of classes needed tocreate a plug-in with new behavior are WorkingData (containing the data usedby the plug-in), FrontEndPlugin (which describes the main functionality of theplug-in) and Processor (executes an algorithm given one or more input dataand generates one or more output data). Very briefly, the classes that need tobe used and/or extended for the creation of plug-ins are (see Fig. 1):

– DataEntity: This class stores and encapsulates a single data object (e.g.,medical image, transformation, surface mesh, model simulation result, etc.).

– DataHolder: This class allows objects to register as observers of data, forinstance, to be notified when the data is changed.

– WorkingData: This class holds a reference to the DataHolders associatedto the data required and is currently used by the plug-in (selected input,output, etc.).

– DataEntityList: This class contains a list populated with the data entitiescurrently available for processing in the application. The input data that willbe processed by the plug-in and also their outputs are stored in this list.

– FrontEndPlugin: This is the base class for all the plug-ins, every new plug-in must extend this class. This base class provides access to the renderingclasses, but delegates the creation of the rendering scene to the extendingclass’ implementation.

– Processor: This class executes one algorithm and given on or more in-put data and generates one or more output data (usually coming from theDataEntityList). A plug-in may contain more than one Processor class.No data is stored inside the Processor.

Regarding data processing, each plug-in uses its own (one or more) Processorclasses that encapsulate the application logic indicating which algorithm needsto be executed on the data. External algorithms (user defined or furnished bya library) are called by a Processor after the required input data have beenspecified. After the execution of an algorithm, the Processor notifies (throughthe DataHolder) the corresponding observers that new data is available. Thesedata can be rendered or processed depending on the application. It is the re-sponsibility of the plug-in to determine how the processing pipeline continues.In this way, the plug-in developer is responsible for defining how the end-useroperates over the data and visualizes it. DataEntity encloses and represents 4D

422 I. Larrabide et al.

working data in a single entity that can be modified, transformed and renderedby any plugin. This class allows plugins to share data, encapsulating its formatconversion thus facilitating the exchange and flow data.

For its simple architecture, the sole specialization/implementation of threeclasses is enough for creating new plug-ins. In this way, new features can be in-tegrated very fast. The architecture is flexible to support plug-ins with differentcomplexity, going from simple (e.g., data is processed with a specific algorithmand the results are visualized with standard viewers) to complex (e.g., the entireuser interface can be refurbished to create a new data interaction and visualiza-tion application). In addition to its plug-in API, the framework provides basicservices which can be used by the plug-ins:

– scientific visualization through standard screen layout (i.e., 3D plus orthog-onal slicing),

– multimodal (MRI, SPECT, MSCT, US, PET) image processing,– heterogeneous data management (images, polylines, surface geometries, vol-

umetric meshes),– standard I/O formats (others can be added by the users).

All these services are accessed trough the FrontEndPlugin class. Further de-tails on other features and plug-ins provided by the framework can be found atwww.gimias.org.

Regarding interoperability with external tools, the framework allows to eas-ily integrate different format readers and writers. A closer integration (e.g., inruntime) with other tools is possible by developing a specific plug-in for thismatter.

Third-party librariesGIMIAS has been entirely developed in ANSI-C++ and is distributed underBSD-licence. The reason to make the software open source is to facilitate andfoster the cooperation and interaction between different research groups andwith industry for technology transfer. This licence model together with its plug-in architecture make it ideal for this kind of interaction.

A proper selection of third party libraries is crucial for the long term continu-ity of the software. For this reason only BSD-licensed libraries with consolidatedand active user communities where selected. For the graphical user interface,wxWidgets1 was considered. The mesh manipulation is based on The Visual-ization Toolkit (VTK)2, an open source, freely available software system for 3Dcomputer graphics, image processing, and visualization with a large and estab-lished user community around the world. For user interaction and visualizationof data, the Medical Imaging Interaction Toolkit (MITK) [4] is used. For han-dling data in DICOM standard, DCMTK library is used3. For image processingoperations The Insight Toolkit (ITK)4 was chosen.1 www.wxwidgets.org2 www.vtk.org3 dicom.offis.de/dcmtk4 www.itk.org

Graphical Interface for Medical Image Analysis and Simulation 423

5 Example Workflow in GIMIAS

In this section we analyze in detail a case study based on image analysis andmodeling of the heart. The objective of this case study is to show the capabilityof GIMIAS to integrate different algorithms in a single workflow. To this end, pa-tient images in DICOM format are loaded. Next the images are segmented usingan anatomical atlas of the heart. The last step involves generating a personal-ized computational model of the heart containing myocardial fiber orientation,the Purkinje system and different mesh labels (endo- and epicardium) for thesubsequent electrophysiological simulation. This is addressed in a single userapplication that goes from the image to the personalized simulation model.

DICOM reading plug-in

The objective of the DICOM plug-in is to let the user browse medical imagesstored in DICOM format, allowing to load 2D, 3D and 4D data (Fig. 2). Oncethe data is loaded, it is organized using a tree viewer to facilitate visualizationof patient, study, series and time point data. Using this plug-in, the user caninspect different studies and navigate through the slices and corresponding timepoints. The DICOM plug-in creates a volumetric or 3D+t image from the se-lected DICOM data including the slices and time points selected by the user.After that, the image can be easily rendered or located in the DataEntityListwhere it becomes visible to the rest of the application for further processing.

Cardiac image analysis plug-in

In order to obtain a personalized geometry of the heart from a medical image,image segmentation based on an anatomical heart atlas is used [5]. This atlas isfirst initialized using anatomical landmarks such as the left ventricle apex, theaorta and mitral valve ring (Fig. 2). Once the heart atlas has been positionedwithin the image, the plug-in allows the user to adjust the shape of the atlasusing the image as reference and thus, semi-automatically segment the heart.Using this feature, the user can deform the heart model (by simply dragging thesurface interactively by using the mouse) and adjust the shape to the image.Automatic segmentation using active shape and image appearance models iscurrently under development and will be integrated in the prototype in thefuture. In the case of 4D images, it is possible to segment the whole sequenceof images starting from any given time frame. The plug-in allows the user toobtain a number of quantitative measurements of the heart including the ejectionfraction, wall motion, wall thickness, wall thickening, among others, during themanual segmentation process to give immediate feedback to the user. After thesegmentation, the result can be analyzed using Bull’s eye plots (AHA 17-segmentmodel) for the different variables such as wall thickening, radial wall motion,among others. As will be shown below, the resulting geometrical models are usedfor the generation of personalized simulations of the cardiac electrophysiology.

424 I. Larrabide et al.

Cardiac segmentation andquantification plugin

DICOM plugin

Cardiac simulation plugin

Fig. 2. Cardiac modeling workflow as implemented in GIMIAS. From top to bottom arepresented the DICOM, the Cardiac segmentation and quantification, and the Cardiacsimulation plug-ins. After desired images are selected from the time sequence, an atlasis used to segment the images and adjust the segmentation result where required. Then,from the resulting heart geometry, a model for simulation of the heart electrophysiologyis created. Finally, the propagation front in a selected region of the cardiac muscle ispresented.

Graphical Interface for Medical Image Analysis and Simulation 425

Cardiac modeling plug-inBefore being able to use the anatomical model to perform electrophysiologi-cal or electromechanical simulation it is necessary to generate a proper FEMmodel. It is necessary to mesh the surface obtained from the segmentationstep, and produce a volumetric fine mesh which will be made up of tetra-hedral elements. Volumetric mesh quality is ensured by controlling both themaximum distance between neighboring nodes and the radius-to-edge ratio toassure regularly-shaped elements. In keeping with recommendations from lit-erature high-resolution meshes with inter-node distance ≤ 500 µm to avoidphysiologically inaccurate numerical effects such as wavefront warping and otherartifacts.

Excitation and recovery sequences are influenced by the direction of myocar-dial fibers, which determine the longitudinal and transversal orientation of theanisotropic conductivity of intra- and extra-cellular media. As current imag-ing techniques are unable to non invasively extract myocardial fiber orientationfrom the beating heart, mathematical models are used to replicate the rotationof fibers across the ventricular wall. In GIMIAS, the fiber orientation is calcu-lated for every element of the mesh, using a mathematical formulation based onthe work of Streeter [6]. In this way, the familiar helical structure of fibers wasreproduced, with orientations rotating from 50◦ at the endocardium to −60◦ atthe epicardium.

The Purkinje System (PS) is also an important part of the system that helpsthe fast and synchronous electrical propagation of the impulse coming fromthe sinus node. Since the reconstruction of the PS from specific patients is notfeasible, a fiber network has been defined according to the descriptions by Durrer.The PS is represented as a 1D cable model that is placed upon the endocardialsurface, containing the bundle branches and 100 Purkinje cables that expandedfrom the bundle terminals towards the ventricular apex continuing onto theleft and right free walls. The procedure to include the PS consists in a manualdelineation of the fibers in the heart atlas, and subsequently a propagation ofthe network to each mesh. The propagation is done during the segmentation ofthe ventricles, where the atlas is deformed to match the specific geometry of thepatient heart, fitting at the same time the PS embedded in the atlas.

6 Conclusions

GIMIAS is an environment specially tailored for the creation of work-flow appli-cations in the field of biomedical image computing and personalized simulation.The architecture of the underlying framework is based on plug-ins through whichits core functionalities can be extended. Other services such as PACS connection,parallel computation through grid middleware, and scripting are in the devel-opment roadmap of the framework. In this work we presented a cardiac imageanalysis and simulation application developed within this environment. In thepresented workflow, GIMIAS provides the capability of segmenting images ofthe heart and allows improving the outcome manually when the segmentation isnot perfect.

426 I. Larrabide et al.

GIMIASprovides anopen source framework for efficientdevelopmentof researchand clinical software prototypes within the Physiome community while allowingbusiness-friendly technology transfer and commercial product development.

Acknowledgements

A complete list of contributors to the analysis, design and implementation of thisplatform can be found at www.gimias.org. This research has been partly fundedby CIBER-BBN (VPHTk project), the industrial and Technological Develop-ment Center (CDTI) under the CENIT programme (CDTEAM project) andthe European Community’s Seventh Framework Programme (FP7/2007-2013)under the grants agreement n.224495 (euHeart Project) and n.223920 (VPHNoE). Dr. O. Camara and R. Sebastian acknowledge grant support from theSpanish Ministry of Research and Innovation, under a Ramon y Cajal and Juande la Cierva Research Fellowship, respectively.

References

1. Hunter, P., Robbins, P., Noble, D.: The IUPS Human Physiome Project. Eur. J.Physiol. 445(1), 1–9 (2002)

2. Hunter, P., Borg, T.: Integration from Proteins to Organs: The Physiome Project.Nature 4(3), 237–243 (2003)

3. Fenner, J., Brook, B., Clapworthy, G., Coveney, P., Feipel, V., Gregersen, H., Hose,D., Kohl, P., Lawford, P., McCormack, K., Pinney, D., Thomas, S., Jan, S.V.S.,Waters, S., Viceconti, M.: The EuroPhysiome, STEP and a roadmap for the virtualphysiological human 366, 2979–2999 (2008)

4. Wolf, I., Vetter, M., Wegner, I., Bottger, T., Nolden, M., Schobinger, M., Hasten-teufel, M., Meinzer, H.P.: The Medical Imaging Tookit 9, 594–604 (2005)

5. Ordas, S., Oubel, E., Leta, R., Carrera, F., Frangi, A.: A statistical shape model ofthe heart and its application to model-based segmentation. In: Proc. SPIE MedicalImaging, San Diego, CA, USA, vol. 6511 (2007)

6. Streeter, D.: Handbook of Physiology, Section 2: The Cardiovascular System. In:Gross morphology and fiber geometry of the heart. The Heart, ch. 4, vol. I, pp.61–112. American Physiological Society (1979)


Recommended