Benjamin Bertram Berger Pascal Pinter

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.
Orient, cpsSegment, cpsSegmentGUI and cpsRegidGUI are some more elaborate (and complex) tools that are based on ITK, VTK and Qt.


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

Unfortunately, SourceForge is currently down but will be repaired soon. 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 wiki is currently being revised and rewritten.


  • Sequential processing of small image parts reduces memory footprint (Streaming paradigm)
  • The segmentation, pre-filter and orientation filter chain is fully scriptable (ECMA-script through Qt Scripting)
  • Various image filters from ITK and Insight Journal have already been integrated
  • Orientation tensors and histograms from fibrous micro-structures, such as GFRP, can be computed and visualized
  • 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.

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
  • Qt 4
  • VTK 5 (Some 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. Main development was originally on Visual Studio 2008 on Windows 7.


  • 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.

Screenshot thumbnail
Fiber orientation analysis of a fibrous carbon preform
Screenshot thumbnail
Orientation histogram visualization
Screenshot thumbnail
SegmentGUI: Pore Segmentation on small ROI.

Project Members: