Software

snAPI free

Fast, Intuitive, and Versatile Python Wrapper

  • Download from GitHub for free
  • Benefit from seamless communication, configuration, and data handling with PicoQuant's TCSPC devices
  • Access, manipulate, and process raw data stream, or read from file
  • Efficiently handle large photon counts with real-time analysis
  • Build your own algorithms, implement complex calculations, and develop tailored data processing pipelines directly in Python

snAPI Pyhton Wrapper: screenshot of codeSnappy new API (snAPI) is a powerful Python wrapper which enables seamless communication and configuration with PicoQuant’s Time-Correlated Single Photon Counting (TCSPC) and Time Tagging Electronics. It harnesses the advantages of C++ for optimal speed and performance and bridges the gap between the high-speed capabilities of PicoQuant’s TCSPC devices and the ease of use and versatility of Python.

snAPI provides a high-level interface to the underlying C++ library and enables users to tap into the full potential of PicoQuant’s TCSPC devices while maintaining the flexibility and versatility of the Python programming language. The low-level control offered by C++ ensures smooth and efficient data processing, enabling efficient handling of large photon counts and their real-time analysis. Additionally, snAPI introduces another dimension of flexibility by providing the option to access unfolded data from the TCSPC devices, or conveniently read from PTU files. This opens a whole new realm of possibilities, allowing researchers, developers, and scientists to delve deeper into their data and extract valuable insights.

By leveraging the power of Python users can build their own algorithms, implement complex calculations, and develop tailored data processing pipelines for analysis. See features for more information about the abilities of snAPI.

To get started users just need a PicoQuant TCSPC device, its Library/DLL, Python, and snAPI.

 

 

Supported Time Tagging Units

MultiHarp 150

High-Throughput Multichannel Event Timer & TCSPC Unit

MultiHarp 150 - High-Throughput Multichannel Event Timer & TCSPC Unit


MultiHarp 160

Scalable Multichannel Event Timer & TCSPC Unit

MultiHarp160 - Scalable Multichannel Event Timer and TCSPC Unit


PicoHarp 330 NEW

Precise and Versatile Event Timer & TCSPC Unit

PicoHarp 330 - Precise and Versatile Event Timer & TCSPC Unit


HydraHarp 400

Multichannel Picosecond Event Timer & TCSPC Module

HydraHarp 400 - multichannel time tagging module

TimeHarp 260

TCSPC and MCS Board with PCIe Interface

To use snAPI with the TimeHarp 260, optional drivers are needed for snAPI.

TimeHarp 260 - time tagging and TCSPC board with PCIe interface

With snAPI, users can make use of advanced measurement classes such as timetrace, histogram, unfold, raw, and correlation (e.g, FCS, g2), without worrying about the intricacies of device handling. The measurement classes can be sequentially combined with data manipulators (e.g., coincidence, herald, merge, delay) to provide maximum flexibility in analysis.

 

Example Codes

Measurement class “TimeTrace”

Time trace measurements enable observing the blinking of single molecules.
The example code (image) shows the commands to use the measurement class “TimeTrace” for TimeTraces and the resulting plot.

Example Code which shows the commands to use the manipulator Coincidence and the measurement class TimeTrace for a live display.

 

Measurement class “Histogram”

With histogram measurements you can, e.g., use TRPL to study charge carrier dynamics in semiconductors.
The example code (image) shows the commands to use the measurement class “Histogram” for histogramming and the resulting plot.

Example Code which shows the commands to use the measurement class Histogram for histogramming and the resulting plot

 

Measurement class “Correlation”

With correlation measurements you can, e.g., investigate the stability of Nitrogen Vacancy (NV) Centers.
The example code (image) shows the commands to use the measurement class “Correlation” for g(2) correlation and the resulting plot.

Example Code which shows the commands to use the measurement class Correlation for g(2) correlation and the resulting plot

 

Measurement class “Correlation” for FCS

Measuring with the class "Correlation" you can, e.g., leverage fluorescence lifetime information for improved cross correlation spectroscopy (FCCS).
The example code (image) shows the commands to use the measurement class “Correlation” for FCS and the resulting plot.

Example Code which shows the commands to use the measurement class Correlation for FCS and the resulting plot

 

Measurement class “Unfold”

Example Code which shows the commands to use the measurement class "Unfold".

Example Code which shows the commands to use the measurement class Unfold.

 

Manipulator “Coincidence”

Example Code which shows the commands to use the manipulator “Coincidence” and the measurement class “TimeTrace” for a live display. See our application example to find out how such measurements are performed.

Example Code which shows the commands to use the manipulator “Coincidence

 

 

Manipulator “Herald”

Example Code which shows the commands to use the manipulator “Herald” and the resulting plot.

Example Code which shows the commands to use the manipulator Herald and the resulting plot

 

Device configuration

Example Code which shows commands for device configuration. Alternatively, if data is taken from a file the PTU-Header can be read instead (see left inset).

Example Code which shows commands for device configuration

 

Multiple Device Synchonization over White Rabbit

example of White rabbit network topologyThe White Rabbit interface offers precise synchronization and timestamping for two separate time taggers, ensuring accurate time correlation between multiple devices or systems. This enables instantaneous synchronization of two devices with multiple channels and even different experiments, providing synchronized timestamps with sub-nanosecond accuracy without cumbersome postprocessing. Devices stay synchronized, preventing temporal drifts by transmitting a reference clock via White Rabbit over fiber from one device to another. Amongst other applications, this is particularly relevant for quantum cryptography experiments.

snAPI allows you to easily implement White Rabbit into your experiments, enabling the simultaneous measurement initiation of two devices with predefinable measurement times. This ensures precise and reliable data acquisition, further streamlining synchronization capabilities across various applications with our MultiHarp 150 and MultiHarp 160 devices.

Read our application note to learn more: TCSPC Multi-Device Synchronization using MultiHarp and
White Rabbit

Possible applications


All Information given here is reliable to our best knowledge. However, no responsibility is assumed for possible inaccuracies or omissions. Specifications and external appearances are subject to change without notice.

Coincidence counting of entangled photons created via spontaneous parametric down conversion

 

Schematic representation of the set-up used for the measurement at the Humboldt University

Schematic representation of the set-up used for the measurement at the Humboldt University

 

Photo of the set-up used for the measurement at the Humboldt University

Big thank you to Dr. Sven Ramelow from the Nonlinear Quantum Optics research group at the Humboldt University Berlin

Photo of the set-up used for the measurement at the Humboldt University

 

Schematic representation of coincidence counting of two channels
Schematic representation of coincidence counting of two channels

 

 

See our example code to find out how the data handling is done using snAPI.