Skip to main content

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.

from pathlib import Path

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.5

  • Bug fix. The last 1024*16 where being ignored for performance reasons. This has has been fixed upstream in tttr-toolbox and this version of Trattoria uses the upgraded version of trattoria-core.
  • trattoria-core dropped support for Python 3.6 and 3.7 and therefore Trattoria too.

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 and stop_range have disappeared in favor of record_ranges. It takes a list of tuples of integers or None.

Citing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trattoria-0.3.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

trattoria-0.3.6-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file trattoria-0.3.6.tar.gz.

File metadata

  • Download URL: trattoria-0.3.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.11 Darwin/22.1.0

File hashes

Hashes for trattoria-0.3.6.tar.gz
Algorithm Hash digest
SHA256 28252ab1b5bed97182e0c32a448c43ca6952152397bdcfd1c606282c01ec9123
MD5 245e658c119e0e74d245ba266f82fba3
BLAKE2b-256 eb510a2ffc0da88d6bcf3a5139525043a24852d3f05e7421d48ddc034b02bc50

See more details on using hashes here.

File details

Details for the file trattoria-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: trattoria-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.11 Darwin/22.1.0

File hashes

Hashes for trattoria-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 43967792c81c32546b8173ddb6fba047e169bab3574e46739b60946f34c81dad
MD5 570f223d90b1579df101b1c6f9c98bf2
BLAKE2b-256 1129e1d77abc87bda6f34e45ffc9e38d1d6fd56589075d6ada5fc824ca8c7586

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page