The fastest streaming algorithms for your TTTR data
Project description
🍕 Trattoria 🍕
Trattoria delivers you the fastest streaming algorithms to analyze your TTTR data. We currenlty support the following algorithms:
- Second order autocorrelations: Calculate the autocorrelation between two channels of your TCSPC.
- Third Order autocorrelations: Calculate the coincidences between 3 channels. A sync version is provided were it uses the fact that the sync channel is periodic and known.
- Intensity time trace: Calculate the intensity on each (or all) channels versus time.
- Zero finder: Given two uncorrelated channels (e.g. a laser behind a 50/50 splitter) compute the delay between the input channels.
- Lifetime: Compute the lifetime histogram from a pulsed excitation experiment.
Supported file formats
Currently Trattoria can only read PTU files from PicoQuant. If you want support for more or want to help providing it please put a ticket on the tttr-toolbox project.
Installing
pip install trattoria
Examples
The entry point to Trattoria is the PTUFile class. This class has methods that
give us access to the algorithms. Each of the algorithms takes as input a
parameter object and returns a results object. For a complete list of the
functionality see the examples
folder.
import trattoria
import matplotlib.pyplot as plt
ptu_filepath = Path("/path/to/some.ptu")
ptu = trattoria.PTUFile(ptu_filepath)
timetrace_params = trattoria.TimeTraceParameters(
resolution=10.0,
channel=None,
)
tt_res = ptu.timetrace(timetrace_params)
plt.plot(tt_res.t, tt_res.tt / timetrace_params.resolution)
plt.xlabel("Time (s)")
plt.ylabel("Intensity (Hz)")
plt.show()
The examples folders contains examples of all the functionality available in
Trattoria. For more details check the docstrings in core.py
.
Design
Trattoria is just a very thin wrapper around the trattoria-core library which itselfs provides a lower level interface to the the tttr-toolbox library. A Rust project that provides the compiled components that allows us to go fast.
Changelog
0.3.4
- The g2 algorithm now supports a mode flag. With "symmetric" we use the prefered version of the algorithm that returns negative and positive delays. "asymmetric" returns only positive delays but is faster. Default is "symmetric".
0.3.3
- The underlying TTTR Toolbox and Trattoria Core were refactored to support
multiple custom ranges or records at once.
start_range
andstop_range
have disappeared in favor ofrecord_ranges
. It takes a list of tuples of integers orNone
.
Citing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file trattoria-0.3.4.tar.gz
.
File metadata
- Download URL: trattoria-0.3.4.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Darwin/19.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c2b4d634fa69a12e6bfba61f20c8cb304ece9ff414fde24569ecffde8ff747 |
|
MD5 | ff14661a2964a1bf1f2a94502dbe80cc |
|
BLAKE2b-256 | 2df4d5b1fede6a43270025bf000033e4c2bf4464580b7ebe625da12f1cb86a57 |
File details
Details for the file trattoria-0.3.4-py3-none-any.whl
.
File metadata
- Download URL: trattoria-0.3.4-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Darwin/19.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ffe1f9529b4d71fcbc0c04b04a8d7da579b67d33f70069c29addd4ed2631eec |
|
MD5 | 30a7f1a1e141c31029c851c82f32d591 |
|
BLAKE2b-256 | f0ca9f05b05bbb9bf10fad898a1be4e6af7e1d882d3bd9b173f78d879e92e3e7 |