arttumiettinen / pi2

C++ library and command-line software for processing and analysis of terabyte-scale volume images locally or on a computing cluster.
GNU General Public License v3.0
48 stars 13 forks source link
3d-images bioimage-analysis bioimage-informatics bioimaging brain-imaging c-plus-plus cluster-computing computing-cluster cross-platform high-performance-computing image-analysis image-processing non-rigid-registration non-rigid-stitching python stitching tomography

itl2 and pi2

This repository contains

Pi2 is not intended to be a replacement for huge libraries like ITK and VTK. Instead, it is meant to be simple, performant, and easily extensible program well suitable for original author's own algorithm development and analysis tasks. It has been very useful for the author during the last years but... your mileage may vary.

Help

The user-oriented help of pi2, including examples, can be read at ReadTheDocs.

Binaries

Pre-built binaries for Windows and CentOS Linux can be downloaded from the releases page.

Design decisions

Building

When building from the source, consider using branch 'experimental'. The most recent, but possibly buggy, changes are there.

Linux

The overall build process is as follows:

Typically in an Ubuntu-like system you would run something like this:

sudo apt install build-essential libfftw3-dev libpng-dev libtiff-dev libjpeg-dev 
git clone https://github.com/arttumiettinen/pi2.git
cd pi2
make NO_OPENCL=1

You can install the executable and libraries to any standard location, but often it is better to just copy the files along with your project. This guarantees that you know which version of the program you used to generate the results.

NOTE: The default makefile compiles the programs for the processor type of the computer where the compilation is done. E.g. in heterogeneous clusters not all nodes might support the same instruction set. In those cases you will get an 'Illegal instruction'-runtime error. To fix the problem, please determine suitable value for gcc march parameter (https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html#x86-Options) and enter that into the CXXFLAGS in the main makefile.

Windows

License

This software is licensed under GNU General Public License v3.0.

Some external parts of the software (that might be statically or dynamically linked depending on configuration) are licensed under their respective licenses. Please run pi2 license for most up-to-date information.