Unified Framework for Development, Deployment and Robust Testing Of
Total Page:16
File Type:pdf, Size:1020Kb
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Boise State University - ScholarWorks Boise State University ScholarWorks Computer Science Faculty Publications and Department of Computer Science Presentations 3-1-2011 Unified rF amework for Development, Deployment and Robust Testing of Neuroimaging Algorithms Alark Joshi Boise State University Dustin Scheinost Yale University Hirohito Okuda GE Healthcare Dominique Belhachemi Yale University Isabella Murphy Yale University See next page for additional authors This is an author-produced, peer-reviewed version of this article. The final publication is available at www.springerlink.com. Copyright restrictions may apply. DOI: 10.1007/s12021-010-9092-8 Authors Alark Joshi, Dustin Scheinost, Hirohito Okuda, Dominique Belhachemi, Isabella Murphy, Lawrence H. Staib, and Xenophon Papademetris This article is available at ScholarWorks: http://scholarworks.boisestate.edu/cs_facpubs/5 Unified framework for development, deployment and robust testing of neuroimaging algorithms Alark Joshi · Dustin Scheinost · Hirohito Okuda · Dominique Belhachemi · Isabella Murphy · Lawrence H. Staib · Xenophon Papademetris Received: date / Accepted: date Abstract Developing both graphical and command- 1 Introduction line user interfaces for neuroimaging algorithms requires considerable effort. Neuroimaging algorithms can meet Image analysis algorithms are typically developed to their potential only if they can be easily and frequently address a particular problem within a specific domain used by their intended users. Deployment of a large (functional MRI, cardiac, image-guided intervention plan- suite of such algorithms on multiple platforms requires ning and monitoring, etc.). Many of these algorithms consistency of user interface controls, consistent results are rapidly prototyped and developed without consid- across various platforms and thorough testing. erations for a graphical user interface (GUI), robust We present the design and implementation of a novel testing, and integration into a large cohesive software object-oriented framework that allows for rapid devel- package. Sometimes these features are added later, but opment of complex image analysis algorithms with many require considerable effort on the part of the developer reusable components and the ability to easily add graph- of the original algorithm. This situation makes it diffi- ical user interface controls. Our framework also allows cult for deployment and widespread adoption of novel for simplified yet robust nightly testing of the algo- algorithms. rithms to ensure stability and cross platform interop- We present the design and development of a novel erability. All of the functionality is encapsulated into framework in our image analysis suite - BioImage Suite. a software object requiring no separate source code for In our experience, users may be divided into three cat- user interfaces, testing or deployment. This formulation egories: (i) full-time “na¨ıve” users – those who inter- makes our framework ideal for developing novel, stable act with the software through its GUI, (ii) full-time and easy-to-use algorithms for medical image analysis “expert” users – those who use a mixture of GUI and and computer assisted interventions. The technological command-line tools for more efficient processing and The framework has been both deployed at Yale and re- critically (iii) part-time users – users who may use a leased for public use in the open source multi-platform combination of tools to accomplish their work, parts image analysis software - BioImage Suite (bioimage- of which may be from this software package and parts suite.org). from others. This last group is increasing in size with the availability of greater numbers of high quality tools. Keywords Neuroimaging Software · Software Devel- A critical aspect of being able to support all three opment Framework · Testing groups of users is the ability of the software to make available almost all of its functionality both as GUI ap- A. Joshi1, D. Scheinost2, D. Belhachemi1, I. Murphy1, L.H. plications and as command-line tools while maintaining Staib1,2,3, X. Papademetris 1,2 - Department of Diagnostic consistency of performance between the two, i.e. a user 1 2 3 Radiology , Biomedical Engineering, , Electrical Engineering , should get exactly the same results performing a given Yale University. 300 Cedar Street, New Haven, CT 06520. task in either mode. The key issue is that as the software Tel.: +1-203-737-5995 evolves and additional functionality is requested, often E-mail: [email protected] the changes get incorporated into either the GUI or the · H. Okuda, GE Healthcare, Japan command-line version as needed without synchronizing 2 the two. For example, the units of a smoothing kernel with mobile devices. Shen et al. [18] discuss their sys- may be “voxels” in the GUI and “mm” in the com- tem which works with stereoscopic displays and uses mand line interface. While the two invoke, deep down, projectors to provide an immersive experience in envi- the same algorithm, it is invoked in slightly different ronments such as the CAVE. ways leading to different results and a major source of Medium to large imaging software projects such as user frustration. While such synchronization is easy to 3D Slicer [21] have a component-based approach to de- fix for 1–2 modules, it is a non-trivial task when one veloping software that allows for the easy development considers more than 100 modules. of user interfaces. 3D Slicer’s modules have a thin inter- To avoid this problem of integration/ resynchroniza- face and in theory the implementation of each module is tion, we have designed and implemented a new object- completely unconstrained other than for the definition oriented framework that enables us to integrate the of the I/O in the XML structure. BioImage Suite mod- command line and GUI of BioImage Suite - bioimage- ules derive from an object oriented architecture/base suite.org within the same codebase. With this frame- class and hence can also be independent mini-GUI ap- work, the developer can focus on the creation of the al- plications (with full 3D viewer capabilities). The Slicer gorithmic component and not worry about software en- module provides more freedom/flexibility to the end- gineering aspects needed for image analysis algorithms programmer whereas our approach provides richer func- such as testing, integration, and creating customized tionality and the ability to write a custom application workflows. The GUI is automatically generated by the with the full viewing and interaction capabilities in- algorithm object when the object is invoked. However, cluded. This design also ensures additional consistency, the developers may customize the GUI by overriding since each instance creates and manages its own user the appropriate methods. Testing is handled by the interface when included in a larger “managed” applica- algorithm object simply by specifying the inputs, ex- tion. pected outputs, and the test flag. Additionally, in this Medical Imaging Interaction Toolkit (MITK) [8] is new framework, it is possible to create data workflows a toolkit for medical image analysis that has some fea- where the output of an algorithm can then be used as tures similar to those in our framework. However, it is the input of another algorithm. Thus, developers can intended to be used as a toolkit and “is not intended reuse existing algorithms, saving time and reducing pro- as an application framework” [8] that can be used for gramming complexities. The simplified graphical user development of novel image analysis algorithms. interface creation, robust testing and easy creation of Table 1 shows a detailed comparison that facili- complex workflows are the technical innovations in the tates the comparison of capabilities of medical image design of our new framework. The aim of this paper is analysis workflow environments. The workflow environ- to present the design of the framework and share our ex- ment most comparable to BioImage Suite is the LONI perience of developing and testing the framework with Pipeline. We can import the pipelines created in LONI the neuroimaging community for further development pipeline to work with BioImage Suite and have worked of similar open source software. with Slicer to make BioImage Suite functionality avail- Additionally, this framework facilitates communica- able as modules within 3D Slicer as well. Some of the tion with other software tools. The parameter handling other workflow environments provide the ability to cre- code, as defined, enables BioImage Suite components to ate graphical user interfaces automatically, but they output descriptions for both the Slicer Execution Model lack either robust cross platform testing and function- [21] and the LONI Pipeline [19] at no extra work to the ality, self contained installations, extensive documenta- developer. This functionality is handled by the abstract tion or are not being actively developed. parent class of the component hierarchy. See Figure 10. There are some key differences in our module ap- proach to that of 3D Slicer which is the most similar package in many respects. The first lies in the struc- 1.1 Related Work ture of the modules themselves. Slicer modules are (in theory at least) independent programs whose sole in- In the field of medical image analysis, software engineering- terface with the main application is via the provision based research has focused on describing a customized