Extension Developer Guide

Learn how to develop extensions for CamiTK using DevStudio.

CamiTK’s Modular Architecture

CamiTK is built on a modular architecture that allows you to extend its functionality by creating custom extensions. Extensions can be Components (new data types), Actions (new algorithm or processing logic), or Viewers (visualization UI).

Components

New data types with or without file format support.

Actions

Create or process Components (e.g., segmentation, registration).

Viewers

Display Components (e.g., 3D rendering, image visualization).


DevStudio: Simplify Extension Development

DevStudio

DevStudio (introduced in CamiTK 6.0.0) simplifies the creation of extensions by:

  • Generating boilerplate code for Python and C++ extensions.
  • Providing a GUI to define your extension's parameters, inputs, dependencies and documentation.

DevStudio supports creating new Action extensions in both Python and C++. After defining your extension in DevStudio, it generates the necessary files for you to complete and your extension is automatically registered and loaded into the CamiTK application.


Examples of Extensions

What You Can Build

  • Create a new mesh from equation or data
  • Compute an image threshold
  • Register two images
  • Segment the liver from a CT image using PyTorch.
  • Stream data from a camera device.
  • Move a 3D object with a localizer/surgical navigation device.
  • Export a Component in a new file format.
  • Call your library/process on a supported data (image, mesh...)

Create a new Python extension using DevStudio (video)


Choose Your Language

Python Extensions

Develop extensions using CamiTK's Python API. Ideal for rapid prototyping and machine learning integration.

Learn More

C++ Extensions

Develop high-performance extensions using CamiTK's C++ API. Ideal for computationally intensive tasks.

Learn More

Learn more…