Change Log

1.1.0: 2022/10/27

This is the last version of silx supporting Python 3.6 and PySide2. Next version will require Python >= 3.7

This is the first version of silx supporting PyQt6 (for Qt6). Please note that PyQt6 >= v6.3.0 is required.

  • silx view:

    • Improved wildcard support in filename and data path (PR #3663)

    • Enabled plot grid by default for curve plots (PR #3667)

    • Fixed refresh for content opened as file.h5::/path (PR #3665)

  • silx.gui:

    • Added support of PyQt6 >= 6.3.0 (PR #3655)

    • Fixed matplotlib>=3.6.0 and PySide6 support (PR #3639)

    • Fixed PySide6 >=6.2.2 support (PR #3581)

    • Fixed Python 3.10 with PyQt5 support (PR #3591)

    • Fixed crashes on exit when deriving QApplication (PR #3588)

    • Deprecated PySide2 support (PR #3648)

    • Fixed: raise exception early when using a version of PyQt5 incompatible with Python 3.10 (PR #3694)

    • silx.gui.data:

      • Updated: Do not keep aspect ratio in NXdata image views when axes @units are different (PR #3660)

      • silx.gui.data.ArrayTableWidget: Updated to edit without clearing previous data (PR #3686)

      • silx.gui.data.DataViewer: Added selectionChanged signal (PR #3646)

      • silx.gui.data.Hdf5TableView: Fixed for virtual datasets in the same file (PR #3572)

    • silx.gui.dialog.ColormapDialog: Updated layout and presentation of the features (PR #3671, #3609)

    • silx.gui.hdf5: Fixed issue with unsupported hdf5 entity (e.g. datatype) (PR #3643)

    • silx.gui.plot:

      • silx.gui.plot.items:

        • Added BandROI item (PR #3680, #3702, #3707)

        • Updated to take errorbars into account for item bounds (PR #3647)

        • Fixed ArcROI display (PR #3617)

        • Fixed error logs for scatter triangle visualisation with aligned points (PR #3644)

      • silx.gui.plot.MaskToolsWidget: Changed mask load/save default directory (PR #3704)

      • silx.gui.plot.PlotWidget:

        • Fixed time axis with values outside of supported range ]0, 10000[ years (PR 3597)

        • Fixed matplotlib backend replot failure under specific conditions (PR #3590)

        • silx.gui.PlotWidget’s OpenGL backend:

          • Added support of LaTex-like math syntax to text display (PR #3600)

          • Updated text label background to be less transparent (PR #3593)

          • Fixed dashed curve rendering (PR #3596)

          • Fixed image rendering of arcsinh colormap for uint8 and uint16 data (PR #3604)

          • Fixed rendering on some GPU (PR #3695)

          • Fixed empty text support (PR #3701)

          • Fixed: Avoid rendering when OpenGL version/extension check fails (PR #3707)

      • silx.gui.plot.PlotWindow: Fixed management of DockWidgets when showing/hiding the PlotWindow (PR #3631)

      • silx.gui.plot.PositionInfo: Improved picking (PR #3640)

      • silx.gui.plot.StackView: Updated toolbar implementation (PR #3697)

      • silx.gui.plot.stats: Fixed warnings when all data is outside the selected stats region (PR #3659)

      • silx.gui.plot.tools:

        • Added snapping to profile curve (PR #3640)

        • Fixed handling of disconnect exception (PR #3692)

        • Fixed label formatting for 2D profile tool (PR #3698)

        • Fixed computation of the slice profile (PR #3708)

    • silx.gui.utils.glutils.isOpenGLAvailable: Added possibility to check AA_ShareOpenGLContexts (PR #3688)

    • silx.gui.widgets.ElidedLabel: Fixed API inherited from QLabel (PR #3650, #3707)

  • silx.io:

    • silx.io.dictdump:

      • Added “info” logs when an entity is not copied to the output HDF5 file dicttoh5 (PR #3664)

      • Added support of pint in dicttoh5 and dicttonx (PR #3683)

    • silx.io.nxdata:

      • Updated get_default to be more permissive and follow @default recursively (PR #3662)

      • Updated error dataset retrieval (PR #3657, #3672)

    • silx.io.specfile:

      • Fixed buffer overflow for too long motor or label (PR #3622)

      • Fixed missing data if there is a trailing space in the mca array (PR #3612)

    • silx.io.utils.retry: Added retry for generator functions (PR #3679)

  • silx.math:

    • silx.math.histogram:

      • Added support of uint16 weights for LUT histogram (PR #3670)

      • Fixed Histogramnd computation on arrays with more than 2**31-1 samples (PR #3599)

    • silx.math.fft:

      • Added export_wisdom() and import_wisdom() (PR #3623)

      • Fixed normalization modes, notably account for regression in pyfftw normalization (PR #3625)

      • Fixed avoid creating OpenCL/Cuda contexts when not needed (PR #3587)

    • silx.math.fit: Updated documentation (PR #3582)

  • silx.opencl: Updated OpenCL profiling, fixed memory leak (PR #3690)

  • silx.utils.ExternalResources: Stored downloaded data checksum (PR #3580)

  • Miscellaneous:

    • Added SILX_INSTALL_REQUIRES_STRIP build configuration environment variable (PR #3602)

    • Added optional use of sphinx_autodoc_typehints to generate the documentation (PR #3668)

    • Updated build and development tools to remove dependency to distutils and numpy.distutils (PR #3583, #3585, #3613, #3649, #3651, #3653, #3658, #3661, #3678)

    • Updated Windows installer (PR #3642)

    • Updated documentation (PR #3699, #3709)

    • Updated after 1.0.0 release (PR #3560, #3569)

    • Fixed tests and continuous integration (PR #3632, #3637, #3639, #3685)

    • Fixed Debian/Ubuntu packaging (PR #3693)

    • Cleaned-up Python 2 compatibility code (PR #3673)

1.0.0: 2021/12/06

This is the first version of silx supporting PySide6 (for Qt6) and using pytest to run the tests.

  • silx view:

    • Added Windows installer generation (PR #3548)

    • Updated ‘About’ dialog (#3547, #3475)

    • Fixed: Keep curve legend selection with changing dimensions (PR #3529)

    • Fixed: Increase max number of opened file at start-up (PR #3545)

  • silx.gui:

    • Added PySide6 support (PR #3486, #3528, #3479, #3542, #3549, #3478, #3481):

    • Removed support of PyQt4 / Pyside (PR #3423, #3424, #3480, #3482)

    • silx.gui.colors:

      • Fixed duplicated logs when colormap vmin/vmax are not valid (PR #3471)

    • silx.gui.plot:

      • silx.gui.plot.actions:

        • silx.gui.plot.actions.fit:

          • Updated behaviour of fitted item auto update (PR #3532)

        • silx.gui.plot.actions.histogram:

          • Enhanced: Allow user to change histogram nbins and range (PR #3514, #3514)

          • Updated PixelIntensitiesHistoAction to use PlotWidget.selection (PR #3408)

          • Fixed issue when the whole image is masked (PR #3544)

          • Fixed error on macOS 11 with 3D display in silx view (PR #3544)

        • silx.gui.plot.CompareImages:

          • Fixed colormap: avoid forcing vmin and vmax when not in ‘HORIZONTAL_LINE’ or ‘VERTICAL_LINE’ mode (PR #3510)

        • silx.gui.plot.items:

          • Added ‘image_aggregated.ImageDataAggregated’: item allowing to aggregate image data before display (PR #3503)

          • Fixed ArcROI.setGeometry (fix #3492)

        • silx.gui.plot.ImageStack:

          • Enhanced management of the animation thread (PR #3440, PR #3441)

        • silx.gui.plot.ImageView:

          • Added action to show/hide the side histogram (PR #3488)

          • Added ‘resetzoom’ parameter to ‘ImageView.setImage’ (PR #3488)

          • Added empty array support to ‘ImageView.setImage’ (PR #3530)

          • Added aggregation mode action (PR #3536)

          • Added support of RGB and RGBA images (PR #3487)

          • Updated ‘imageview’ example with a ‘–live’ option (PR #3488)

          • Fixed profile window, added setProfileWindowBehavior method (PR #3457)

          • Fixed issue with profile window size (PR #3455)

        • silx.gui.plot.PlotWidget:

          • Fixed update of Scatter item binned statistics visualization (PR #3452)

          • Fixed OpenGL backend memory leak (PR #3453)

          • Enhanced: Optimized scatter when rendered as regular grid with the OpenGL backend (PR #3447)

          • Enhanced axis limits management by the OpenGL backend (PR #3504)

          • Enhanced control of repaint (PR #3449)

          • Enhanced text label background rendering with OpenGL backend (PR #3565)

        • silx.gui.plot.PlotWindow:

          • Fixed returned action from ‘getKeepDataAspectRatioAction’ (PR #3500)

      • silx.gui.plot3d:

        • Fixed picking on highdpi screen (PR #3550)

        • Fixed issue in parameter tree (PR #3550)

  • silx.io:

    • Added read support for FIO files (PR #3539) thanks to tifuchs contribution

    • silx.io.dictdump:

      • Fixed missing conversion of the key (PR #3505) thanks to rnwatanabe contribution

      • Extract update modes list to a constant global variable (PR #3460) thanks to jpcbertoldo

    • silx.io.convert:

      • Enhanced write_to_h5: infile parameter can now also be a HDF5 file as input (PR #3511)

    • silx.io.h5py_utils:

      • Added support of locking argument from the h5py.File when possible (PR #3554)

      • Added log a critical message for unsupported versions of libhdf5 (PR #3533)

    • silx.io.spech5:

      • Enhanced: Improve robustness (PR #3507, #3463)

    • silx.io.url:

      • Fixed is_absolute in the case the file_path() returns None (PR #3437)

    • silx.io.utils:

      • Added ‘silx.io.utils.visitall’: provides a visitor of all items including links that works for both commonh5 and h5py (PR #3511)

  • silx.math:

    • silx.math.colormap:

      • Added apply_colormap function (PR #3525)

      • Enhanced cmap error messages (PR #3522)

  • silx.opencl:

    • Added description of compute capabilities for Ampere generation GPU from Nvidia (PR #3535)

    • Added doubleword OpenCL library (PR #3466, PR #3472)

  • Miscellaneous:

    • Enhanced: Setup the project to use pytest (PR #3431, #3516, #3526)

    • Enhanced: Minor test clean up (PR #3515, #3508)

    • Updated project structure: move silx sources in src/silx (PR #3412)

    • Fixed ‘run_test.py –qt-binding’ option (PR #3527)

    • Fixed support of numpy 1.21rc1 (PR ##3476)

    • Removed six dependency (PR #3483)

0.15.2: 2021/06/21

Minor release:

  • silx.io:

    • silx.io.spech5: Enhanced robustness for missing positioner values (PR #3477)

    • silx.io.url: Fixed DataUrl.is_absolute (PR #3467)

  • silx.gui:

    • Fixed naming of some loggers (PR #3477)

    • Fixed assert on ImageStack when length of urls > 0 (PR #3491)

    • silx.gui.plot: Fixed ArcROI.setGeometry (PR #3493)

  • silx.opencl: Expose the double-word library and include it in tests (PR #3466)

  • Misc: Fixed support of numpy 1.21rc1 (PR #3477)

0.15.1: 2021/05/17

Minor release:

  • silx.gui.plot.PlotWidget: Fixed PlotWidget OpenGL backend memory leak (PR #3448)

  • silx.gui.plot.ImageView:

    • Fixed profile window default behavior (PR #3458)

    • Added setProfileWindowBehavior method (PR #3458)

0.15.0: 2021/03/18

Main new features are the silx.io.h5py_utils module which provides h5py concurrency helpers and image mask support by silx.gui.plot.PlotWidget’s tools.

  • silx view:

    • Fixed zoom reseting when scrolling a NXdata 3D stack (PR #3351)

    • Fixed support of very large 1D datasets in “Raw” table view (PR #3418)

  • silx.io:

    • Added h5py_utils helper module for concurrent HDF5 reading and writing without SWMR (PR #3368, #3426)

    • Enhanced dictdump module functions regarding overwriting existing files (PR #3376)

  • silx.gui:

    • Added scale to visible or selected area buttons options to silx.gui.dialog.ColormapDialog (PR #3365)

    • Fixed and enhanced`silx.gui.utils.glutils.isOpenGLAvailable` (PR #3356, #3385)

    • Fixed silx.gui.widgets.FlowLayout (PR #3389)

    • Enhanced silx.gui.data.ArrayTableWidget: Added support of array clipping if data is too large (PR #3419)

    • silx.gui.plot:

      • Added mask support to Image items and use it in plot tools (histogram, profile, colormap) (PR #3369, #3381)

      • Added ImageStack methods to configure automatic reset zoom (PR #3373)

      • Added some statistic indicators in PixelIntensitiesHistoAction action (PR #3391)

      • Enhanced silx.gui.plot.ImageView integration of ROI profiles in side plots (PR #3380)

      • Enhanced PositionInfo: snapping to histogram (PR #3405) and information labels layout (PR #3399)

      • Fixed LegendSelector blinking when updated (PR #3346)

      • Fixed profile tool issue when closing profile window after attaced PlotWidget (PR #3375)

      • Fixed histogram action (PR #3396)

      • Fixed support of histogram plot items in stats module (PR #3398, #3407)

      • Fixed ColorBar when deleting attached PlotWidget (PR #3403)

      • silx.gui.plot.PlotWidget:

        • Added getValueData method to image items (PR #3378)

        • Added discardItem method (PR #3400)

        • Added unified selection() handler compatible with active item management (PR #3401)

        • Fixed addCurve documentation (PR #3371)

        • Fixed complex image first displayed mode (PR #3364)

        • Fixed curve and scatter items support of complex data input (PR #3384)

        • Fixed histogram picking (PR #3405)

        • Fixed rendering (PR #3416)

    • silx.gui.plot3d:

      • Added HeightMapData and HeightMapRGBA items (PR #3386, #3397)

      • Fixed support for RGB colored points in internal scene graph (PR #3374)

      • Fixed ImageRgba alpha channel display (PR #3414)

  • silx.image:

    • Added mask support to bilinear interpolator (PR #3286)

  • silx.opencl:

    • Added print statics of OpenCL kernel execution time (PR #3395)

  • Miscellaneous:

    • Removed debian 9 packaging (PR #3383)

    • Enhanced test functions: silx.test.run_tests (PR #3331), silx.utils.testutils.TestLogging (PR #3393)

    • Continuous integration: Added github actions and removed travis-ci (PR #3353, #3359), fixed (PR #3361, #3366)

    • Updated documentation (PR #3383, #3387, #3409, #3416, #3427)

    • Fixed debian packaging (PR #3362)

    • Fixed silx test application on Windows (PR #3411)

0.14.1: 2021/04/30

This is a bug-fix version of silx.

  • silx.gui.plot: Fixed PlotWidget OpenGL backend memory leak (PR #3445)

  • silx.gui.utils.glutils: Fixed isOpenGLAvailable (PR #3356)

0.14.0: 2020/12/11

This is the first version of silx supporting h5py >= v3.0.

This is the last version of silx officially supporting Python 3.5.

  • silx.gui:

    • Added support for HDF5 external data (virtual and raw) (PR #3222)

    • Added lazy update handling of OpenGL textures (PR #3205)

    • Deprecated silx.gui.plot.matplotlib module (use silx.gui.utils.matplotlib instead) (PR #3158)

    • Improved memory allocation by using already defined fontMetrics instread of creating a new one (PR #3239)

    • Make TextFormatter compatible with h5py>=3 (PR #3253)

    • Fixed matplotlib 3.3.0rc1 deprecation warnings (PR #3145)

    • silx.gui.colors.Colormap:

      • Added Colormap.get|setNaNColor to change color used for NaN, fix different NaN displays for matplotlib/openGL backends (PR #3143)

      • Refactored PlotWidget OpenGL backend to enable extensions (PR #3147)

      • Fixed use of QThreadPool.tryTake to be Qt5.7 compliant (PR #3250)

    • silx.gui.plot:

      • Added the feature to compute statistics inside a specific region of interest (PR #3056)

      • Added an action to switch on/off OpenGL rendering on a plot (PR #3261)

      • Added test for ROI interaction mode (PR #3283)

      • Added saving of error bars when saving a plot (PR #3199)

      • Added ImageStack.clear (PR #3167)

      • Improved image profile tool to support PlotWidget item extension (PR #3150)

      • Improved Stackview: replaced setColormap autoscale argument by scaleColormapRangeToStack method (PR #3279)

      • Updated 3 stddev autoscale algorithm, clamp it with the minmax data in order to improve the contrast (PR #3284)

      • Updated ROI module: splitted into 3 modules base/common/arc_roi (PR #3283)

      • Fixed ColormapDialog custom range input (PR #3153)

      • Fixed issue when changing ROI mode while a ROI is being created (PR #3186)

      • Fixed RegionOfInterest refresh when highlighted (PR #3197)

      • Fixed arc roi shape: make sure start and end points are part of the shape (PR #3257)

      • Fixed issue in Colormap 3 stdev autoscale mode and avoided warnings (PR #3295)

      • Major improvements of PlotWidget:

        • Added get|setAxesMargins methods to control margin ratios around plot area (PR #3196)

        • Added PlotWidget.[get|set]Backend enabling switching backend (PR #3255)

        • Added multi interaction mode for ROIs (can be switched with a single click on an handle, or the context menu) (PR #3260)

        • Added polar interaction mode for arc ROI (PR #3260)

        • Added PlotWidget.sigDefaultContextMenu to allow to feed the default context menu (PR #3260)

        • Added context menu to the selected ROI to remove it (PR #3260)

        • Added pan interaction to ROI authoring (select-draw) interaction mode (PR #3291)

        • Added support of right axis label with OpenGL backend (PR #3293)

        • Added item visible bounds feature to PlotWidget items (PR #3223)

        • Added a DataItem base class for items having a “data extent” in the plot (PR #3212)

        • Added support for float16 texture in OpenGL backend (PR #3194)

        • Improved support of high-DPI screen in OpenGL backend (PR #3203)

        • Updated: Use points rather than pixels for marker size and line width with OpenGL backend (PR #3203)

        • Updated: Expose PlotWidget colors as Qt properties (PR #3269)

        • Fixed time serie axis for range < 2.5 microseconds (PR #3195)

        • Fixed initial size of OpenGL backend (PR #3209)

        • Fixed PlotWidget image items displayed below the grid by default (PR #3235)

        • Fixed OpenGL backend image display with sqrt colormap normalization (PR #3248)

        • Fixed support of shapes with multiple polygons in the OpenGL backend (PR #3259)

        • Fixes duplicated callback on ROIs (there was one for each ROI managed created on the plot) (PR #3260)

        • Fixed RegionOfInterest contains methods (PR #3336)

    • silx.gui.colors.plot3d:

      • Improved scene rendering (PR #3149)

      • Fixed handling of transparency of cut plane (PR #3204)

  • silx.image:

    • Fixed slow image.tomography.get_next_power() (PR #3168)

  • silx.io:

    • Added support for HDF5 link preservation in dictdump (PR #3224)

    • Added support for numpy arrays of numbers (PR #3251)

    • Make h5todict resilient to issues in the HDF5 file (PR #3162)

  • silx.math:

    • Improved colormap performances for small datasets (PR #3282)

  • silx.opencl:

    • Added textures availability check (PR #3273)

    • Added a warning when there is an issue in the Ocl destruction (PR #3280)

    • Fixed Sift test on modern GPU (PR #3262)

  • Miscellaneous:

    • Added HDF5 strings: handle h5py 2.x and 3.x (PR #3240)

    • Fixed cython 3 compatibility and deprecation warning (PR #3164, #3189)

0.13.2: 2020/09/15

Minor release:

  • silx view application: Prevent collapsing browsing panel, Added -f command line option (PR #3176)

  • silx.gui:

    • silx.gui.data: Fixed DataViews.titleForSelection method (PR #3171).

    • silx.gui.plot.items: Added DATA_BOUNDS visualization parameter for Scatter item histogram bounds (PR #3180)

    • silx.gui.plot.PlotWidget: Fixed support of curves with infinite data (PR #3175)

    • silx.gui.utils.glutils: Fixed isOpenGLAvailable function (PR #3184)

  • Documentation:

    • Update silx view command line options documentation (PR #3173)

    • Update version number and changelog (PR #3190)

0.13.1: 2020/07/22

Bug fix release:

  • silx.gui.plot.dialog: Fixed ColormapDialog custom range input (PR #3155)

  • Build: Fixed cython 3 compatibility (PR #3163).

  • Documentation: Update version number and changelog (PR #3156)

0.13.0: 2020/06/23

This version drops the support of Python 2.7 and Python <= 3.4.

  • silx view application:

    • Added support of compound data (PR #2948)

    • Added Close All menu (PR #2963)

    • Added default title to plots (PR #2979, #2999)

    • Added a button to enable/disable file content sorting (PR #3132)

    • Added support of a SILX_style HDF5 attribute to provide axes and colormap scale (PR #3092)

    • Improved HDF5TableView information table to make text selectable and ease copy (PR #2903)

    • Fixes (PR #2881, #2902, #3083)

  • silx.gui:

    • silx.gui.colors.Colormap:

      • Added mean+/-3std autoscale mode (PR #2877, #2900)

      • Added sqrt, arcsinh and gamma correction colormap normalizations (PR #3010, #3054, #3057, #3066, #3070, #3133)

      • Limit number of threads used for computing the colormap (PR #3073)

      • Reordered colormaps (PR #3137)

    • silx.gui.dialog.ColormapDialog: Improved widget (PR #2874, #2915, #2924, #2954, #3136)

    • silx.gui.plot:

      • Major rework/extension of the regions of interest (ROI) (PR #3007, #3008, #3018, #3020, #3022, #3026, #3029, #3044, #3045, #3055, #3059, #3074, #3076, #3078, #3079, #3081, #3131)

      • Major rework/extension of the profile tools (PR #2933, #2980, #2988, #3004, #3011, #3037, #3048, #3058, #3084, #3088, #3095, #3097)

      • Added silx.gui.plot.ImageStack widget (PR #2480)

      • Added support of scatter in PixelIntensitiesHistoAction (PR #3089, #3107)

      • Added auto update of FitAction fitted data and range (PR #2960, #2961, #2969, #2981)

      • Improved mask tools (PR #2986)

      • Fixed PlotWindow (PR #2965) and MaskToolsWidget (PR #3125)

      • silx.gui.plot.PlotWidget:

        • Changed behaviour of PlotWidget.addItem and PlotWidget.removeItem to handle object items (previous behavior deprecated, not removed) and added PlotWidget.addShape method to add Shape items (PR #2873, #2904, #2919, #2925, #3120)

        • Added support of uint16 RGBA images (PR #2889)

        • Improved interaction (PR #2909, #3014, #3033)

        • Fixed PlotWidget (PR #2884, #2901, #2970, #3002)

        • Fixed and cleaned-up backends (PR #2887, #2910, #2913, #2957, #2964, #2984, #2991, #3023, #3064, #3135)

      • silx.gui.plot.items:

        • Added sigDragStarted and sigDragFinished signals to marker items and sigEditingStarted and sigEditingFinished signals to region of interest items (PR #2754)

        • Added XAxisExtent and YAxisExtent items in silx.gui.plot.items to control the plot data extent (PR #2932)

        • Added ImageStack item (PR #2994)

        • Added Scatter item histogram visualization mode (PR #2912, #2923)

        • Added isDragged method to marker items (PR #3000)

        • Improved performance of colormapped items by caching data min/max (PR #2876, #2886)

        • Improved Scatter item regular grid (PR #2918) and irregular grid (PR #3108) visualizations

    • silx.gui.qt:

      • Changed behavior of QObject multiple-inheritance (PR #3052)

      • Limit silxGlobalThreadPool function to use 4 threads maximum (PR #3072)

    • silx.gui.utils.glutils: Added isOpenGLAvailable to check the availability of OpenGL (PR #2878)

    • silx.gui.widgets:

      • Added ElidedLabel widget (PR #3110, #3111)

      • Fixed LegendIconWidget (PR #3112)

  • silx.io:

    • Added support of signal dataset name-based errors to NXdata (PR #2976)

    • Added dicttonx function and support of HDF5 attibutes in dicttoh5 function (PR #3013, #3017, #3031, #3093)

    • Fixed url.DataUrl.path (PR #2973)

  • silx.opencl:

    • Fixed issue with Python 3.8 (PR #3036)

    • Disable textures for Nvidia Fermi GPUs for convolution (PR #3101)

  • Miscellaneous:

    • Requires fabio >= 0.9 (PR #2937)

    • Fixed compatibility with h5py<v2.9 (PR #3024), cython 3 (PR #3034)

    • Avoid deprecation warnings (PR #3104) from Python 3.7 (PR #3012), Python 3.8 (PR #2891, #2934, #2989, #2993, #3127), h5py (PR #2854, #2893), matplotlib (PR #2890), fabio (PR #2930) and numpy (PR #3129)

    • Use numpy.errstate to ignore warnings rather than the warnings module (PR #2920)

  • Build, documentation and tests:

    • Dropped Python2 support (PR #3119, #3140) and removed Python 2 tests and packaging (PR #2838, #2917)

    • Added debian 11/Ubuntu 20.04 packaging (PR #2875)

    • Improved test environment (PR #2870, #2949, #2995, #3009, #3061, #3086, #3087, #3122), documentation (PR #2872, #2894, #2937, #2987, #3042, #3053, #3068, #3091, #3103, #3115) and sample code (PR #2978, #3130, #3138)

    • Fixed Windows “fat binary” build (PR #2971)

0.12.0: 2020/01/09

Python 2.7 is no longer officially supported (even if tests pass and most of the library should work).

  • silx view application:

    • Added: keep the same axes selection when changing dataset except for the stack view (PR #2701, #2780)

    • Added a Description column in the browsing tree to display NeXus title or name (PR #2804)

    • Added support of URL as filename (PR #2750)

    • Behavior changed: no longer lock HDF5 files by default, can be changed with –hdf5-file-locking option (PR #2861)

  • silx.gui:

    • silx.gui.plot:

      • Added scatter plot regular and irregular grid visualization mode (PR #2810, #2815, #2820, #2824, #2831)

      • Added baseline argument to PlotWidget addCurve and addHistogram methods (PR #2715)

      • Added right axis support to PlotWidget marker items (PR #2744)

      • Added BoundingRect PlotWidget item (PR #2823)

      • Added more markers to PlotWidget items using symbols (PR #2792)

      • Improved and fixed PlotWidget and backends rendering and picking to guarantee rendering order of items (PR #2602, #2694, #2726, #2728, #2730, #2731, #2732, #2734, #2746, #2800, #2822, #2829, #2851, #2853)

      • Improved RegionOfInterest: Added sigItemChanged signal, renamed get|setLabel to get|setName (PR #2684, #2729, #2794, #2803, #2860)

      • Improved StackView: Allow to save dataset to HDF5 (PR #2813)

    • silx.gui.plot3d:

      • Added colormapped isosurface display to ComplexField3D (PR #2675)

    • Miscellaneous:

      • Added cividis colormap (PR #2763)

      • Added silx.gui.widgets.ColormapNameComboBox widget (PR #2814)

      • Added silx.gui.widgets.LegendIconWidget widget (PR #2783)

      • Added silx.gui.utils.blockSignals context manager (PR #2697, #2702)

      • Added silx.gui.utils.qtutils.getQEventName function (PR #2725)

      • Added silx.gui.colors.asQColor function (PR #2753)

      • Minor fixes (PR #2662, #2667, #2674, #2719, #2724, #2747, #2757, #2760, #2766, #2789, #2798, #2799, #2805, #2811, #2832, #2834, #2839, #2849, #2852, #2857, #2864, #2867)

  • silx.opencl:

    • Added silx.opencl.sparse.CSR with support of different data types (PR #2671)

    • Improved support of different platforms like PoCL (PR #2669, #2698, #2806)

    • Moved non-OpenCL related utilities to silx.opencl.utils module (PR #2782)

    • Fixed silx.opencl.sinofilter.SinoFilter to avoid importing scikit-cuda (PR #2721)

    • Fixed kernel garbage collection (PR #2708)

    • Fixed silx.opencl.convolution.Convolution (PR #2781)

  • silx.math/silx.image:

    • Added trilinear interpolator: silx.math.interpolate.interp3d (PR #2678)

    • Added silx.image.utils.gaussian_kernel function (PR #2782)

    • Improved silx.image.shapes.Polygon argument check (PR #2761)

    • Fixed and improved silx.math.fft with FFTW backend (PR #2751)

    • Fixed support of not finite data in fit manager (PR #2868)

  • silx.io:

    • Added asarray=True argument to silx.io.dictdump.h5todict function (PR #2692, #2767)

    • Improved silx.io.utils.DataUrl (PR #2790)

    • Increased max number of motors in specfile (PR #2817)

    • Fixed data conversion when reading images with fabio (PR #2735)

  • Build, documentation and tests:

    • Added Cython as a build dependency (PR #2795, #2807, #2808)

    • Added Debian 10 packaging (PR #2670, #2672, #2666, #2686, #2706)

    • Improved documentation (PR #2673, #2680, #2679, #2772, #2759, #2779, #2801, #2802, #2833, #2857, #2869)

    • Improved testing tools (PR #2704, #2796, #2818)

    • Improved bootstrap.py script (PR #2727, #2733)

0.11.0: 2019/07/03

  • Graphical user interface:

    • Plot:

      • Add sample code on how to update a plot3d widget from a thread

      • ScatterPlot: add the possibility to plot as a surface using Delaunay triangulation

      • ScatterView: add a tool button to change scatter visualization mode (ex. Solid)

      • (OpenGL backend) Fix memory leak when creating/deleting widgets in a loop

    • Plot3D:

      • Add an action to toggle plot3d’s PositionInfoWidget picking.

      • Add a 3D complex field visualization: Complex3DField (also available from silx view)

      • Add a PositionInfoWidget and a tool button to toggle the picking mode to SceneWindow

      • Add the possibility to render the scene with linear fog.

    • silx.gui.widgets:

      • Fix ImageFileDialog selection for a cube with shape like 1,y,x.

  • Miscellaneous:

    • Requires numpy version >= 1.12

    • HDF5 creator script

    • Support of Python 3.4 is dropped. Please upgrade to at least Python 3.5.

    • This is the last version to officially support Python 2.7.

    • The source code is Python 3.8 ready.

    • Improve PySide2 support. PyQt4 and PySide are deprecated.

0.10.0: 2019/02/19

  • Graphical user interface:

    • Plot:

    • Add support of foreground color

    • Fix plot background colors

    • Add tool to mask ellipse

    • StatsWidget:

    • Add support for plot3D widgets

    • Add a PyMca like widget

    • Colormap: Phase colormap is now editable

    • ImageView: Add ColorBarWidget

    • PrintPreview:

    • Add API to define ‘comment’ and ‘title’

    • Fix resizing in PyQt5

    • Selection: Allow style definition

    • ColormapDialog: display ‘values’ plot in log if colormap uses log

    • Synchronize ColorBar with plot background colors

    • CurvesROIWidget: ROI is now an object.

    • Plot3D:

    • SceneWidget: add ColormapMesh item

    • Add compatibility with the StatsWidget to display statistic on 3D volumes.

    • Add ScalarFieldView.get|setOuterScale

    • Fix label update in param tree

    • Add ColormapMesh item to the SceneWidget

    • HDF5 tree:

    • Allow URI drop

    • Robustness of hdf5 tree with corrupted files

    • silx.gui.widgets:

    • Add URL selection table

  • Input/output:

    • Support compressed Fabio extensions

    • Add a function to create external dataset for .vol file

  • silx view:

    • Support 2D view for 3D NXData

    • Add a NXdata for complex images

    • Add a 3d scalar field view to the NXdata views zoo

    • Improve shortcuts, view loading

    • Improve silx view loading, shortcuts and sliders ergonomy

    • Support default attribute pointing to an NXdata at any group level

  • silx convert

    • Allow to use a filter id for compression

  • Math:

    • fft: multibackend fft

  • OpenCL:

    • Compute statistics on a numpy.ndarray

    • Backprojection:

    • Add sinogram filters (SinoFilter)

    • Input and/or output can be device arrays.

  • Miscellaneous:

    • End of PySide support (use PyQt5)

    • Last version supporting numpy 1.8.0. Next version will drop support for numpy < 1.12

    • Python 2.7 support will be dropped before end 2019. From version 0.11, a deprecation warning will be issued.

    • Remove some old deprecated methods/arguments

    • Set Cython language_level to 3

0.9.0: 2018/10/23

  • Graphical user interface:

    • silx.gui.widgets:

      • Adds RangeSlider widget, a slider with 2 thumbs

      • Adds CurveLegendsWidget widget to display PlotWidget curve legends (as an alternative to LegendSelector widget)

      • Adds FlowLayout QWidget layout

    • Plot:

      • Adds CompareImages widget providing tools to compare 2 images

      • ScatterView: Adds alpha channel support

      • MaskToolsWidget: Adds load/save masks from/to HDF5 files

      • PlotWidget:

        • Adds getItems method, sigItemAdded and sigItemAboutToBeRemoved signals

        • Adds more options for active curve highlighting (see get|setActiveCurveStyle method)

        • Deprecates get|setActiveCurveColor methods

        • Adds get|setActiveCurveSelectionMode methods to change the behavior of active curve selection

        • Adds configurable line style and width to line markers

        • Fixes texture cache size in OpenGL backend

    • Plot3D:

      • Adds SceneWidget.pickItems method to retrieve the item and data at a given mouse position

      • Adds PositionInfoWidget widget to display data value at a given mouse position

    • silx.gui.utils:

      • Adds image module for QImage/numpy array conversion functions

      • Adds testutils helper module for writing Qt tests (previously available internally as silx.gui.test.utils)

    • Adds silx.gui.qt.inspect module to inspect Qt objects

  • Math:

    • Updates median filter with support for Not-a-Number and a ‘constant’ padding mode

  • silx view:

    • Fixes file synchronization

    • Adds a refresh button to synchronize file content

  • Dependencies:

    • Deprecates support of PySide Qt4 binding (We intend to drop official support of PySide in silx 0.10.0)

    • Deprecates support of PyQt4

    • Adds h5py and fabio as strong dependencies

  • Miscellaneous:

    • Adds silx.examples package to ship the example with the library

0.8.0: 2018/07/04

  • Graphical user interface:

    • Plot:

      • Adds support of x-axis date/time ticks for time series display (see silx.gui.plot.items.XAxis.setTickMode)

      • Adds support of interactive authoring of regions of interest (see silx.gui.plot.items.roi and silx.gui.plot.tools.roi)

      • Adds StatsWidget widget for displaying statistics on data displayed in a PlotWidget

      • Adds ScatterView widget for displaying scatter plot with tools such as line profile and mask

      • Overcomes the limitation to float32 precision with the OpenGL backend

      • Splits plot toolbar is several reusable thematic toolbars

    • Plot3D: Adds SceneWidget items to display many cubes, cylinders or hexagonal prisms at once

    • Adds silx.gui.utils package with submitToQtMainThread for asynchronous execution of Qt-related functions

    • Adds Qt signals to Hdf5TreeView to manage HDF5 file life-cycle

    • Adds GroupDialog dialog to select a group in a HDF5 file

    • Improves colormap computation with a Cython/OpenMP implementation

    • Main API changes:

      • Colormap is now part of silx.gui.colors

      • ColormapDialog is now part of silx.gui.dialogs

      • MaskToolsWidget.getSelectionMask method now returns None if no image is selected

      • Clean-up FrameBrowser API

  • Image

    • Adds an optimized marching squares algorithm to compute many iso contours from the same image

  • Input/output:

    • Improves handling of empty Spec scans

    • Add an API to NXdata parser to get messages about malformed input data

  • silx.sx

    • Allows to use silx.sx in script as in Python interpreter

    • sx.imshow supports custom y-axis orientation using argument origin=upper|lower

    • Adds sx.enable_gui() to enable silx widgets in IPython notebooks

  • silx convert

    • Improves conversion from EDF file series to HDF5

  • silx view

    • Adds user preferences to restore colormap, plot backend, y-axis of plot image,…

    • Adds –fresh option to clean up user preferences at startup

    • Adds a widget to create custom viewable NXdata by combining different datasets

    • Supports CTRL+C shortcut in the terminal to close the application

    • Adds buttons to collapse/expand tree items

    • NXdata view now uses the ScatterView widget for scatters

  • Miscellaneous

    • Drops official support of Debian 7

    • Drops versions of IPython console widget before the qtconsole package

    • Fixes EDF file size written by EdfFile module with Python 3

0.7.0: 2018/02/27

  • Input/output:

    • Priovides silx.io.url.DataUrl to parse supported links identifying group or dataset from files.

    • silx.io.open now supports h5pyd and silx custom URLs.

    • silx.io.get_data is provided to allow to reach a numpy array from silx.

  • OpenCL:

    • Provides an API to share memory between OpenCL tasks within the same device.

    • Provides CBF compression and decompression.

    • Simple processing on images (normalization, histogram).

    • Sift upgrade using memory sharing.

  • silx.sx:

    • Added contour3d function for displaying 3D isosurfaces.

    • Added points3d function for displaying 2D/3D scatter plots.

    • Added ginput function for interactive input of points on 1D/2D plots.

  • Graphic user interface:

    • Provides a file dialog to pick a dataset or a group from HDF5 files.

    • Provides a file dialog to pick an image from HDF5 files or multiframes formats.

    • The colormap dialog can now be used as non-modal.

    • PlotWidget can save the displayed data as a new NXentry of a HDF5 file.

    • PlotWidget exports displayed data as spec files using more digits.

    • Added new OpenGL-based 3D visualization widgets:

      • Supports 3D scalar field view 2D/3D scatter plots and images.

      • Provides an object oriented API similar to that of the 1D/2D plot.

      • Features a tree of parameters to edit visualized item’s properties (e.g., transforms, colormap…)

      • Provides interactive panning of cut and clip planes.

    • Updates of ScalarFieldView widget:

      • Added support for a 3x3 transform matrix (to support non orthogonal axes)

      • Added support of an alternative interaction when ctrl is pressed (e.g., rotate by default and pan when ctrl/command key is pressed).

      • Added 2 sliders to control light direction in associated parameter tree view.

  • silx view:

    • Uses a single colormap to show any datasets.

    • The colormap dialog can stay opened while browsing the data.

    • The application is associated with some file types to be used to load files on Debian.

    • Provides a square amplitude display mode to visualize complex images.

    • Browsing an NXentry can display a default NXdata.

    • Added explanation when an NXdata is not displayable.

    • NXdata visualization can now show multiple curves (see @auxiliary_signals).

    • Supports older NXdata specification.

  • silx convert:

    • Added handling of file series as a single multiframe

    • Default behavior changes to avoid to add an extra group at the root, unless explicitly requested (see –add-root-group).

    • Writer uses now utf-8 text as default (NeXus specification).

    • EDF files containing MCA data are now interpreted as spectrum.

  • Miscellaneous:

    • Added silx.utils.testutils to share useful unittest functions with other projects.

    • Python 2 on Mac OS X is no longer tested.

    • Experimental support to PySide2.

    • If fabio is used, a version >= 0.6 is mandatory.

0.6.0: 2017/10/02

  • OpenCl. Tomography. Implement a filtered back projection.

  • Add a PrintPreview widget and a PrintPreviewToolButton for PlotWidget.

  • Plot:

    • Add a context menu on right click.

    • Add a ComplexImageView widget.

    • Merged abstract Plot class with PlotWidget class.

    • Make colormap an object with signals (sigChanged)

    • Add a colorbar widget silx.gui.plot.ColorBar.

    • Make axis an object, allow axis synchronization between plots, allow adding constraints on axes limits.

    • Refactor plot actions, new sub-package silx.gui.plot.actions.

    • Add signals on PlotWidget items notifying updates.

    • Mask. Support loading of TIFF images.

  • Plot3d:

    • Rework toolbar and interaction to use only the left mouse button.

    • Support any colormap.

  • Hdf5TreeView:

    • Add an API to select a single tree node item (setSelectedH5Node)

    • Better support and display of types.

    • New column for displaying the kind of links.

    • Broken nodes are now selectable.

  • StackView. Add a setTitleCallback method.

  • Median filter. Add new modes (reflect, mirror, shrink) in addition to nearest.

  • IO:

    • Rename module spectoh5 to convert. Add support for conversion of fabio formats.

    • Support NPZ format.

    • Support opening an URI (silx.io.open(filename::path)).

    • Group methods .keys, .value and .items now return lists in Python 2 and iterators in Python 3.

  • Image. Add tomography utils: phantomgenerator to produce Shepp-Logan phantom, function to compute center of rotation (calc_center_corr, calc_center_centroid) and rescale the intensity of an image (rescale_intensity).

  • Commands:

    • silx view:

      • Add command line option –use-opengl-plot.

      • Add command line option –debug, to print dataset reading errors.

      • Support opening URI (silx view filename::path).

    • silx convert. New command line application to convert supported data files to HDF5.

  • Enable usage of silx.resources for other projects.

  • The silx license is now fully MIT.

0.5.0: 2017/05/12

  • Adds OpenGL backend to 1D and 2D graphics

  • Adds Object Oriented plot API with Curve, Histogram, Image, ImageRgba and Scatter items.

  • Implements generic launcher (silx view)

  • NXdataViewer. Module providing NeXus NXdata support

  • Math/OpenCL. Implementation of median filter.

  • Plot. Implementation of ColorBar widget.

  • Plot. Visualization of complex data type.

  • Plot. Implementation of Scatter Plot Item supporting colormaps and masks.

  • Plot. StackView now supports axes calibration.

  • I/O. Supports SPEC files not having #F or #S as first line character.

  • I/O. Correctly exposes UB matrix when found in file.

  • ROIs. Simplification of API: setRois, getRois, calculateRois.

  • ROIs. Correction of calculation bug when the X-axis values were not ordered.

  • Sift. Moves package from silx.image to silx.opencl.

0.4.0: 2017/02/01

  • Adds plot3D package (include visualization of 3-dimensional scalar fields)

  • Adds data viewer (it can handle n-dimensional data)

  • Adds StackView (ex. Visualization of stack of images)

  • Adds depth profile calculation (ex. extract profile of a stack of images)

  • Adds periodic table widget

  • Adds ArrayTableWidget

  • Adds pixel intensity histogram action

  • Adds histogram parameter to addCurve

  • Refactoring. Create silx.gui.data (include widgets for data)

  • Refactoring. Rename utils.load as silx.io.open

  • Changes active curve behavior in Plot. No default active curve is set by default

  • Fit Action. Add polynomial functions and background customization

  • PlotWindow. Provide API to access toolbar actions

  • Handle SPEC, HDF5 and image formats through an unified API

  • hdf5widget example. Inspect and visualize any datasets

  • Improves mask tool

  • Deprecates PlotWindow dock widgets attributes in favor of getter methods

0.3.0: 2016/10/12

  • Adds OpenCL management

  • Adds isosurface marching cubes

  • Adds sift algorithm for image alignement

  • Adds octaveh5 module to insure communication between octave and python using HDF5 file

  • Adds silx.utils module containing weakref and html-escape

  • Adds silx.sx for flat import (helper for interactive shell)

  • Adds HDF5 load API (supporting Spec files) to silx.io.utils module

  • Adds SpecFile support for multiple MCA headers

  • Adds HDF5 TreeView

  • Adds FitManager to silx.math.fit and FitWidget to silx.gui.fit

  • Adds ThreadPoolPushButton to silx.gui.widgets

  • Adds getDataRange function to plot widget

  • Adds loadUi, Slot and Property to qt.py

  • Adds SVG icons and support

  • Adds examples for plot actions, HDF5 widget, helper widgets, converter from Spec to HDF5

  • Adds tutorials for plot actions, spech5, spectoh5, sift and fitmanager

  • Improves right axis support for plot widget

  • Improves mask tool

  • Refactors widgets constructor: first argument is now the parent widget

  • Changes plot documentation and add missing module to the documentation

0.2.0: 2016/07/12

  • Adds bilinear interpolator and line-profile for images to silx.image

  • Adds Levenberg-Marquardt least-square fitting algorithm to silx.math.fit

  • Histogramnd changed to become a class rather than a function, API and return values changed

  • Adds HistogramndLut, using a lookup table to bin data onto a regular grid for several sets of data sharing the same coordinates

  • Adds legend widget and bottom toolbar to PlotWindow

  • Adds a line-profile toolbar to PlotWindow

  • Adds ImageView widget with side histograms and profile toolbar

  • Adds IPython console widget, to be started from PlotWindow toolbar

  • Adds Plot1D widget for curves and Plot2D widget for images

  • Adds ROI widget for curves in PlotWindow

  • Adds a mask widget and toolbar to plot (2D)

  • Renames silx.io.dicttoh5 to silx.io.dictdump

  • Adds configuration dictionary dumping/loading to/from JSON and INI files in silx.io.configdict

  • Adds specfile wrapper API compatible with legacy wrapper: silx.io.specfilewrapper

  • Transposes scan data in specfile module to have detector as first index

  • Set up nigthly build for sources package, debian packages (http://www.silx.org/pub/debian/) and documentation (http://www.silx.org/doc/)

0.1.0: 2016/04/14

  • Adds project build, documentation and test structure

  • Adds continuous integration set-up for Travis-CI and Appveyor

  • Adds Debian packaging support

  • Adds SPEC file reader, SPEC file conversion to HDF5 in silx.io

  • Adds histogramnd function in silx.math

  • Adds 1D, 2D plot widget with a toolbar, refactored from PyMca PlotWindow in silx.gui.plot