Software Open Access

hyperspy/hyperspy: HyperSpy 1.3

Francisco de la Peña; Tomas Ostasevicius; Vidar Tonaas Fauske; Pierre Burdet; Petras Jokubauskas; Magnus Nord; Eric Prestat; Mike Sarahan; Katherine E. MacArthur; Duncan N. Johnstone; Joshua Taillon; Jan Caron; Tom Furnival; Alberto Eljarrat; Stefano Mazzucco; Vadim Migunov; Thomas Aarholt; Michael Walls; Florian Winkler; Ben Martineau; Gaël Donval; Eric R. Hoglund; Ivo Alxneit; Ida Hjorth; Luiz Fernando Zagonel; Andreas Garmannslund; Christoph Gohlke; Ilya Iyengar; Huang-Wei Chang

This is a minor release. Follow the following links for details on all the bugs fixed feature and documentation enhancements, and new features.


  • rebin supports upscaling and rebinning to arbitrary sizes through linear interpolation. It also runs faster if numba is installed.
  • AxesManager.signal_extent and AxesManager.navigation_extent properties to easily get the extent of each space.
  • New IPywidgets Graphical User Interface (GUI) elements for the Jupyter Notebook. See the new hyperspy_gui_ipywidgets package. It is not installed by default.
  • All the Regions of Interest now have a gui method to display a GUI if at least one of HyperSpy's GUI packgages are installed.


  • Creating many markers is now much faster.
  • New Stage metadata node.
  • The Brucker file reader now supports the new version of the format.
  • HyperSpy is now compatible with all matplotlib backends, including the nbagg which is particularly convenient for interactive data analysis in the Jupyter Notebook in combination with the new hyperspy_gui_ipywidgets package.
  • The vmin and vmax arguments of the plot_images function now accept lists to enable setting these parameters for each plot individually.
  • The plot_decomposition_results and plot_bss_results methods now makes a better guess of the number of navigators (if any) required to visualise the components. (Previously they were always plotting four figures by default.)
  • All functions that take a signal range can now take SpanROI.
  • The following ROIs can now be used for indexing or slicing: Point1DROI, Point2DROI, SpanROI and RectangularROI.

API changes

  • Permanent markers (if any) are now displayed when plotting by default.
  • HyperSpy no longer depends on traitsui (fixing many installation issues) and ipywidgets as the GUI elements based on these packages have now been splitted into separate packages and are not installed by default.
  • The following methods now raise a ValueError when not providing the number of components if output_dimension was not specified when performing a decomposition. (Previously they would plot as many figures as available components, usually resulting in memory saturation): plot_decomposition_results and plot_decomposition_factors.
  • The default extension when saving to HDF5 following HyperSpy's specification is now hspy instead of hdf5.
  • The following methods are deprecated and will be removed in HyperSpy 2.0

    • Use AxesManager.gui instead.
    • All notebook_interaction methods. Use the equivalent gui method instead.
    • integrate_in_range. Use integrate1D instead.
  • The following items have been removed from preferences:

    • General.default_export_format
    • General.lazy
    • Model.default_fitter
    • Machine_learning.multiple_files
    • Machine_learning.same_window
    • Plot.default_style_to_compare_spectra
    • Plot.plot_on_load
    • Plot.pylab_inline
    • EELS.fine_structure_width
    • EELS.fine_structure_active
    • EELS.fine_structure_smoothing
    • EELS.synchronize_cl_with_ll
    • EELS.preedge_safe_window_width
    • EELS.min_distance_between_edges_for_fine_structure
  • New Preferences.GUIs section to enable/disable the installed GUI toolkits.

For developers

  • In addition to adding ipywidgets GUI elements, the traitsui GUI elements have been splitted into a separate package. See the new hyperspy_gui_traitsui package.
  • The new ui_registry enables easy connection of external GUI elements to HyperSpy. This is the mechanism used to split the traitsui and ipywidgets GUI elements into separate packges.

Files (38.2 MB)
Name Size
38.2 MB Download


Cite as