Skip to main content

Laboratory for Fluorescence Dynamics (LFD) file formats

Project description

Lfdfiles is a Python library and console script for reading, writing, converting, and viewing many of the proprietary file formats used to store experimental data and metadata at the Laboratory for Fluorescence Dynamics. Supported formats include:

  • SimFCS VPL, VPP, JRN, BIN, INT, CYL, REF, BH, BHZ, B64, I64, Z64, R64

  • GLOBALS LIF, ASCII

  • CCP4 MAP

  • Vaa3D RAW

  • Bio-Rad(r) PIC

  • ISS Vista IFLI, IFI

  • FlimFast FLIF

Author:

Christoph Gohlke

License:

BSD-3-Clause

Version:

2026.4.30

DOI:

10.5281/zenodo.8384166

Quickstart

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

python -m pip install -U "lfdfiles[all]"

Print the console script usage:

python -m lfdfiles --help

The lfdfiles library is type annotated and documented via docstrings.

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

2026.4.30

  • Remove FlimboxFbd, FlimboxFbf, and FlimboxFbs (breaking; use fbdfile).

  • Remove CziFile, NetpbmFile, OifFile, and TiffFile wrappers (breaking).

  • Add typed __init__ overrides to subclasses with class-specific parameters.

  • Drop support for numpy 2.0 (SPEC0).

2026.3.18

  • Replace LfdFileRegistry metaclass with __init_subclass__.

  • Add LfdFile.open classmethod as typed factory for auto-detection.

  • Add LfdFile._probe classmethod for cheap file pre-screening.

  • Add asarray overrides with typed signatures to select subclasses.

  • Convert _components to classmethod.

  • Drop support for Python 3.11.

2026.1.14

  • Improve code quality.

2025.12.12

  • Derive LfdFileError from ValueError.

  • Improve code quality.

2025.9.17

  • Many breaking changes to FLIMbox functionality (use fbdfile package instead):

  • Discourage use of FlimboxFbd, FlimboxFbf, and FlimboxFbs classes.

  • Use fbdfile package to implement FlimboxFbd, FlimboxFbf, and FlimboxFbs.

  • Remove flimbox_histogram, flimbox_decode, and sflim_decode functions.

  • Remove convert_fbd2b64 function and fbd2b64 command line app.

  • Remove deprecated SimfcsFbf, and SimfcsFbd classes.

  • Remove deprecated simfcsfbd_histogram and simfcsfbd_decode functions.

2025.7.31

  • Read variants of SimFCS REF files.

  • Drop support for Python 3.10.

2025.5.10

  • Mark Cython extension free-threading compatible.

  • Remove doctest command line option.

  • Support Python 3.14.

2025.3.16

  • Replace deprecated tifffile.stripnull function.

  • Fix misspelled VistaIfli.header keys.

  • Drop support for Python 3.9.

2024.10.24

Refer to the CHANGES file for older revisions.

Notes

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

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

Experimental data are often stored in plain binary files with metadata available in separate, human readable journal files (.jrn).

Unless specified otherwise, data are stored in little-endian, C contiguous order.

The FLIMbox functionality has been moved to the fbdfile package.

The Laboratory for Fluorescence Dynamics (LFD) was a national research resource center for biomedical fluorescence spectroscopy funded by the National Institutes of Health from 1986 to 2022 (grant P41GM103540).

References

The following software is referenced in this module:

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

  2. Globals, a.k.a. Globals for Spectroscopy, is software for the analysis of multiple files from fluorescence spectroscopy, developed by Enrico Gratton at UIUC and UCI.

  3. ImObj is software for image analysis, developed by LFD at UIUC. Implemented on Win16.

  4. FlimFast is software for frequency-domain, full-field, fluorescence lifetime imaging at video rate, developed by Christoph Gohlke at UIUC.

  5. FLImage is software for frequency-domain, full-field, fluorescence lifetime imaging, developed by Christoph Gohlke at UIUC. Implemented in LabVIEW.

  6. FLIez is software for frequency-domain, full-field, fluorescence lifetime imaging, developed by Glen Redford at UIUC.

  7. Flie is software for frequency-domain, full-field, fluorescence lifetime imaging, developed by Peter Schneider at MPIBPC. Implemented on a Sun UltraSPARC.

  8. FLOP97 is software for frequency-domain, cuvette, fluorescence lifetime measurements, developed by Christoph Gohlke at MPIBPC. Implemented in LabVIEW.

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

  10. Vaa3D is software for multi-dimensional data visualization and analysis, developed by the Hanchuan Peng group at the Allen Institute.

  11. Voxx is a volume rendering program for 3D microscopy, developed by Jeff Clendenon et al. at the Indiana University.

  12. CCP4, the Collaborative Computational Project No. 4, is software for macromolecular X-Ray crystallography.

Examples

Create a Bio-Rad PIC file from a NumPy array:

>>> data = numpy.arange(1000000).reshape((100, 100, 100)).astype('u1')
>>> bioradpic_write(TEMP / '_biorad.pic', data)

Read the volume data from the PIC file as NumPy array, and access metadata:

>>> with BioradPic(TEMP / '_biorad.pic') as f:
...     f.shape
...     f.spacing
...     data = f.asarray()
...
(100, 100, 100)
(1.0, 1.0, 1.0)

Convert the PIC file to a compressed TIFF file:

>>> with BioradPic(TEMP / '_biorad.pic') as f:
...     f.totiff(TEMP / '_biorad.tif', compression='zlib')
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lfdfiles-2026.4.30.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lfdfiles-2026.4.30-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file lfdfiles-2026.4.30.tar.gz.

File metadata

  • Download URL: lfdfiles-2026.4.30.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for lfdfiles-2026.4.30.tar.gz
Algorithm Hash digest
SHA256 e1e7f0480bfcdfcc037808475a6c54d34096637c95aaa18e1ee3b620862597f8
MD5 83556907aeeed56c0dbb8f0a3e1d9b66
BLAKE2b-256 255f244290942b257caf1397079a9e8948b746ef8ca37f01ba3efec18a32e282

See more details on using hashes here.

File details

Details for the file lfdfiles-2026.4.30-py3-none-any.whl.

File metadata

  • Download URL: lfdfiles-2026.4.30-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for lfdfiles-2026.4.30-py3-none-any.whl
Algorithm Hash digest
SHA256 25a32b48fd27cf131c19fd2670be696f1dee9a6f39fcc0fd9bc099e16fc04b28
MD5 3ea4923790c9811001d36cc61444d0bd
BLAKE2b-256 1ae8989ce71a8f2d18ad46a3f6c880cd1650fc856cfb45f9295a1b87d51603f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page