May 2014: we are migrating (and updating) the documentation from the trac.lcsr.jhu.edu/cisst wiki to github.

cisst libraries and Surgical Assistant Workstation (SAW)

Overview

The cisst package is a collection of libraries designed to ease the development of computer assisted intervention systems. The Surgical Assistant Workstation (SAW) is a platform that combines robotics, stereo vision, and intraoperative imaging (e.g., ultrasound) to enhance a surgeon's capabilities. The SAW package therefore consists of implemented components (e.g., interfaces to many of the devices used for computer-integrated surgery) as well as reusable applications.

All software is available under an open source license, which can be found here. The source code can be obtained from our public Subversion (SVN) repository, svn.lcsr.jhu.edu/cisst. Most users should check out from the trunk.

The following table describes the cisst libraries and their status:

Library

Description

Status

Info

cisstCommon

Common infrastructure such as logging, class and object registries, serialization and de-serialization, etc.

The best way to get the cisst (and SAW) software is to download it from the SVN repository.
If you download the latest development version, please check the nightly tests results.

The cisst library is available as a ROS stack - see jhu-lcsr-ros-pkg (ROS is the Robot Operating System created by Willow Garage). This is an older version of the cisst library, but will be updated in the future.

Documentation

Download and build

To download and build from source, check out the trunk from the cisst SVN repository: https://svn.lcsr.jhu.edu/cisst/trunk

The core cisst libraries have no required external dependencies (other than CMake and a C++ compiler); however, there are many optional features and example programs that depend on external packages. Many of the example programs use either the Qt or FLTK cross-platform GUI package, and some of the libraries contain additional features (e.g., Qt widgets) that are compiled if the corresponding GUI package is available. While it is possible to use any GUI package with cisst, we recommend Qt and provide the most support for that package.

For more information about setting up and building the cisst libraries, including the optional external dependencies, consult the following:

If you are using any numerical method, you will also need the cisstNetlib package. The easiest way to get cisstNetlib is to select the CMake option CISSTNETLIB_DOWNLOAD_NOW, which instructs CMake to download the package for you. If you wish to download it manually, use the following link:

Using the cisst libraries

To get the general idea of the libraries, you may want to read the Quick Start documents first. Quick Sheet documents summarize a library's API in a concise table. The User Guides provide a deeper insight into API, and suggest efficient ways of using the libraries. Finally, the Reference Manual provides full detail about each API component (types, functions, etc.). The following documents are all available under SVN.