IGT Software Architecture at JHU
Tuesday June 27, 1pm
At Johns Hopkins University, we are developing systems and software for computer-assisted interventions. Our primary experience has been with medical robots, but the concepts (and software) apply equally well to other devices that interact with the physical world. We created the second-generation cisst software package to support this research and are making it available under an open source license (www.cisst.org/cisst). Currently, the cisst package consists of libraries in the following three categories: foundation, real-time support, and interventional devices. The foundation libraries include common tools, vectors, matrices, transformations, numerical methods, and an optional Python-based interactive environment. The real-time support libraries include an operating system abstraction layer, device interfaces, and tasks. The interventional devices include robots and tracking systems. We rely on external software packages, such as Slicer, VTK and ITK, for medical image processing and visualization. Our eventual goal is to create a family of frameworks that are based on these libraries. Each framework would codify an architecture and would contain “hot spots” that allow researchers to dynamically extend or modify the system.
This presentation will describe some representative computer-assisted intervention systems and discuss the resulting software requirements that influenced our design. Details of the cisst libraries will be given, with particular emphasis on the real-time aspects. The software development tools and process will be briefly reviewed, since they borrow many of the “best practices” from the open source community. The presentation will conclude with a review of our recent experiences, including the development of systems that also utilize Slicer or VTK.