From NAMIC Wiki
Jump to: navigation, search
Home < CTKSummary

This page provides a summary of CTK's role in the NA-MIC Toolkit. To learn more about CTK visit the CTK Website .


The Common ToolKit (CTK) is an open source, freely available software system for providing high-level components for biomedical and scientific computing applications. CTK, which is a very recent effort, is a repository of high-level componentware that combines a broad range of technology including Qt, VTK, Titan (VTK's informatics subsystem), ITK, CMake, Slicer/Slicer Modules and DICOM.

Role in NAMIC

At this point CTK is serving as a software repository for application componentware, and as a vehicle for international collaboration.

Typical Usage

CTK is under active development and use cases are evolving. However, the general idea is that biomedical and scientific computing professionals will be able to quickly combine components from CTK to create targeted applications.


CTK is written in C++ but will have bindings to Python (at a minimum). These bindings are produced automatically during the software build process. Python is a powerful scientific computing languages that includes packages for numerical computing, web access, data manipulation and more.


CTK runs on most Unix, Linux and Windows platforms. Mac OSX is also supported (Jaguar or later.)

Software Dependencies

All platforms require CMake to build. CMake is a cross-platform software build tool. It uses hardware, compiler and operating system neutral configuration files to generate Makefiles, workspaces or projects particular to a particular development environment, so developers can use standard development tools on their target platform.

Documentation, Tutorials and Examples

As CTK is under rapid development, documentation resources are spartan and subject to change. To learn more, we recommend contacting the CTK community.

File Formats Supported

All formats supported by Slicer, VTK, ITK, Qt and DICOM. This includes SQL access (through Qt).

Revision Control

Version control is provided via git.

Size of Community

The current size of the community is small, and consists mainly of developers at this point. See the startup guide if you'd like to join the community.


CTK uses an open-source, Berkely-style license. It allows unrestricted use, including use in commercial products.

Future Work

CTK is a rapidly expanding software toolkit. See the whitepaper for future plans.