Source code

Plus toolkit contains three main repositories:

  • PlusLib: Library that contains all data acquisition and processing implementation. It contains a few sipmle tools and test applications but primarily intended to be linked into software applications.
  • PlusApp: Software applications with graphical user interface that use PlusLib to make features available to end users.
  • PlusBuild: Small project that downloads and builds PlusLib, PlusApp and all their dependencies (VTK, ITK, etc.).


Testing dashboards

Build instructions

Plus library files and all required libraries and toolkits are automatically downloaded, configured, and built using CMake “superbuild” method (using CMake external project infrastructure). Build instructions are available in PlusBuild repository.

Supported platforms:

  • 32/64-bit builds: Plus can be built in either 32-bit or 64-bit mode. 64-bit applications have the advantage of larger available memory space (which is useful for certain applications, such as recording a large number of frames in memory, or reconstructing high-resolution volumes), but only a few hardware devices have 64-bit compatible drivers. If available memory is not a concern  then use only 32-bit builds. If lots of memory is needed, and the application does not have to use tracking or imaging hardware devices directly then 64-bit build of Plus can be used. If both hardware support and lots of memory is needed then a 32-bit build of Plus can be used for data acquisition and the acquired data can be passed on to a 64-bit Plus or other application for further processing.
  • Windows 7 32-bit/64-bit, Windows 10 32-bit/64-bit, Windows XP 32-bit embedded, Ubuntu 16.04, and MacOSX operating systems are fully supported and regularly tested.
  • Running on Linux and MacOS: Unfortunately, many of the drivers written for devices are Windows specific, and thus capture cannot be done on a Linux or MacOSX machine. It is recommended to do the data acquisition on Windows and stream the acquired data to the Linux or MacOS computer for further processing.


We follow the standard GitHub Flow process. In short: send a pull request with proposed changes. See more information here.

When making code changes, please follow Plus coding conventions. The Astyle formatter can be used to quickly format a file to Plus standards.

  • PLUS format:
    • –style=allman
    • –indent=spaces=2
    • –align-pointer=type
    • –indent-switches
    • –indent-cases
    • –indent-namespaces
    • –indent-preproc-block
    • –indent-col1-comments
    • –pad-oper
    • –unpad-paren
    • –add-brackets
    • –convert-tabs
    • –mode=c