Composight is a cross-platform toolkit for 3D-image processing in the domain of composite materials science. It is written in C++ and provides small, problem-specific applications for viewing, filtering and segmentation of volumetric data such as micro-CT scans. The main objective is not to provide yet another complex application for volume data visualization and medical image processing. Instead, Composight is a collection of small and simple apps that have already been successfully used to solve various problems in materials science. You can either execute these tools directly or use their source codes as examples of how to access some of the templates provided by the Insight Segmentation and Registration Toolkit (ITK) or some of the algorithms published in Insight Journal.
Most [Tools] are based on the Insight Toolkit, VTK and Qt.


Version 0.2.0 released You can download the source files and follow the [Build Instructions]

For those who attended my talk at the ICCM in Copenhagen:

If you want to use our software or even if you have questions about it, you can write me an e-mail to pascal.pinter@kit.edu.

Thank you for listening!


  • The segmentation, pre-filter and orientation filter chain is fully scriptable (JavaScript/QScript). The typical workflow is to find a working parameter set with the GUI on a small Image Region. The parameter set can be saved and reused in the scripted processing of the complete tomogram.
  • Various image filters from ITK, TubeTK and the Insight Journal have already been integrated
  • Orientation tensors and histograms from fibrous micro-structures, such as GFRP, can be computed and exported per region. The local direction can be visualized as colored RGB Image (Image to the right shows a Rendering in Fiji 3D Viewer)
  • 2D- and a 3D-images can be aligned manually. The result is shown in an image overlay and can be exported in the transform file format of elastix (transformix) for further automatic registration or resampling.
The filter streaming paradigm allows processing large tomograms that do not fit into memory as a whole. Smaller parts of the input file are processed sequentially and the computation result of each such *region of interest (ROI)* is patched into the corresponding location of the output file. The user can specify a margin to reduce boundary effects. Only the inner region is written to the output file. Although strictly speaking streaming does not produce the same result as running the filter on the entire image, it nevertheless results in a good approximation and is often the only feasible option, since for example storing the structure tensor of an 8 GVoxel image would, in and of itself, require 192 GiB of RAM. Finally, the user has full control of the ROI size and can adapt it to the available hardware. Available in cpsSegmentGUI, cpsSegment and cpsOrient.

Getting Started

The best way to access the source code of Composight is by using a subversion client and checking them out from
In order to build, the following dependencies have to be satisfied

  • ITK 4.7
  • Qt 4.8.6
  • VTK 5 (optional, most command line tools do not require VTK)
  • CMake (>= 2.8.11)

Development and use currently take place on Ubuntu Linux and Mac OS X, but as long as you can build the libraries above and CMake can handle them, other platforms should also work. Have a look at the detailed [Build Instructions]. Binaries for Windows x64/Visual Studio 2015 are also available.


  • Benjamin Bertram (benjamin.bertram_AT_kit.edu)
  • Pascal Pinter (pascal.pinter_AT_kit.edu)


You may redistribute Composight and/or modify it under the terms of the GNU General Public License (GPL) Version 3, as published by the Free Software Foundation.


The development work on Composight was funded by the European Union and the Land Baden-Württemberg during the course of the project EFRE-TC2 Inno-SMC and by the Karlsruhe Institute of Technology (KIT), Institute for Applied Materials - WK during the Feasibility Study of Young Scientists (FYS) Algorithms for Computed Tomography Aided Material Investigation

Many thanks to all the developers that contributed to the toolkits we use:
- Insight Toolkit
- Qt
- Fiji/ImageJ
- elastix


Composight Wiki: Build Instructions
Composight Wiki: Tools