https://github.com/cgohlke/sdtfile

Read Becker & Hickl SDT files.

https://github.com/cgohlke/sdtfile

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

fluorescence-lifetime-spectroscopy fluorescence-microscopy-imaging format-reader life-sciences-image photon-counting python
Last synced: 5 months ago · JSON representation

Repository

Read Becker & Hickl SDT files.

Basic Info
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 7
  • Open Issues: 1
  • Releases: 6
Topics
fluorescence-lifetime-spectroscopy fluorescence-microscopy-imaging format-reader life-sciences-image photon-counting python
Created almost 6 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.rst

..
  This file is generated by setup.py

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: 2025.5.10
: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):

- `CPython `_ 3.10.11, 3.11.9, 3.12.10, 3.13.3 64-bit
- `NumPy `_ 2.2.5

Revisions
---------

2025.5.10

- Support Python 3.14.

2025.3.25

- Fix shape of data with routing channels.
- Drop support for Python 3.9, support Python 3.13.

2024.12.6

- Fix read MeasureInfo fields as scalars (breaking).
- Update some structure field names with BH reference (breaking).
- Parse some SetupBlock binary structures (#7).
- Include more information in str(SdtFile).
- Add subtype to FileRevision.

2024.11.24

- Update MEASURE_INFO_EXT struct to SPCM v.9.9 (breaking).

2024.5.24

- Fix docstring examples not correctly rendered on GitHub.

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

- …

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":

.. code-block:: python

    >>> 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)
    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:

.. code-block:: python

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

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

.. code-block:: python

    >>> 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,)

Owner

  • Name: Christoph Gohlke
  • Login: cgohlke
  • Kind: user
  • Location: Irvine, California

GitHub Events

Total
  • Release event: 4
  • Watch event: 4
  • Issue comment event: 5
  • Push event: 4
  • Pull request event: 2
  • Fork event: 2
  • Create event: 4
Last Year
  • Release event: 4
  • Watch event: 4
  • Issue comment event: 5
  • Push event: 4
  • Pull request event: 2
  • Fork event: 2
  • Create event: 4

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 69
  • Total Committers: 2
  • Avg Commits per committer: 34.5
  • Development Distribution Score (DDS): 0.362
Past Year
  • Commits: 21
  • Committers: 1
  • Avg Commits per committer: 21.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Christoph Gohlke c****e@u****u 44
Christoph Gohlke c****e@c****m 25
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 3
  • Average time to close issues: 1 day
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 3.5
  • Average comments per pull request: 2.33
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 5.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • s-weigand (1)
  • bhmarscheck (1)
  • WeiWenKevinChen (1)
  • Isquare1 (1)
Pull Request Authors
  • larsbergenholtz (2)
  • s-weigand (2)
Top Labels
Issue Labels
Pull Request Labels
enhancement (2)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 5,182 last-month
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 6
    (may contain duplicates)
  • Total versions: 28
  • Total maintainers: 1
pypi.org: sdtfile

Read Becker & Hickl SDT files

  • Versions: 19
  • Dependent Packages: 4
  • Dependent Repositories: 5
  • Downloads: 5,166 Last month
Rankings
Dependent packages count: 2.3%
Downloads: 2.9%
Dependent repos count: 6.7%
Average: 9.1%
Forks count: 13.3%
Stargazers count: 20.3%
Maintainers (1)
Last synced: 6 months ago
pypi.org: napari-sdtfile

A napari plugin for reading files via sdtfile

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 16 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 13.3%
Stargazers count: 20.3%
Dependent repos count: 21.8%
Average: 29.6%
Downloads: 82.8%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: sdtfile
  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Average: 41.1%
Forks count: 46.0%
Stargazers count: 55.7%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • numpy >=1.19.2