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
- 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
- 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.
- 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.
- 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
tosilx.opencl
.
- 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
- 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
- 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/)
- 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