---
title: 'tttrlib: A library for time-tagged time-resolved fluorescence and image spectroscopy'
tags:
- Python
- fluorescence
- spectroscopy
- confocal imaging
- single-molecule spectroscopy
- fluorescence correlation spectroscopy
authors:
- name: Thomas-Otavio Peulen^[Custom footnotes for e.g. denoting who the corresponding author is can be included like this.]
orcid: 0000-0001-8478-9755
affiliation: 1
- name: Andrej Sali
affiliation: 1
affiliations:
- name: Department of Bioengineering and Therapeutic Sciences, Department of Pharmaceutical Chemistry, California Institute for QuantitativeBiosciences, Byers Hall, 1700 4th Street, Suite 503B, University of California, San Francisco, San Francisco, CA 94158, USA
index: 1
date: 6 April 2021
bibliography: paper.bib
---
# Summary
We present a library to read, write, and process time-tagged time-resolved (TTTR)
data. The library can be used for time-resolved fluorescence spectroscopy
experiments, such as time-resolved confocal single-molecule spectroscopy [@eggeling2001data],
confocal laser scanning microscopy (CLSM) [@warren2013rapid; @kravets2016guanylate],
STED microscopy [@hell1994breaking], and fluorescence correlation spectroscopy
(FCS) [@bohmer2002time].
The library processes multiple vendor-specific TTTR file formats without the
need to prior format conversion. This library can be used to develop analysis
pipelines for fluorescence correlation spectroscopy, single-molecule spectroscopy,
time-resolve laser scanning microscopy (aka fluorescence lifetime
imaging, FLIM), and image correlation spectroscopy \autoref{fig:example}.
# Statement of need
There is a need for a library that processes original TTTR files of different types
via a unified interface. Current, libraries are either vendor specific or require
the conversion to other file formats.
For automated and custom data processing pipelines in imaging, single-molecule
spectroscopy, and integrative modeling there is a need for a libray that (1) processes
TTTR data without conversion, (2) offers a unified interface to information
contained in TTTR files, and (3) can be integrated into
various scripting languages for simple usage.
Here, we present the library `tttrlib` that: (1) reads, writes, and
processing the most common file formats without conversion; (2) has a a simple
common interface for the most used TTTR file formats; (3) is wrapped via
Simplified Wrapper and Interface Generator (SWIG) for Python and can support
multiple different scripting languages.
# Description
`tttrlib` is a C++ library that is wrapped for scripting languages without losing
flexibility, ease-of-use, or speed.
The API for `tttrlib` was designed to provide a class-based, user-friendly interface
to information contained in a TTTR file that is independent of the file format.
Existing data processing software requires a conversion of the original data to
an open format [@ingargiola2016photon] or is tightly integrated
graphical user interfaces [@schrimpf2018pam]. Both aspects preclude
a custom automated analysis pipelines and a close integration of TTTR data
into integrative modeling frameworks [@russel2012putting].
`tttrlib` provides the most common data processing algorithoms
used in fluorescence spectroscopy such as photon distribution analysis
(PDA) [@antonik2006separating] and correlation algorithms for FCS [@wahl2003fast]
that can be used for advanced FCS techniques such as full-, gated-, or
filtered-FCS.
Moreover, as `tttrlib` can be used for CLSM TTTR data and implements reading
routines for the most common CLSM microscopes (such as the Leica SP5/SP8).
In `tttrlib` all parameters necessary for interpreting CLSM TTTR data can
be user specified. Hence, `tttrlib` can be used to processs abitrary
CLSM data.
Finally, `tttrlib` provides classes and methods for time-resolved
image spectroscopy [@kravets2016guanylate] and image correlation
spectroscopy (ICS) [@petersen1993quantitation].
Through image specroscopy on FRET labeled samples molecular distances
on population within pixels of an image can be obtained. ICS informs
on mobility and number of molecular species.
`tttrlib` was designed to be used by researchers in the field of
fluorescence spectroscopy, fluorescence microscopy, and integrative
modeling [@russel2012putting]. The combination of speed, design, and
support for NumPy/SciPy and scikit-image `tttrlib` will enable
scientific explorations through the development of automated and custom tailored
data data analysis pipelines for expert developers and users alike.
# Figures
{ width=100% }
# References