tttrlib
A library for time-tagged time resolved data
|
tttrlib is a file format agnostic high performance library to read, process, and write time-tagged-time resolved (TTTR) data acquired by PicoQuant (PQ) and Becker & Hickl measurement devices/cards or TTTR files in the open Photon-HDF format.
The library facilitates the work with files containing time-tagged time resolved photon streams by providing a vendor independent C++ application programming interface (API) for TTTR files that is wrapped by SWIG (Simplified Wrapper and Interface Generator) for common scripting languages as Python as target languages and non-scripting languages such as C# and Java including Octave, Scilab and R. Currently, tttrlib is wrapped for the use in Python.
tttrlib
is programmed in C++ and wrapped for python. Thus, it can be used to integrate time-resolved data into advanced data analysis pipelines.
Generation of fluorescence decay histograms tttrlib outperforms pure numpy and Python based libraries by a factor of ~40.
In an anaconda environment the library can be installed by the following command:
Alternatively, you can use pip to install tttrlib
The API of tttrlib as well as some use cases are documented on its web page. Below you find a small selection of code snippets.
Access photon data as follows:
Print header-information:
Correlate photon streams:
Create intensity images from CLSM data:
tttrlib is in active development. In case you notice unusual behaviour do not hesitate to contact the authors.
The C++ shared library can be installed from source with cmake:
On Linux you can build and install a package instead:
The Python bindings can be either be installed by downloading and compiling the source code or by using a precompiled distribution for Python anaconda environment.
The following commands can be used to download and compile the source code:
In an anaconda environment the library can be installed by the following command:
For most users, the latter approach is recommended. Currently, pre-compiled packages for the anaconda distribution system are available for Windows (x86), Linux (x86, ARM64, PPCle), and macOS (x86). Precompiled libary are linked against conda-forge HDF5 & Boost. Thus, the use of miniforge is recommended.
Legacy 32-bit platforms and versions of programming languages, e.g., Python 2.7 are not supported.
Copyright 2007-2024 tttrlib developers. Licensed under the BSD-3-Clause