fbdfile 2025.9.18


pip install fbdfile

  Latest version

Released: Sep 18, 2025


Meta
Author: Christoph Gohlke
Requires Python: >=3.11

Classifiers

Development Status
  • 3 - Alpha

Intended Audience
  • Science/Research
  • Developers

Operating System
  • OS Independent

Programming Language
  • Cython
  • Python :: 3 :: Only
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14

Fbdfile is a Python library to read FLIMbox data (FBD), firmware (FBF), and setting (FBS.XML) files. The FLIMbox is an FPGA-based device for high bandwidth, multi-channel data collection for fluorescence lifetime-resolved imaging (FLIM) from a pulsed laser scanning confocal microscope. The files are written by SimFCS and ISS VistaVision software.

Author:

Christoph Gohlke

License:

BSD-3-Clause

Version:

2025.9.18

DOI:

10.5281/zenodo.17136073

Quickstart

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

python -m pip install -U fbdfile[all]

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

2025.9.18

  • Fix reading FBF and FBS files from streams.

2025.9.17

  • Make frame_markers a numpy array.

  • Add options to specify number of OpenMP threads.

2025.9.16

  • Initial alpha release based on lfdfiles 2025.7.31.

Notes

The API is not stable yet and might change between revisions.

Python <= 3.10 is no longer supported. 32-bit versions are deprecated.

The latest Microsoft Visual C++ Redistributable for Visual Studio 2015-2022 is required on Windows.

The FLIMbox formats are not documented and might change arbitrarily. This implementation is based on reverse engineering existing files. No guarantee can be made as to the correctness of code and documentation.

SimFCS, a.k.a. Globals for Images, is software for fluorescence image acquisition, analysis, and simulation, developed by Enrico Gratton at UCI.

VistaVision is commercial software for instrument control, data acquisition, and data processing by ISS Inc (Champaign, IL).

Examples

Read a FLIM lifetime image and metadata from an FBD file:

>>> with FbdFile('tests/data/flimbox$CBCO.fbd') as fbd:
...     bins, times, markers = fbd.decode()
...
>>> print(bins[0, :2], times[:2], markers[:2])
[50 58] [ 0 32] [1944097 2024815]
>>> import numpy
>>> hist = [numpy.bincount(b[b >= 0]) for b in bins]
>>> int(numpy.argmax(hist[0]))
53
>>> image = fbd.asimage((bins, times, markers))
>>> image.shape
(1, 2, 256, 256, 64)

View the histogram and metadata in a FLIMbox data file from the console:

$ python -m fbdfile tests/data/flimbox$CBCO.fbd

Wheel compatibility matrix

Platform CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14 CPython (additional flags: t) 3.14
macosx_11_0_arm64
macosx_11_0_x86_64
manylinux2014_aarch64
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_x86_64
manylinux_2_28_aarch64
manylinux_2_28_x86_64
win32
win_amd64
win_arm64

Files in release

fbdfile-2025.9.18-cp311-cp311-macosx_11_0_arm64.whl (164.8KiB)
fbdfile-2025.9.18-cp311-cp311-macosx_11_0_x86_64.whl (170.7KiB)
fbdfile-2025.9.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1MiB)
fbdfile-2025.9.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1MiB)
fbdfile-2025.9.18-cp311-cp311-win32.whl (119.7KiB)
fbdfile-2025.9.18-cp311-cp311-win_amd64.whl (139.2KiB)
fbdfile-2025.9.18-cp311-cp311-win_arm64.whl (120.6KiB)
fbdfile-2025.9.18-cp312-cp312-macosx_11_0_arm64.whl (165.3KiB)
fbdfile-2025.9.18-cp312-cp312-macosx_11_0_x86_64.whl (172.3KiB)
fbdfile-2025.9.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1MiB)
fbdfile-2025.9.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1MiB)
fbdfile-2025.9.18-cp312-cp312-win32.whl (121.8KiB)
fbdfile-2025.9.18-cp312-cp312-win_amd64.whl (142.9KiB)
fbdfile-2025.9.18-cp312-cp312-win_arm64.whl (121.4KiB)
fbdfile-2025.9.18-cp313-cp313-macosx_11_0_arm64.whl (164.1KiB)
fbdfile-2025.9.18-cp313-cp313-macosx_11_0_x86_64.whl (171.3KiB)
fbdfile-2025.9.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1MiB)
fbdfile-2025.9.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1MiB)
fbdfile-2025.9.18-cp313-cp313-win32.whl (121.6KiB)
fbdfile-2025.9.18-cp313-cp313-win_amd64.whl (142.7KiB)
fbdfile-2025.9.18-cp313-cp313-win_arm64.whl (121.4KiB)
fbdfile-2025.9.18-cp314-cp314-macosx_11_0_arm64.whl (165.9KiB)
fbdfile-2025.9.18-cp314-cp314-macosx_11_0_x86_64.whl (171.3KiB)
fbdfile-2025.9.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1MiB)
fbdfile-2025.9.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1MiB)
fbdfile-2025.9.18-cp314-cp314-win32.whl (124.0KiB)
fbdfile-2025.9.18-cp314-cp314-win_amd64.whl (147.2KiB)
fbdfile-2025.9.18-cp314-cp314-win_arm64.whl (126.4KiB)
fbdfile-2025.9.18-cp314-cp314t-macosx_11_0_arm64.whl (174.3KiB)
fbdfile-2025.9.18-cp314-cp314t-macosx_11_0_x86_64.whl (177.8KiB)
fbdfile-2025.9.18-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1MiB)
fbdfile-2025.9.18-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1MiB)
fbdfile-2025.9.18-cp314-cp314t-win32.whl (142.3KiB)
fbdfile-2025.9.18-cp314-cp314t-win_amd64.whl (169.7KiB)
fbdfile-2025.9.18-cp314-cp314t-win_arm64.whl (133.6KiB)
fbdfile-2025.9.18.tar.gz (39.9KiB)
Extras:
Dependencies:
numpy