ChangeLog of Versions¶
0.15.0: 01/02/2018¶
- 150 commits since last revision
- New tutorials on image inpainting, sensor thickness correction, ...
- Improve scripts
- Improve the new calibration GUI (pyFAI-calib2)
- Use scipy physical constants instead of hard-coded values
- Improved detector serialization and binning assessement
- Update documentation (images, better rendering of notebook & tutorials)
- Converge project with silx and fabio
- Remove generated rst- and C-files from repository
- This is the last version supporting python2.7
0.14.2: 14/09/2017¶
- Fix seg-fault with manylinux1 wheels, in fastcrc module (thanks Thomas)
- Fix Qt4-Qt5 compatibility (thanks Vadim)
- Easier to understand geometry transformation (thanks Jon)
- Lower memory consumption, better cache management
- Unified debian packaging working for 6->9
- New detector: Mythen & CirPad (thanks Fred)
- Clean up debug code which avoid to use pyFAI-calib2
- pyFAI-calib2 now expect fabio >= 0.5
- Fix issue with metadata saving in 1d
- Fix performance regression with pyopencl >2015.2 (Thanks Andreas)
- pyFAI saxs and waxs scripts guess now the binning of the detector (thanks Fred).
0.14.1: 25/07/2017¶
- Fixes Debian 7 and 8 packages
0.14.0: 20/07/2017¶
- Graphical user interface for calibration (pyFAI-calib2)
- Goniometer calibration tools and multi-geometry enhancements
- Integration scripts and averaging scripts are now able to normalize the data from monitors found in the header.
- Propagate metadata information as part of the integrated data
- Common pre-processing factorization on Python, Cython and OpenCL
- Test clean up and acceleration (avoid tests on too large images)
- Many new tutorials http://pyfai.readthedocs.io/en/latest/usage/tutorial/index.html
- New averaging / integration methods: - Azimuthal median filtering - Azimuthal trimmed mean - sigma-clipping on azimuthal angle - Radial averaging
- Diffraction image inpainting to fill-up the gaps with plausible values.
- This release correspond to 572 commits
- Change of license: now all pyFAI is MIT license.
0.13.0: 01/12/2016¶
Global improvement of tests, packaging, code quality, documentation and project tools
- Scripts
- Add support for multiframe formats on pyFAI-average
- Add support for monitoring correction from header file (on pyFAI-average)
- Add progressbar in the shell (on pyFAI-average and pyFAI-integrate)
- Script drawMask_pymca is renamed into pyFAI-drawmask
- Rework of the drawmask GUI using silx
- pyFAI-drawmask do not have anymore hard dependency on PyMCA
- pyFAI-integrate can now be used without qt dependency (–no-gui)
- Fix the script to support both Python 2 and 3 (pyFAI-calib, pyFAI-benchmark)
- Fix selection of units on diff-map (the user selection was not propagated)
- For users
- More source code in MIT license
- Update name and specification for cameras
- Add cameras: Eiger500k, RaspberryPi5M, RaspberryPi8M
- Fix Xpad S540 flat detector geometry
- Fix definition of CeO2 calibrant
- Add mask and flat on multi-geometry
- Fix solid angle of the multi-geometry
- Fix geometry processing for custom output space
- Fix normalization factor and variance
- Add support for Qt5
- Add support for Debian 9 packaging
- For developers
- Create common preprocessing for distortion correction
- Create common image preprocessing using Cython (NaN filter, flatfield, dark, polarisation)
- Refactoring of units module. It allows to register custom units.
- Worker can now use Writer
- Worker polarization argument is renamed into polarization_factor
- Remove the dependency from python-fftw3, use numpy instead
- Remove QtWebKit dependency
- Fix un-correction of images using sparse matrix from scipy
0.12.0: 06/06/2016¶
Continuous integration on linux, windows using Python 2.7 and 3.4+
Drop support of Python 2.6, 3.2, 3.3 and debian6 packaging
New radial output units: Reciprocal spacing squared and log(q) ID02
GPU accelerate version of ai.separate (Bragg & amorphous) ID13
Quantile filtering in pyFAI-average ID02
New graphical application for diffraction imaging ID21
Migrate to a common structure with silx (reorganize tests, benchmarks, ...)
Extensions (binary sub-modules) have all been moved to ext directory
Many improvements multigeometry integrators
Compatibility with the copy module (copy.deepcopy) for azimuthal integrator ID02
Distortion correction works also for non-contiguous detectors
- Update documentation and provide advanced tutorials:
- Introduction to pyFAI using the jupyter notebook
- detector calibration ID15, BM02
- Correction of detector distortion, examples of pixel detectors.
- calibrant calculation ID30
- error handling ID02, BM29
pyFAI-integrate can now be used with or without GUI
- Many new detectors (ADSC, Pilatus CdTe, Apex II, Pixium):
- support for non-flat/curved detectors (Aarhus)
- non-contiguous detectors (WOS Xpad)
Include tests and benchmarking tools as part of the library
Better testing.
0.11.0: 07/2015¶
All calibrant from NIST are now available, + Nickel, Aluminum, ... with bibliographic references
The Cell class helps defining new calibrants.
OpenCL Bitonic sort (to be integrated into Bragg/Amorphous separation)
Calib is available from the Python interface (procedural API), not only from the shell script.
- Many new options in calib for reset/assign/delete/validate/validate2/chiplot.
- reset: set the detector, orthogonal, centered and at 10cm
- assign: checks the assignment of groups of points to rings
- delete: remove a group of peaks
- validate: autocorrelation of images: error on the center
- validate2: autocorrelation of patterns at 180° apart: error on the center function of chi
- chiplot: assesses the quality of control points of one/multiple rings.
Fix the regression of the initial guess in calib (Thanks Jon Wright)
New peak picking algorithm named “watershed” and based on inverse watershed for ridge recognition
start factorizing cython regridding engines (work ongoing)
Add “–poni” option for pyFAI-calib (Thanks Vadim Dyakin)
Improved “guess_binning”, especially for Perkin Elmer flat panel detectors.
Support for non planar detectors like Curved Imaging plate developped at Aarhus
Support for Multi-geometry experiments (tested)
Speed improvement for detector initialization
better isotropy in peak picking (add penalization term)
enhanced documentation on http://pyfai.readthedocs.org
0.10.3: 03/2015¶
- Image segmentation based on inverse watershed (only for recalib, not for calib)
- Python3 compatibility
- include testimages into distribution
0.10.2: 11/2014¶
- Update documentation
- Packaging for debian 8
0.10.1: 10/2014¶
- Fix issue in peak-picking
- Improve doc & manpages
- Compatibility with PyMca5
0.10.0: 10/2014¶
- Correct Caglioti’s formula
- Update tests and OpenCL -> works with Beignet and pocl open source drivers
- Compatibility with MacOSX and windows
0.9.4: 06/2014¶
- include spec of Maxwell GPU
- fix issues with intel OpenCL icd v4.4
- introduce shape & max_shape in detectors
- work on marchingsquares/sorted controurplot for calibration
- Enforce the use the Qt4Agg for Matplotlib and other GUI stuff.
- Update shape of detector in case of binning
- unified distortion class: merge OpenCL & OpenMP implementation #108
- Benchmarks for distortion
- Raise the level to warning when inverting the mask
- set of new ImXpad detectors Related issue #111
- Fix issue with recalib within MX-calibrate
- saving detector description in Nexus files issue #110
- Update some calibrants: gold
- about to make peak-picking more user-friendly
- test for bragg separation
- work on PEP8 compliance
- Do not re-cythonize: makes debian package generation able to benefit from ccache
- conversion to SPD (rotation is missing)
- pixelwise worker
- correct both LUT & OCL for memory error
- replace os.linsep with “n” when file file opened in text mode (not binary)
- rework the Extension part to be explicit instead of “black magic” :)
- implement Kahan summation in Cython (default still use Doubles: faster)
- Preprocessing kernel containing all cast to float kernels #120
- update setup for no-openmp option related to issue #127
- Add read-out mode for mar345 as “guess_binning” method for detector. Also for MAR and Rayonix #125
- tool to benchmark HDF5 writing
- try to be compatible with both PySide and PyQt4 ... the uic stuff is untested and probably buggy #130
- Deactivate the automatic saturation correction by default. now it is opt-in #131
0.9.3: 02/2014¶
- Better control for peak-picking (Contribution from Gero Flucke, Desy)
- Precise Rayonix detectors description thanks to Michael Blum
- Start integrating blob-detection algorithm for peak-picking: #70
- Switch fron OptParse to ArgPrse: #83
- Provide some calibrant by default: #91
- Description of Mar345 detector + mask#92
- Auto-registration of detectors: #97
- Recalib and check-calib can be called from calib: #99
- Fake diffraction image from calibrant: #101
- Implementation of the CSR matrix representation to replace LUT
- Tight pixel splitting: #43
- Update documentation
0.9.2: (01/2014)¶
- Fix memory leak in Cython part of the look-up table generation
- Benchmarks with memory profiling
0.9: 10/2013¶
- Add detector S140 from ImXpad, Titan from Agilent, Rayonix
- Fix issues: 61, 62, 68, 76, 81, 82, 85, 86, 87
- Enhancement in LImA plugins (better structure)
- IO module with Ascii/EDF/HDF5 writers
- Switch some GUI to pyQtGraph in addition to Qt
- Correction for solid-angle formula
0.8: 10/2012¶
- Detector object is member of the geometry
- Binning of the detector, propagation to the spline if needed
- Detector object know about their masks.
- Automatic mask for some detectors like Pilatus or XPad
- Implementation of sub-pixel position correction for Pilatus detectors
- LUT implementation in 1D & 2D (fully tested) both with OpenMP and with OpenCL
- Switch from C++/Cython OpenCL framework to PyOpenCL
- Port opencl code to both Windows 32/64 bits and MacOSX
- Add polarization corrections
- Use fast-CRC checksum on x86 using SSE4 (when available) to track array change on GPU buffers
- Support for flat 7*8 modules Xpad detectors.
- Benchmark with live graphics (still a memory issue with python2.6)
- Fat source distribution (python setup.py sdist –with-test-images) for debian
- Enhanced tests, especially for Saxs and OpenCL
- Recalibration tool for refining automatically parameters
- Enhancement of peak picking (much faster, recoded in pure Cython)
- Easy calibration for pixel detector (reconstruction of inter-module space)
- Error-bar generation using Poisson law
- Unified programming interface for all integration methods in 2theta, q or radius unit
- Graphical interface for azimuthal integration (pyFAI-integrate)
- Lots of test to prevent non regression
- Tool for merging images using various method (mean, median) and with outlayer rejection
- LImA plugin which can perform azimuthal integration live during the acquisition
- Distortion correction is available alone and as LImA plugin
- Recalibration can refine the wavelength in addition to 6 other parameters
- Calibration always done vs calibrant’s ring number, lots of new calibrant are available
- Selection by hand of single peaks for calibration
- New detectors: Dexela and Perkin-Elmer flat panel
- Automatic refinement of multiple images at various geometries (for MX)
- Many improvements requested by ID11 and ID13
0.7.2: 08/2012¶
- Add diff_tomo script
- Geometry calculation optimized in (parallel) cython
0.7: 07/2012¶
Implementation of look-up table based integration and OpenCL version of it
0.6: 07/2012¶
- OpenCL flavor works well on GPU in double precision with device selection
0.5: 06/2012¶
- Include OpenCL version of azimuthal integration (based on histograms)
0.4: 06/2012¶
- Global clean up of the code regarding options from command line and better design
- Correct the orientation of the azimuthal angle chi
- Rename scripts in pyFAI-calib, pyFAI-saxs and pyFAI-waxs
0.3: 11/2011¶
- Azimuthal integration splits pixels like fit2d
0.2: 07/2011¶
- Azimuthal integration using cython histogramming is working
0.1: 05/2011¶
- Geometry is OK