Logo GitHub Actions CI status Test coverage Documentation Status

scikit-surgeryimage is a python only project to implement image processing algorithms that are useful for image-guided surgery.

scikit-surgeryimage was developed at the Wellcome EPSRC Centre for Interventional and Surgical Sciences in University College London (UCL).


requirements.txt specifies a dependency on opencv-contrib-python, so you can use any OpenCV python therein. In addition, this project provides:

  • Convenience classes for video read and write.
  • Utilities to detect the number of cameras and prepare text for overlay on video.
  • Functions to make charuco boards, and detect charuco markers.
  • Interlacing and deinterlacing.
  • Convenience wrappers for erosion and dilation.
  • A PointDetector interface for video camera calibration and implementations such as OpenCV chessboard, ArUco, ChArUco and combinations.


You can pip install directly from the repository as follows:

pip install scikit-surgeryimage


You can clone the repository using the following command:

git clone

Running the tests

You can run the unit tests by installing and running tox:

pip install tox

Encountering Problems?

Please check list of common issues.


Please see the contributing guidelines.


Supported by Wellcome and EPSRC.