The image-guided surgery toolkit IGSTK: an open source C++ software toolkit.
This paper presents an overview of the image-guided surgery toolkit (IGSTK). IGSTK is an open source C++ software library that provides the basic components needed to develop image-guided surgery applications. It is intended for fast prototyping and development of image-guided surgery applications. The toolkit was developed through a collaboration between academic and industry partners. Because IGSTK was designed for safety-critical applications, the development team has adopted lightweight software processes that emphasizes safety and robustness while, at the same time, supporting geographically separated developers. A software process that is philosophically similar to agile software methods was adopted emphasizing iterative, incremental, and test-driven development principles. The guiding principle in the architecture design of IGSTK is patient safety. The IGSTK team implemented a component-based architecture and used state machine software design methodologies to improve the reliability and safety of the components. Every IGSTK component has a well-defined set of features that are governed by state machines. The state machine ensures that the component is always in a valid state and that all state transitions are valid and meaningful. Realizing that the continued success and viability of an open source toolkit depends on a strong user community, the IGSTK team is following several key strategies to build an active user community. These include maintaining a users and developers' mailing list, providing documentation (application programming interface reference document and book), presenting demonstration applications, and delivering tutorial sessions at relevant scientific conferences.
Enquobahrie
Andinet
A
Kitware Inc., Clifton Park, NY 12065, USA. andinet.enqu@kitware.com
Cheng
Patrick
P
Gary
Kevin
K
Ibanez
Luis
L
Gobbi
David
D
Lindseth
Frank
F
Yaniv
Ziv
Z
Aylward
Stephen
S
Jomier
Julien
J
Cleary
Kevin
K
D003199:Computer Systems; D003626:Data Display; D003628:Database Management Systems; D006801:Humans; D033181:Information Dissemination; D016247:Information Storage and Retrieval; D012449:Safety; D012984:Software; D012985:Software Design; D012986:Software Validation; D025321:Surgery, Computer-Assisted; D018511:Systems Integration; D014584:User-Computer Interface
Acta Neurochir (Wien). 2007;149(4):365-78
17308976