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
Snappy 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
High-Throughput Multichannel Event Timer & TCSPC Unit
Scalable Multichannel Event Timer & TCSPC Unit
PicoHarp 330 NEW
Precise and Versatile Event Timer & TCSPC Unit
Multichannel Picosecond Event Timer & TCSPC Module
TCSPC and MCS Board with PCIe Interface
To use snAPI with the TimeHarp 260, optional drivers are needed for snAPI.
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
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.
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.
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.
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 "Unfold".
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 “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).
Multiple Device Synchonization over White Rabbit
The 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
- Photon Antibunching
- Coincidence Correlation
- Quantum Communication
- Quantum Entanglement
- Quantum Teleportation
- Quantum Information Processing
- Single Photon Sources
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
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
Schematic representation of coincidence counting of two channels
See our example code to find out how the data handling is done using snAPI.