Documentation of pi2

This is documentation for pi2/itl2, an image analysis program/library designed for processing and analysis of terapixel-scale volume images locally or on a computer cluster. Some typical uses of this program are, e.g., tracing blood vessels in tomographic images, analysis of fibre orientation in composite materials, or stitching of volumetric mosaic images.

The pi2 environment can be used from e.g. Python, C/C++, and .NET programs, and as a standalone executable (like ImageMagick).

Some of the capabilities of pi2 include


Versions for Windows and some Linuxes can be downloaded from the GitHub Releases page.

Windows users must have the Visual Studio Redistributable package installed. Other installation steps are not necessary, just unpack the .zip archive to a suitable folder.

Linux users must ensure that fftw3, libpng, libtiff, zlib, and a recent version of glibc are installed.

For other platforms, refer to prerequisites and build instructions at GitHub.

Quick start examples

Python script or iPython console:

from pi2py2 import *
pi = Pi2()
img = pi.newimage(ImageDataType.UINT8, 100, 100, 100)
pi.noise(img, 100, 25)
pi.writetif(img, './noise')

Linux shell with pi2 as a standalone program:

./pi2 "newimage(img, uint8, 100, 100, 100); noise(img, 100, 25); writetif(img, ./noise);"

Windows Command Prompt with pi2 as a standalone program:

pi2 newimage(img, uint8, 100, 100, 100); noise(img, 100, 25); writetif(img, ./noise);

In a C# program:

Pi2 pi = new Pi2();
Pi2Image img = pi.NewImage(ImageDataType.UInt8, 100, 100, 100);
pi.Noise(img, 100, 25);
pi.WriteTif(img, "./noise");

For more complicated examples, please refer to the Examples page.