Chest Imaging Platform (CIP)

CIP Library

The CIP Library is a package of tool for developers that can be executed either interactively or in automated processes. 

The tools are divided into six main categories:

  • Segmentation: Segmentation of different parts of the lung following our Chest Conventions.
  • Registration: Lung registration tools.
  • Particles: High level tools that use algorithms based on particles to segment and classify airways and vessels.
  • Processing: Processing tools that are usually required as a previous step for another higher level tools, but that can be used independiently.
  • Quantification: Quantification of different general image statistics.
  • Utils: Auxiliary tools that are used by different CLIs.

Each category has a number of tools that goes from 3 to more than 20, that can be used either on an individual basis or combined in automatic batch processes.

Download

Download source code on Github

Architecture

We can separate three main layers in the CIP architecture:

  • The Application layer: this is the layer that the user of the library should interact with. It contains all the tools that are exposed in the library.
  • The Core Libraries layer: core C++ classes that give support to the different tools from the Application layer. 
  • The External Libraries layer: external libraries required by CIP. CIP relies on some of the most commonly used open source C++ libraries for medical imaging software development, such as VTK, ITK or Teem.

Testing

In order to ensure the quality and the integrity of the code, we have developed a vast battery of tests that covers most of the tools available in CIP. These tests are run every night on different platforms. The results of these tests are publicly displayed in CDash. You can see the nightly builds here.

Some of our tests use a web infrastructure to store images in MIDAS