Development of open source software for computer-assisted intervention systems

Please use this identifier to cite or link to this publication: http://hdl.handle.net/1926/46
We are developing open source software for computer assisted intervention systems. Our primary experience has been with medical
robots, but the concepts (and software) apply to many physical devices that interact with the real world.
The real-time performance requirements permeate all levels of our software, including common tools (such as logging, class and object registers),
vectors, matrices and transformations. Our software libraries are written in C++, but are also accessible from Python, which
provides a convenient environment for rapid prototyping and interactive testing.
The real-time support includes a device (hardware) interface and a task library. Device-specific modules such as robot servo control and trajectory generation can be provided by tasks or by external devices.
Ultimately, we intend to provide a framework that supports extension via dynamically loaded plug-in modules.
Our development process utilizes a multitude of open source tools, including CVS, CMake, Swig, CppUnit, Dart, CVSTrac, Doxygen
and LaTeX. These tools help to ensure compliance with our software development procedure.
Data
minus 1 File (282Kb)
Code
There is no code review at this time.

Reviews
minus Computer-Assisted by Luis Ibanez on 09-20-2005 for revision #1
starstarstarstarstar expertise: 4 sensitivity: 4.5
yellow
Summary:
This paper describes an open source library for computer-assisted interventions. The software is distributed under an open source license.

The library provides very valuable resources for groups that develop software for computer-assisted intervention.
In particular

* Support for Tracking devices
* Robot control
* Support for real time
* Logging
* Mathematical classes


Hypothesis:
This paper advances the hypotesis that the development of computer-assited intervention systems can be simplified by using an open source library that offers support for the basic functionalities that are commonly required in these systems.

Evidence:
The paper focuses on describing the architecture of the software. A set of examples is included with the source code that is downloadable from www.cisst.org
A detailed description of the architecture is presented, as well as an overview of the classes that will be available in the toolkit.

Open Science:
The paper does fully adhere to the principles of Open Science, since the software is distributed and the readers can check with the software the claims in the paper.

Reproducibility:
The reviewer downloaded the source code and built it under Cygwin, with gcc 3.4 and CMake 2.0.6.

The configuration of the software when smoothly without a single warning,
The compilation didn't generate errors or warnings, which indicates that the authors really put in place an effective system of quality control.

Use of Open Source Software:
The authors used

* the netlib library (www.netlib.org)
* the SWIG wrapper tool.
* Cmake configuration tool
* CVS for revision control
* Dart for testing
* Doxygen for code documentation
* CVSTrac for bug tracking
* CPPUnit and PyUnit for testing


Open Source Contributions:
The authors distribute the source code at www.cisst.org
Doxygen documentation is also available online and in a downloadable zip file.

Code Quality:
The source code has a very standard of quality.
It is very structured, and follows a formal object oriented methodology. The authors used state of the art software engineering methodologies in the design, implementation and testing of the software. All of which is critical for software that is intended to be used in surgical applications.

The documentation of the classes is available online,
http://www.cisst.org/resources/software/cisst-0.1.0/doc/doxygen/main.html


Applicability to other problems:
The software described in the paper seems to be suitable for robotics applicaitons outside of the medical field, and the tracker functionalities can probably be used too in virtual reality applications.

Suggestions for future work:
The authors are strongly encouraged to follow the methodology of releasing early and releasing often. This maximize the feedback from the community and encourage the use of the software by a larger number of people.

Additional Comments
The authors really need to make the download option more visible in their web site. This reviewer missed the option even after multiple passes through the page.
Readers may easily get the impression that the software is not yet available.

When visiting the web page of an open source software package the reviewer would expect the "Download" option to be close to the top, and quite highlighted.
minus Nice Software by Julien Jomier on 10-24-2006 for revision #1
starstarstarstarstar expertise: 4 sensitivity: 4.5
yellow

Summary: This paper presents an open-source develoment software for computer-assisted intervention. The paper focuses on the real-time issue that is inherent in a clinical environment.

Hypothesis: NA

Evidence: NA

Open Science: The software package really fits in the Open Science spirit by using a lot of Open Source packages and will be open-source in the future. It will be a great package to have when developing surgical guidance software.

Reproducibility: Did you download their code? Yes Did you compile it? No source code provided Did you run it? Yes Did you managed to get the same results that they reported? Most of the examples need a tracker to run, so no test were performed.

Use of Open Source Software: The authors use a lot of open source packages: CMake, Swig, Dart, CppUnit, PyUnit, CVSTrac. This is definitively one strength of the paper and the software.

Open Source Contributions: The authors provides only the pre-compiled libraries. They ensure that the code will be open-source, but the type of license is not specified.

Code Quality: Only the header files are provided at this point. The coding style looks really good. The portability looks good.

Applicability to other problems: I don't see any other applications for the moment.

Suggestions for future work: No suggestion.

Requests for additional information from authors: - The type of license should be stated in the paper. - It would be nice to have some timing comparison with other real-time software. - Is the warping Python only? How about TCL and other wrappers? - References to SWIG, cmake (the URLs) will be good to have.

Additional Comments: This sounds like a very good package. 

Add a new review
Quick Comments


Resources
backyellow
Download All

Statistics more
backyellow
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating:
Paper Quality: plus minus

Information more
backyellow
Keywords: open source software, computer-assisted surgery, medical robotics
Export citation:

Share
backyellow
Share

Linked Publications more
backyellow
GeoInterp: Contour Interpolation with Geodesic Snakes
Geodesic Snakes GeoInterp: Contour Interpolation with Geodesic Snakes Geodesic Snakes
by Saboo R., Julian R., Stephen P.
Applying Image Mining to Support Gestational Age Determination Applying Image Mining to Support Gestational Age Determination
by Araujo A., Bellon O., Silva L., Vieira E., Cat M.

View license
Loading license...

Send a message to the author
main_flat
Powered by Midas