cgohlke / sdtfile

Read Becker & Hickl SDT files

Home Page:https://pypi.org/project/sdtfile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Read Becker & Hickl SDT files

Sdtfile is a Python library to read SDT files produced by Becker & Hickl SPCM software. SDT files contain time correlated single photon counting instrumentation parameters and measurement data. Currently only the "Setup & Data", "DLL Data", and "FCS Data" formats are supported.

Becker & Hickl GmbH is a manufacturer of equipment for photon counting.

Author

Christoph Gohlke

License

BSD 3-Clause

Version

2024.4.24

DOI

10.5281/zenodo.10125608

Quickstart

Install the sdtfile package and all dependencies from the Python Package Index:

python -m pip install -U sdtfile

See Examples for using the programming interface.

Source code and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

Revisions

2024.4.24

  • Support NumPy 2.

2023.9.28

  • Update structs to SPCM v.9.66 (breaking).
  • Shorten MEASURE_INFO struct to meas_desc_block_length.

2023.8.30

  • Fix linting issues.
  • Add py.typed marker.
  • Drop support for Python 3.8 and numpy < 1.22 (NEP29).

2022.9.28

  • Convert docstrings to Google style with Sphinx directives.

2022.2.2

  • Add type hints.
  • Drop support for Python 3.7 and numpy < 1.19 (NEP29).

2021.11.18

  • Fix reading FLIM files created by Prairie View software (#5).

2021.3.21

Refer to the CHANGES file for older revisions.

References

  1. W Becker. The bh TCSPC Handbook. 9th Edition. Becker & Hickl GmbH 2021. pp 879.
  2. SPC_data_file_structure.h header file. Part of the Becker & Hickl SPCM software installation.

Examples

Read image and metadata from a "SPC Setup & Data File":

>>> sdt = SdtFile('image.sdt') >>> int(sdt.header.revision) 588 >>> sdt.info.id[1:-1] 'SPC Setup & Data File' >>> int(sdt.measure_info[0].scan_x[0]) 128 >>> len(sdt.data) 1 >>> sdt.data[0].shape (128, 128, 256) >>> sdt.times[0].shape (256,)

Read data and metadata from a "SPC Setup & Data File" with multiple data sets:

>>> sdt = SdtFile('fluorescein.sdt') >>> len(sdt.data) 4 >>> sdt.data[3].shape (1, 1024) >>> sdt.times[3].shape (1024,)

Read image data from a "SPC FCS Data File" as numpy array:

>>> sdt = SdtFile('fcs.sdt') >>> sdt.info.id[1:-1] 'SPC FCS Data File' >>> len(sdt.data) 1 >>> sdt.data[0].shape (512, 512, 256) >>> sdt.times[0].shape (256,)

About

Read Becker & Hickl SDT files

https://pypi.org/project/sdtfile

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%