===================
New features
------------
Core
^^^^
* New syntax to index the :py:class:`~.axes.AxesManager`.
* New Signal methods to transform between Signal subclasses. More information
:ref:`here <transforming_signal-label>`.
+ ``hyperspy.signal.Signal.set_signal_type``
+ ``hyperspy.signal.Signal.set_signal_origin``
+ ``hyperspy.signal.Signal.as_signal2D``
+ ``hyperspy.signal.Signal.as_signal1D``
* The string representation of the Signal class now prints the shape of the
data and includes a separator between the navigation and the signal axes e.g
(100, 10| 5) for a signal with two navigation axes of size 100 and 10 and one
signal axis of size 5.
* Add support for RGBA data. See :ref:`signal.change_dtype`.
* The default toolkit can now be saved in the preferences.
* Added full compatibility with the Qt toolkit that is now the default.
* Added compatibility witn the the GTK and TK toolkits, although with no GUI
features.
* It is now possible to run HyperSpy in a headless system.
* Added a CLI to ``hyperspy.signal.Signal1DTools.remove_background``.
* New ``hyperspy.signal.Signal1DTools.estimate_peak_width`` method to estimate
peak width.
* New methods to integrate over one axis:
``hyperspy.signal.Signal.integrate1D`` and
``hyperspy.signal.Signal1DTools.integrate_in_range``.
* New ``hyperspy.signal.Signal.metadata`` attribute, ``Signal.binned``. Several
methods behave differently on binned and unbinned signals.
See :ref:`signal.binned`.
* New ``hyperspy.signal.Signal.map`` method to easily transform the
data using a function that operates on individual signals. See
:ref:`signal.iterator`.
* New ``hyperspy.signal.Signal.get_histogram`` and
``hyperspy.signal.Signal.print_summary_statistics`` methods.
* The spikes removal tool has been moved to the :class:`~.api.signals.Signal1D`
class so that it is available for all its subclasses.
* The ``hyperspy.signal.Signal.split method now can automatically split back
stacked signals into its original part. See :ref:`signal.stack_split`.
IO
^^
* Improved support for FEI's emi and ser files.
* Improved support for Gatan's dm3 files.
* Add support for reading Gatan's dm4 files.
Plotting
^^^^^^^^
* Use the blitting capabilities of the different toolkits to
speed up the plotting of images.
* Added several extra options to the Signal ``hyperspy.signal.Signal.plot``
method to customize the navigator. See :ref:`visualization-label`.
* Add compatibility with IPython's matplotlib inline plotting.
* New function, :py:func:`~.api.plot.plot_spectra`, to plot several
spectra in the same figure. See :ref:`plot.spectra`.
* New function, :py:func:`~.api.plot.plot_signals`, to plot several
signals at the same time. See :ref:`plot.signals`.
* New function, :py:func:`~.api.plot.plot_histograms`, to plot the histrograms
of several signals at the same time. See :ref:`plot.signals`.
Curve fitting
^^^^^^^^^^^^^
* The chi-squared, reduced chi-squared and the degrees of freedom are
computed automatically when fitting. See :ref:`model.fitting`.
* New functionality to plot the individual components of a model. See
:ref:`model.visualization`.
* New method, ``hyperspy.model.Model.fit_component``, to help setting the
starting parameters. See :ref:`model.starting`.
Machine learning
^^^^^^^^^^^^^^^^
* The PCA scree plot can now be easily obtained as a Signal. See
:ref:`mva.scree_plot`.
* The decomposition and blind source separation components can now be obtained
as ``hyperspy.signal.Signal`` instances. See :ref:`mva.get_results`.
* New methods to plot the decomposition and blind source separation results
that support n-dimensional loadings. See :ref:`mva.visualization`.
Dielectric function
^^^^^^^^^^^^^^^^^^^
* New ``hyperspy.signal.Signal`` subclass,
``hyperspy._signals.dielectric_function.DielectricFunction``.
EELS
^^^^
* New method,
``hyperspy._signals.eels.EELSSpectrum.kramers_kronig_analysis`` to calculate
the dielectric function from low-loss electron energy-loss spectra based on
the Kramers-Kronig relations. See :external+exspy:ref:`eels.kk`.
* New method to align the zero-loss peak,
``hyperspy._signals.eels.EELSSpectrum.align_zero_loss_peak``.
EDS
^^^
* New signal, EDSSpectrum especialized in EDS data analysis, with subsignal
for EDS with SEM and with TEM: EDSSEMSpectrum and EDSTEMSpectrum. See
:external+exspy:ref:`eds-label`.
* New database of EDS lines available in the ``elements`` attribute of the
``hspy.utils.material`` module.
* Adapted methods to calibrate the spectrum, the detector and the microscope.
See :external+exspy:ref:`eds_calibration-label`.
* Specific methods to describe the sample,
``hyperspy._signals.eds.EDSSpectrum.add_elements`` and
``hyperspy._signals.eds.EDSSpectrum.add_lines``. See :external+exspy:ref:`eds_sample-label`
* New method to get the intensity of specific X-ray lines:
``hyperspy._signals.eds.EDSSpectrum.get_lines_intensity``. See
:external+exspy:ref:`eds_sample-label`
API changes
-----------
* hyperspy.misc has been reorganized. Most of the functions in misc.utils has
been rellocated to specialized modules. misc.utils is no longer imported in
``hyperspy.hspy``. A new ``hyperspy.utils`` module is imported instead.
* Objects that have been renamed
+ ``hspy.elements`` -> ``utils.material.elements``.
+ ``Signal.navigation_indexer`` -> ``inav``.
+ ``Signal.signal_indexer`` -> ``isig``.
+ ``Signal.mapped_parameters`` -> ``Signal.metadata``.
+ ``Signal.original_parameters`` -> ``Signal.original_metadata``.
* The metadata has been reorganized. See :ref:`metadata_structure`.
* The following signal methods now operate out-of-place:
+ ``hyperspy.signal.Signal.swap_axes``
+ ``hyperspy.signal.Signal.rebin``
.. _changes_0.6: