Changelog
FabIO-2024.9.0:
Link peak from sparse dataset to the dense one when using densify_Bragg
New tool hdf2neggia which converts any HDF5 file compatible into something compatible with XDS+neggia pluggin
support new detector: LambdaImage
Fix endianness issue in several file-format
Fix bug in edf.fast_data_read
Fix warning which became errors in gcc14
Supports Python 3.8-3.12
FabIO-2024.4.0:
Support for new style GE-files (contribution from Patrick Avery)
Support sparse frames without background
Fix documentation (Thanks Wout)
Automatize the release (Thanks Thomas)
Support for Numpy v2.0
Support Python 3.7-3.12
FabIO-2023.10.0:
New tutorial on the ccreation of multiframe Tiff
Fix regression related to the depreciation of fopen on MSVC compilers (validation code)
Clean-up packaging
Support Python 3.7-3.12
FabIO-2023.6.0:
Move source code to src
Remove anything related to setup.py (i.e. exit setuptools and numpy.distutils)
Debian build works only on debian12 (impossible to meet requirements on former versions)
Supports python 3.7 - 3.11
FabIO-2023.4.1:
Bugfix (#528) wrong checksum with small CBF files
FabIO-2023.04:
eiger2crysalis generates full CrysalisPro projects, including mask & scan description
Support Python 3.7 to 3.11 with Cython 0.21-3.0
FabIO-2022.12: (12/12/2022):
First version declared stable
Change the versioning system to calendar
Change build-system from numpy.distutils to meson-python
Deprecate the usage of setup.py (will be removed in next release)
Fix Tif-reader for wrong photometric interpretation
Update HiPiCimage
Support BigTIFF
Improvement of test-coverage
Fix issue in ProgressBar in the viewer
Fix memory leak in densify
Fix EigerImage behavour
Drop Python-3.6 (declared EOL 12-2021)
FabIO-0.14.0 (06/2022):
fix infinite loop when iterating over lima/eiger image files (#468)
fix typo when saving in pilatus/CBF format (#471)
fix noisy test on densification (#440)
limit version of setuptools (related to the PEP517 and associated regressions)
Change logo in documentation
Support for Python versions 3.6 to 3.10, tested on amd64, ppc64le and arm64
Linux is officially the main platform, Windows and MacOS are supported in best effort mode.
FabIO-0.13.0 (01/2022):
Allow files to be larger than 2GB (Thanks Wout)
Simplify the eiger2cbf tool
Correct densification with missing wavelength
Correct issue with EDF headers (#459)
Update documentation (Thanks Loïc)
Support for Python versions 3.6 to 3.10, tested on amd64, ppc64le and arm64
Linux is officially the main platform, Windows and MacOS are supported in best effort mode.
FabIO-0.12.0 (07/2021):
Densification of sparse data (densify-Bragg) produced by pyFAI (sparsify-Bragg)
Writer for EigerImage format
Writer for LimaImage format
Refactor all CLI tools
Disable the mask calculation by default in eiger2crysalis
Clean-up some debuging prints in CbfImage
Correct MrcImage format (and change in tests)
Support for Python versions 3.6 to 3.9, tested on amd64, ppc64le and arm64
Linux is officially the main platform, Windows and MacOS are supported in best effort mode.
FabIO-0.11.0 (01/2021):
New support for Esperanto image format (includes bitfield compression) read & write
New support for HDF5 files generated by LImA (read-only so far)
New support for HDF5 files generated by Bragg-sparsify (definitevely read-only)
Improved support for CBF: Magic bytes, headers, + other bug corrections
Improved supportfor Tiff: Miss interpretation of colormap tags
Improved support for GE files gernerated at APS
Improved support for Bruker100 image format (read & write)
Stop testing for 32-bit operating systems.
Support for Python versions 3.6 to 3.9
Linux is officially the main platform, Windows and MacOS are supported in best effort mode.
FabIO-0.10.0 (04/2020):
edfimage:
Improved robustness (PR #315)
Read without all restrictions of the “Klora” convention (PR #318)
Fixed example (PR #322)
Improved performances: Do not create a temporary string (PR #323)
Recognize a Global Header Section and using it as default (PR #328)
Fixed cleaning header block reading (PR #332)
Reading binary data from files and tests (PR #333)
Make magic readable (PR #339)
mar345image: Provide all the default file extension for mar345 (PR #354)
numpyimage: Fixes (PR #314, #344)
pixiimage: Improved file series filename parsing (PR #317)
tifimage: Improved TIFF via Pillow (PR #321)
Added support of esperanto format (PR #347, #351)
Fixed minor issues (PR #338) and compatibility with h5py (PR #350)
Improved tests (PR #320, #341, #345) and requirement.txt (PR #331)
Updated debian packaging (PR #324, #326), added debian11/ubuntu20.04 support (PR #355)
Added changelog file (PR #357)
Remove packagin for debian 6, 7 and 8, add support for debian11
Drop support for Python2 and 3.4, validated version are 3.5-3.8 on mac, win & linux
FabIO-0.9.0 (03/2019):
Separate the concept of FabioFrame from FabioImage
FileSeries are available from fabio.open_series
Shape and dtype are directly exposed
Support d*TREK format which is a superset of ADSC
Improve code coverage on PiXi image
Major refactoring of EdfImage (for better performances, padding, …)
Clean up TiffIO (remove tests & demo from source)
Improved binning handling in DM3 images, and more quiet
Implement deprecation warnings àla silx
Enhanced installation on unsupported architectures
Enhanced tests (spr, Fit2dSpreadsheet, Rigaku, …)
Tested on Python (2.7, 3.4), 3.5, 3.6 & 3.7 on mac, win & linux
FabIO-0.8.0 (10/2018):
Increased maximum header size for EDF (contribution from OlivierU38)
Fix EDF header (contribution from Yann Diorcet)
New explicit registry (no more metaclass)
Lazy iterator for EDF (useful for huge multi-frames)
Improved JPEG 2000 support via glymur
Manylinux1 wheels built against the oldest numpy possible
Improved debian packaging
clean up repository and tests
Fix compilation with Python 3.7, python 2.7 still works but for how long ?
FabIO-0.7.0 (06/2018):
Improve CBF support (support Python3, better support of loops)
Improve Bruker100 image detection (contribution from Tomoya Onozuka)
Support TIFF multi-frames
Improve Pilatus TIFF support (contribution from Mika Pflüger)
Improve support of TIFF using indexed colors
Support pathlib and pathlib2 as opennable paths
Provide a copy operator for single frame images
Clean up EDF image API (contribution from Yann Diorcet)
Fix parsing of EDF headers
Fix convertion from EDF to TIFF
Fix support of # in filenames
Clean up of code and documentation (including contribution from Thomas Kluyver)
FabIO-0.6.0 (01/2018):
Improve the EDF reader (faster for file compound by many compressed blocks).
Refactoring fabio_viewer to support one of installed Qt binding PySide/PyQt4/PyQt5
Fix closing of file descriptor in case of unsupported format
Fix DM3 format under Python3
Small clean up and fix on the documentation
Update Debian package scripts to support Ubuntu
provide dummy “register” decorator to prepare explicit registration in v0.7
Last version to support Python2.7 and will be supported until 2020. v0.7 will require Python3.4+
FabIO-0.5.0 (08/2017):
All source files are now under MIT license (re-implement PCK/packbits in Cython)
Context manager for fabio.open + automatic closing of file.
Iterator over all frames in a file.
Debian packaging for debian 8 and 9.
Use (patched-) ordered dictionaries for storing headers.
Many clean up and bug-fixes
New formats: mpa, jpeg and jpeg2000
Provide “convert” and “viewer” scripts in the fabio-bin debian package.
FabIO-0.4.0 (07/2016):
Write support for Bruker100 (contribution from Sigmund Neher)
Read support for Princeton instrumentation cameras (contribution from Clemens Percher)
Read support for FIT2D binary format
Read support for Eiger detector (Dectris) and generic HDF5 (partial)
Switch ESRF-contributed file formats to MIT license (more liberal)
Drop support for python 2.6, 3.2 and 3.3. Supports only 2.7 and 3.4+
Include TiffIO into core of FabIO (no more third-party)
Refactor mar345 (contributed by Henri Payno)
Enhanced byte-offset compression using Cython
Move master repository to silx-kit (https://github.com/silx-kit)
FabIO-0.3.0 (12/2015):
Migrate to PEP8 for class names.
Use a factory & registry instead of fiddling in sys.modules for instance creation
dim1, dim2, bpp and bytecode are properties. Use their private version while reading.
FabioImage.header[“filename”] has disappeared. Use FabioImage.filename instead.
Automatic backported package down to debian-8
Compatibility checked with 2.6, 2.7, 3.2, 3.3, 3.4 and 3.5
Continuous integration based on appveyor (windows) and travis (linux)
Support for numpy 2d-array and PNM saving
Move away from Sourceforge -> Github.
FabIO-0.2.2 (07/2015):
work on the auto-documentation on ReadTheDocs (see http://fabio.readthedocs.org)
fix regression when reading BytesIO
Python3 compatibility
prepare multiple package for debian
FabIO-0.2.1 (02/2015):
Fix issues with variable endianness (tested PPC, PPC64le, i386, x86-64, ARM processors)
Optimization of byte-offset reader (about 20% faster on some processors)
FabIO-0.2.0 (01/2015):
Compatibility with Python3 (tested on Python 2.6, 2.7, 3.2 and 3.4)
Support for Mar555 flat panel
Optimization of CBF reader (about 2x faster)
include tests into installed module (and download in /tmp)
FabIO-0.1.4:
Work on compatibility with Python3
Specific debian support with test images included but no auto-generated files
Image viewer (fabio_viewer) based on Qt4 (Thanks for Gaël Goret)
Reading images from HDF5 datasets
Read support for “MRC” images
Read support for “Pixi detector (Thanks for Jon Wright)
Read support for “Raxis” images from Rigaku (Thanks to Brian Pauw)
Write support for fit2d mask images
Drop support for python 2.5 + Cythonization of other algorithms
FabIO-0.1.3:
Fixed a memory-leak in mar345 module
Improved support for bruker format (writer & reader)
Fixed a bug in EDF headers (very long headers)
Provide template for new file-formats
Fix a bug related to PIL in new MacOSX
Allow binary-images to be read from end
FabIO-0.1.2 (04/2013):
Fixed a bug in fabioimage.write (impacted all writers)
added Sphinx documentation “python setup.py build_doc”
PyLint compliance of some classes (rename, …)
tests from installer with “python setup.py build test”
FabIO-0.1.1:
Merged Mar345 image reader and writer with cython bindings (towards python3 compliance)
Improve CBF image writing under windows
Bz2, Gzip and Flat files are managed through a common way … classes are more (python v2.5) or less (python v2.7) overloaded
Fast EDF reading if one assumes offsets are the same between files, same for ROIs
FabIO-0.1.0:
OXD reader improved and writer implemented
Mar345 reader improved and writer implemented
CBF writer implemented
Clean-up of the code & bug fixes
Move towards python3
Make PIL optional dependency
Preliminary Python3 support (partial).
FabIO-0.0.8:
Support for Tiff using TiffIO module from V.A.Solé
Clean-up of the code & bug fixes
FabIO-0.0.7 (03/2011):
Support for multi-frames EDF files
Support for XML images/2D arrays used in EDNA
new method: fabio.open(filename) that is an alias for fabio.openimage.openimage(filename)
FabIO-0.0.6 (01/2011):
Support for CBF files from Pilatus detectors
Support for KCD files from Nonius Kappa CCD images
write EDF with their native data type (instead of uint16 by default)
FabIO-0.0.4 (2009):
Support for EDF and many other formats