Hyperspy

Latest version: v2.3.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 9

1.4.0

===================

This is a minor release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3Av1.4+label%3A%22type%3A+bug%22+>`__,
`enhancements
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.4+label%3A%22type%3A+enhancement%22>`__
and `new features
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.4+label%3A%22type%3A+New+feature%22>`__.

NEW
---

* Support for three new file formats:

* Reading FEI's Velox EMD file format based on the HDF5 open standard. See :external+rsciio:ref:`emd_fei-format`.
* Reading Bruker's SPX format. See :external+rsciio:ref:`bruker-format`.
* Reading and writing the mrcz open format. See :external+rsciio:ref:`mrcz-format`.
* New ``hyperspy.datasets.artificial_data`` module which contains functions for generating
artificial data, for use in things like docstrings or for people to test
HyperSpy functionalities. See :ref:`example-data-label`.
* New :meth:`~.api.signals.BaseSignal.fft` and :meth:`~.api.signals.BaseSignal.ifft` signal methods. See :ref:`signal.fft`.
* New :meth:`holospy.signals.HologramImage.statistics` method to compute useful hologram parameters. See :external+holospy:ref:`holography.stats-label`.
* Automatic axes units conversion and better units handling using `pint <https://pint.readthedocs.io/en/latest/>`__.
See :ref:`quantity_and_converting_units`.
* New :class:`~.roi.Line2DROI` :meth:`~.roi.Line2DROI.angle` method. See :ref:`roi-label` for details.

Enhancements
------------

* :py:func:`~.api.plot.plot_images` improvements (see :ref:`plot.images` for details):

* The ``cmap`` option of :py:func:`~.api.plot.plot_images`
supports iterable types, allowing the user to specify different colormaps
for the different images that are plotted by providing a list or other
generator.
* Clicking on an individual image updates it.
* New customizable keyboard shortcuts to navigate multi-dimensional datasets. See :ref:`visualization-label`.
* The :py:meth:`~.api.signals.Signal1D.remove_background` method now operates much faster
in multi-dimensional datasets and adds the options to interatively plot the remainder of the operation and
to set the removed background to zero. See :ref:`signal1D.remove_background` for details.
* The :py:meth:`~.api.signals.Signal2D.plot` method now takes a ``norm`` keyword that can be "linear", "log",
"auto" or a matplotlib norm. See :ref:`plot.customize_images` for details.
Moreover, there are three new extra keyword
arguments, ``fft_shift`` and ``power_spectrum``, that are useful when plotting fourier transforms. See
:ref:`signal.fft`.
* The :py:meth:`~.api.signals.Signal2D.align2D` and :py:meth:`~.api.signals.Signal2D.estimate_shift2D`
can operate with sub-pixel accuracy using skimage's upsampled matrix-multiplication DFT. See :ref:`signal2D.align`.


.. _changes_1.3.2:

1.3.2

===================

This is a maintenance release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?q=label%3A"type%3A+bug"+is%3Aclosed+milestone%3Av1.3.2>`__
and `enhancements <https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.3.2+label%3A"type%3A+enhancement">`__.


.. _changes_1.3.1:

1.3.1

===================

This is a maintenance release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?q=label%3A"type%3A+bug"+is%3Aclosed+milestone%3Av1.3.1>`__
and `enhancements <https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.3.1+label%3A"type%3A+enhancement">`__.

Starting with this version, the HyperSpy WinPython Bundle distribution is
no longer released in sync with HyperSpy. For HyperSpy WinPython Bundle
releases see https://github.com/hyperspy/hyperspy-bundle


.. _changes_1.3:

1.3.0

===================

This is a minor release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?q=label%3A"type%3A+bug"+is%3Aclosed+milestone%3Av1.3>`__,
`feature
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.3+label%3A"type%3A+enhancement">`__
and `documentation
<https://github.com/hyperspy/hyperspy/issues?utf8=%E2%9C%93&q=is%3Aclosed%20milestone%3Av1.3%20label%3A%22affects%3A%20documentation%22%20>`__ enhancements,
and `new features
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.3+label%3A"type%3A+New+feature">`__.

NEW
---
* :py:meth:`~.api.signals.BaseSignal.rebin` supports upscaling and rebinning to
arbitrary sizes through linear interpolation. See :ref:`rebin-label`. It also runs faster if `numba <http://numba.pydata.org/>`__ is installed.
* :py:attr:`~.axes.AxesManager.signal_extent` and :py:attr:`~.axes.AxesManager.navigation_extent` properties to easily get the extent of each space.
* New IPywidgets Graphical User Interface (GUI) elements for the `Jupyter Notebook <http://jupyter.org>`__.
See the new `hyperspy_gui_ipywidgets <https://github.com/hyperspy/hyperspy_gui_ipywidgets>`__ package.
It is not installed by default, see :ref:`install-label` for details.
* All the :ref:`roi-label` now have a ``gui`` method to display a GUI if
at least one of HyperSpy's GUI packgages are installed.

