https://github.com/cgohlke/lfdfiles

Laboratory for Fluorescence Dynamics (LFD) file formats.

https://github.com/cgohlke/lfdfiles

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.1%) to scientific vocabulary

Keywords

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

Repository

Laboratory for Fluorescence Dynamics (LFD) file formats.

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

README.rst

..
  This file is generated by setup.py

Laboratory for Fluorescence Dynamics (LFD) file formats
=======================================================

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 `_.
For example:

- SimFCS VPL, VPP, JRN, BIN, INT, CYL, REF, BH, BHZ, B64, I64, Z64, R64
- FLIMbox FBD, FBF, FBS.XML
- 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: 2025.7.31
: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):

- `CPython `_ 3.11.9, 3.12.10, 3.13.5, 3.14.0rc 64-bit
- `Cython `_ 3.1.2 (build)
- `NumPy `_ 2.3.2
- `Tifffile `_ 2025.6.11 (optional)
- `Czifile `_ 2019.7.2.1 (optional)
- `Oiffile `_ 2025.5.10 (optional)
- `Netpbmfile `_ 2025.5.8 (optional)
- `Matplotlib `_ 3.10.5
  (optional, for plotting)
- `Click `_ 8.2.1
  (optional, for command line apps)

Revisions
---------

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

- Fix variable length little-endian base 128 decoding.

2024.9.15

- Improve typing.
- Deprecate Python 3.9, support Python 3.13.

2024.5.24

- Fix docstring examples not correctly rendered on GitHub.

2024.4.24

- Support NumPy 2.

2024.3.4

- Fix decoding 32-bit, 16 windows, 4 channels Spartan6 FBD files (#1).

2023.9.26

- Remove phasor and lifetime methods from VistaIfli (breaking).
- Rename SimfcsFbd and SimfcsFbf to FlimboxFbd and FlimboxFbf (breaking).
- Deprecate SimfcsFbd and SimfcsFbf.
- Support int16 FLIMbox cross correlation phase indices (bins).
- Add FlimboxFbs class for ISS VistaVision FLIMbox settings.
- Add decoder for 32-bit, 16 windows, 4 channels FlimboxFbd (untested).

2023.9.16

- Rewrite VistaIfli based on file format specification (breaking).
- Define positional and keyword parameters (breaking).
- SimfcsFbd.asarray returns bins only (breaking).

2023.8.30

- …

Refer to the CHANGES file for older revisions.

Notes
-----

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

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

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

Many of the LFD's 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.

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.  FLOP 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:

.. code-block:: python

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

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

.. code-block:: python

    >>> with BioradPic('_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:

.. code-block:: python

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

Owner

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

GitHub Events

Total
  • Release event: 4
  • Watch event: 4
  • Push event: 4
  • Fork event: 3
  • Create event: 4
Last Year
  • Release event: 4
  • Watch event: 4
  • Push event: 4
  • Fork event: 3
  • Create event: 4

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 135
  • Total Committers: 2
  • Avg Commits per committer: 67.5
  • Development Distribution Score (DDS): 0.489
Past Year
  • Commits: 43
  • Committers: 1
  • Avg Commits per committer: 43.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Christoph Gohlke c****e@u****u 69
Christoph Gohlke c****e@c****m 66
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: 4 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 9.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • BBB041 (1)
Pull Request Authors
Top Labels
Issue Labels
bug (1) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 4,537 last-month
  • Total dependent packages: 2
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 36
  • Total maintainers: 1
pypi.org: lfdfiles

Laboratory for Fluorescence Dynamics (LFD) file formats

  • Versions: 29
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 4,530 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 9.1%
Average: 15.9%
Forks count: 19.1%
Dependent repos count: 21.6%
Stargazers count: 25.0%
Maintainers (1)
Last synced: 6 months ago
pypi.org: napari-lfdfiles

A napari plugin for reading files via lfdfiles

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 7 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 19.1%
Dependent repos count: 21.6%
Stargazers count: 27.8%
Average: 32.7%
Downloads: 84.7%
Maintainers (1)
Last synced: 6 months ago
pypi.org: bioio-lfdfiles

A bioio plugin for reading files via lfdfiles

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.6%
Average: 38.8%
Dependent repos count: 68.0%
Maintainers (1)
Last synced: 7 months ago
conda-forge.org: lfdfiles
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Average: 50.2%
Dependent packages count: 51.2%
Forks count: 57.4%
Stargazers count: 58.4%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • click *
  • numpy >=1.19.2
  • tifffile >=2021.11.2
.github/workflows/wheel.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
  • pypa/cibuildwheel v2.21.0 composite
pyproject.toml pypi