OpenReadout
Copyright (c) 2026 The OpenReadout Authors
"The OpenReadout Authors" are the people who contributed to this project, as recorded in
its version-control history (each commit carries a Developer Certificate of Origin sign-off).

Licensed under either of the MIT license (LICENSE-MIT) or the Apache License,
Version 2.0 (LICENSE-APACHE), at your option.

Code derived from permissively licensed sources (their licences retained):
- crates/openreadout-jpegxr — a Rust port of the decoder path of jxrlib, the JPEG XR reference
  library ("JPEG XR Device Porting Kit v1.0"), Copyright (c) 2009 Microsoft Corp., BSD 2-clause
  ("New BSD License"); the licence text is crates/openreadout-jpegxr/LICENSE. The sources read were
  those bundled in the `jpegxr` 0.3.1 crate (https://crates.io/crates/jpegxr).
- crates/openreadout-wsi/src/isyntax — a Rust port of the decoding path of libisyntax
  (https://github.com/amspath/libisyntax, commit 92471dbf6c70), Copyright (c) 2019-2026 Pieter
  Valkema and contributors, BSD 2-Clause, including the 5/3 inverse lifting steps libisyntax takes
  from OpenJPEG (Copyright (c) 2002-2014 Universite catholique de Louvain and others, BSD 2-Clause);
  the licence texts are licenses/libisyntax-BSD-2-Clause.txt. libisyntax is also run, through
  pyisyntax (Aiden Nibali, MIT), as the reference in testing.

Christoph Gohlke's libraries were read while writing several readers and are used as independent
references in testing. Copyright (c) 2008-2026 Christoph Gohlke, BSD-3-Clause; the licence text is
licenses/gohlke-BSD-3-Clause.txt.
- czifile     — https://github.com/cgohlke/czifile
- liffile     — https://github.com/cgohlke/liffile
- oiffile     — https://github.com/cgohlke/oiffile
- oirfile     — https://github.com/cgohlke/oirfile
- tifffile    — https://github.com/cgohlke/tifffile
- imagecodecs — https://github.com/cgohlke/imagecodecs (EER electron-event decoding rule in imcd.c)

Prior art consulted as documentation (permissively licensed; no code copied):
- nd2      — Talley Lambert and contributors, BSD-3-Clause, https://github.com/tlambert03/nd2
- bioio    — Allen Institute for Cell Science, BSD-3-Clause, https://github.com/bioio-devs/bioio
- OME Data Model and OME-TIFF specification — Open Microscopy Environment, https://ome-model.readthedocs.io/
- ZEISS libCZI documentation pages (concept pages only, not source): resolution protocol, valid-pixel mask, https://zeiss.github.io/libczi/
- FCS 3.1 normative specification — International Society for Advancement of Cytometry (ISAC), CC BY-SA 3.0, https://isac-net.org/data-standards/
- FlowIO    — Scott White, BSD-3-Clause, https://github.com/whitews/FlowIO
- Bio-Formats format pages for Olympus OIR, cellSens VSI and Zeiss ZVI (documentation pages only, not source), https://bio-formats.readthedocs.io/
- OME-NGFF specification (0.1–0.5) — Open Microscopy Environment, https://ngff.openmicroscopy.org/; Zarr v2/v3 specifications, https://zarr-specs.readthedocs.io/
- c-blosc — The Blosc Developers, BSD-3-Clause, https://github.com/Blosc/c-blosc (chunk format document and blosc.c/blosclz.c decoding rules; shuffle.c bit-unshuffle block rules)
- bitshuffle — Kiyoshi Masui and contributors, MIT, https://github.com/kiyo-masui/bitshuffle (the bit-transpose transform)
- Snappy format description — Google, BSD-3-Clause, https://github.com/google/snappy/blob/main/format_description.txt
- hdf5_plugins LZ4 filter (H5Zlz4.c) — The HDF Group, BSD-style HDF5 licence, https://github.com/HDFGroup/hdf5_plugins (filter 32004 chunk layout)
- NWB 2 schema documentation — Neurodata Without Borders, https://nwb-schema.readthedocs.io/; HDMF-common schema documentation (DynamicTable, VectorIndex), https://hdmf-common-schema.readthedocs.io/
- Microsoft [MS-CFB] and [MS-OAUT] Open Specifications (compound files; VARIANT type codes), https://learn.microsoft.com/openspecs/
- fcsparser — Eugene Yurtsev, MIT, https://github.com/eyurtsev/fcsparser
- nmrglue   — Jonathan J. Helmus and contributors, BSD-3-Clause, https://github.com/jjhelmus/nmrglue
             (Bruker parameter syntax, fid/ser/pdata layout, NC_proc scaling, digital-filter group-delay table)
- jcamp     — Nathan Hagen, MIT, https://github.com/nzhagen/jcamp
- JCAMP-DX protocols (IR 4.24, NMR, MS, 5.01) — IUPAC CPEP Subcommittee on Electronic Data Standards, https://www.jcamp-dx.org/protocols.html
- pyABF    — Scott W Harden, MIT, https://github.com/swharden/pyABF (ABF file-format guide and source)
- Neo      — Neo authors and contributors, BSD-3-Clause, https://github.com/NeuralEnsemble/python-neo
             (also the Plexon PLX layout and gains, Intan split-layout file names; its PL2 module is not used)
- ProbeTable — Howard Hughes Medical Institute, BSD-3-Clause, https://github.com/billkarsh/ProbeTable
- allotropy — Benchling, Inc. and contributors, MIT, https://github.com/Benchling-Open-Source/allotropy
             (plate-reader export layouts and ASM output shape; also run as the plate-reader oracle)
- Allotrope Simple Model plate-reader schema (REC/2025/03) — Allotrope Foundation, CC BY-NC 4.0 / CC BY-ND 4.0,
             https://gitlab.com/allotrope-public/asm (used unmodified for validation in oracle/ only; not distributed)

Vendor- and author-published file-format documentation consulted (public, no login):
- Neuralynx "Neuralynx Data File Formats" (Rev 1.1) and Cheetah Reference Guide, https://neuralynx.fh-co.com/
- Blackrock Neurotech LB-0023 "NEV and NSx file formats" (Rev 7.00) and LB-0110, https://blackrockneurotech.com/
- Intan Technologies "RHD/RHS Data File Formats" application notes, https://intantech.com/
- SpikeGLX metadata documentation (Janelia Research Campus software terms), https://billkarsh.github.io/SpikeGLX/
- MRC2014 specification — CCP-EM, https://www.ccpem.ac.uk/mrc_format/mrc2014.php (open standard); IMOD MRC format notes, https://bio3d.colorado.edu/imod/doc/mrc_format.txt (documentation only)
- mrcfile   — CCP-EM / Science and Technology Facilities Council, BSD-3-Clause, https://github.com/ccpem/mrcfile
- pyDM3reader (dm3_lib) — Pierre-Ivan Raynal and contributors, MIT, https://github.com/piraynal/pyDM3reader
- dm4       — James Anderson, MIT, https://github.com/jamesra/dm4
- nionswift-io — Nion Co., Apache-2.0, https://github.com/nion-software/nionswift-io (DM3/DM4 data types)
- Gatan "*.dm5 documentation" — Gatan, Inc., https://www.gatan.com/dm5-documentation (public vendor page: DM5 HDF5 layout, DataType list)
- EMD (Electron Microscopy Dataset) specification — https://emdatasets.com/format/ (open convention; Berkeley EMD 0.2/1.0)
- Digital Micrograph and TIA file format notes — Chris Boothroyd, https://personal.ntu.edu.sg/cbb/info/ (public web pages, documentation only)
- entab    — Roderick Bovee, MIT, https://github.com/bovee/entab (Agilent ChemStation readers, read as documentation; test data in the corpus)
- Aston    — Roderick Bovee, BSD-3-Clause, https://github.com/bovee/Aston (Agilent ChemStation readers, read as documentation and run as an oracle)
- netCDF Classic Format Specification — Unidata/UCAR, https://docs.unidata.ucar.edu/netcdf-c/current/file_format_specifications.html (open specification)
- [MS-CFB] Compound File Binary File Format — Microsoft Open Specifications, https://learn.microsoft.com/openspecs/windows_protocols/ms-cfb/ (open specification)
- rainbow documentation pages (file-format descriptions), https://rainbow-api.readthedocs.io/ (documentation pages)

Tools run as black-box oracles during development only (never linked):
- ZEISS libCZI and pylibCZIrw (LGPL-3.0), Bio-Formats (GPL-2.0+), bioio-czi and bioio-lif (GPL-3.0), readlif (GPL-3.0)
- ncempy / openNCEM (GPL-3.0-or-later) and RosettaSciIO (GPL-3.0): TIA SER, Gatan DM and EMD oracles
- rainbow-api (LGPL-3.0): Agilent ChemStation and Waters MassLynx oracle; scipy netcdf_file (BSD-3-Clause) and olefile (BSD-2-Clause) are also run as oracles
- pylibCZIrw is also run to write synthetic CZI test fixtures (oracle/make_czi_fixtures.py); the fixtures are data, not code

Controlled vocabularies (term ids and labels only, in crates/openreadout-core/src/vocab.rs;
no ontology files are distributed; see book/src/guides/metadata.md):
- PSI-MS controlled vocabulary 4.2.2 — HUPO Proteomics Standards Initiative, CC BY 3.0, https://github.com/HUPO-PSI/psi-ms-CV
- Chemical Methods Ontology (CHMO) 2026-05-28 — Royal Society of Chemistry, CC BY 4.0, https://github.com/rsc-ontologies/rsc-cmo
- Biological Imaging Methods Ontology (FBbi) 2026-06-25 — CC BY 4.0, https://github.com/CRBS/Biological_Imaging_Methods_Ontology
- Ontology for Biomedical Investigations (OBI) 2026-07-27 — OBI Consortium, CC BY 4.0, https://github.com/obi-ontology/obi
- Unified Code for Units of Measure (UCUM) 2.2 — Copyright (c) 1998-2024 Regenstrief Institute, Inc. and
  the UCUM Organization; unit codes used unmodified under the UCUM License, https://ucum.org/license
  (provided "as is", without warranty)

Trademarks: see TRADEMARKS.md.