Enhancements
------------
* Creating many markers is now much faster.
* New "Stage" metadata node. See :ref:`metadata_structure` for details.
* The Brucker file reader now supports the new version of the format. See :external+rsciio:ref:`bruker-format`.
* HyperSpy is now compatible with all matplotlib backends, including the nbagg which is
particularly convenient for interactive data analysis in the
`Jupyter Notebook <http://jupyter.org>`__ in combination with the new
`hyperspy_gui_ipywidgets <https://github.com/hyperspy/hyperspy_gui_ipywidgets>`__ package.
See :ref:`importing_hyperspy-label`.
* The ``vmin`` and ``vmax`` arguments of the
:py:func:`~.api.plot.plot_images` function now accept lists to enable
setting these parameters for each plot individually.
* The :py:meth:`~.api.signals.BaseSignal.plot_decomposition_results` and
:py:meth:`~.api.signals.BaseSignal.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 a :py:class:`~.roi.SpanROI`.
* The following ROIs can now be used for indexing or slicing (see :ref:`here <roi-slice-label>` for details):

* :py:class:`~.api.roi.Point1DROI`
* :py:class:`~.api.roi.Point2DROI`
* :py:class:`~.api.roi.SpanROI`
* :py:class:`~.api.roi.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):

* :py:meth:`~.api.signals.BaseSignal.plot_decomposition_results`.
* :py:meth:`~.api.signals.BaseSignal.plot_decomposition_factors`.

* The default extension when saving to HDF5 following HyperSpy's specification
is now ``hspy`` instead of ``hdf5``. See :external+rsciio:ref:`hspy-format`.

* The following methods are deprecated and will be removed in HyperSpy 2.0

* ``.axes.AxesManager.show``. Use :py:meth:`~.axes.AxesManager.gui`
instead.
* All ``notebook_interaction`` method. Use the equivalent ``gui`` method
instead.
* ``hyperspy.api.signals.Signal1D.integrate_in_range``.
Use :py:meth:`~.api.signals.BaseSignal.integrate1D` instead.

* The following items have been removed from
:ref:`preferences <configuring-hyperspy-label>`:

* ``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 <https://github.com/hyperspy/hyperspy_gui_traitsui>`__
package.
* The new ``hyperspy.ui_registry`` enables easy connection of external
GUI elements to HyperSpy. This is the mechanism used to split the traitsui
and ipywidgets GUI elements.


.. _changes_1.2:

1.2.0

===================

This is a minor release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?q=label%3A"type%3A+bug"+is%3Aclosed+milestone%3Av1.2>`__,
`enhancements
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.2+label%3A"type%3A+enhancement">`__
and `new features
<https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.2+label%3A"type%3A+New+feature">`__.

NEW
---

* Lazy loading and evaluation. See :ref:`big-data-label`.
* Parallel :py:meth:`~.api.signals.BaseSignal.map` and all the functions that use
it internally (a good fraction of HyperSpy's functionaly). See
:ref:`map-label`.
* :external+holospy:ref:`electron-holography-label` reconstruction.
* Support for reading :external+rsciio:ref:`edax-format` files.
* New signal methods :py:meth:`~.api.signals.BaseSignal.indexmin` and
:py:meth:`~.api.signals.BaseSignal.valuemin`.

Enhancements
------------
* Easier creation of :py:class:`~._components.expression.Expression` components
using substitutions. See the
:ref:`User Guide for details <expression_component-label>`.
* :py:class:`~._components.expression.Expression` takes two dimensional
functions that can automatically include a rotation parameter. See the
:ref:`User Guide for details <expression_component-label>`.
* Better support for EMD files.
* The scree plot got a beauty treatment and some extra features. See
:ref:`mva.scree_plot`.
* :py:meth:`~.api.signals.BaseSignal.map` can now take functions that return
differently-shaped arrays or arbitrary objects, see :ref:`map-label`.
* Add support for stacking multi-signal files. See :ref:`load-multiple-label`.
* Markers can now be saved to hdf5 and creating many markers is easier and
faster. See :ref:`plot.markers`.
* Add option to save to HDF5 file using the ".hspy" extension instead of
".hdf5". See :external+rsciio:ref:`hspy-format`. This will be the default extension in
HyperSpy 1.3.

For developers
--------------
* Most of HyperSpy plotting features are now covered by unittests. See
:ref:`plot-test-label`.
* unittests migrated from nose to pytest. See :ref:`testing-label`.


.. _changes_1.1.2:

1.1.2

===================

This is a maintenance release. Follow the following links for details on all
the `bugs fixed
<https://github.com/hyperspy/hyperspy/issues?q=label%3A"type%3A+bug"+is%3Aclosed+milestone%3Av1.1.2>`__
and `enhancements <https://github.com/hyperspy/hyperspy/issues?q=is%3Aclosed+milestone%3Av1.1.2+label%3A"type%3A+enhancement">`__.


.. _changes_1.1.1:

Page 5 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.