HyperSpy
From Wikipedia, the free encyclopedia
HyperSpy is an open source Python package for multidimensional data analysis.[1] Over time, it has grown into an ecosystem that includes a number of extension packages dedicated to specific experimental methods.
| HyperSpy | |
|---|---|
| Developer | HyperSpy Developers |
| Initial release | 2011 |
| Written in | Python |
| Operating system | Cross-platform |
| Type | Data analysis software |
| License | GPLv3 |
| Website | hyperspy |
| Repository | github |
Details
HyperSpy is a community-driven, open-source library providing a framework to facilitate interactive exploration, analysis and visualization of multidimensional datasets – in particular spectrum images – in an easy and reproducible fashion. It facilitates the application of analytical procedures operating on individual spectra/images to a multi-dimensional dataset and gives easy access to tools that exploit the multi-dimensionality of the dataset. Born out of the electron microscopy scientific community and building on the extensive scientific Python environment, HyperSpy provides tools to efficiently handle complex datasets of arbitrary dimensionality, including those exceeding the size of the system memory.
Features
Functionalities provided by HyperSpy include the following:
- Tools for loading/saving various scientific data file formats through its extension RosettaSciIO
- Background subtraction, artefact removal, etc.
- Data visualization: evaluate datasets during the analysis, provide interactive operation for certain functions, and publication-ready plotting of data
- Efficient handling of big datasets ("lazy" and parallel processing)
- Extracting subsets of data from multidimensional datasets through regions of interest and a powerful numpy-style indexing mechanism
- Handling of non-uniform data axes
- User-friendly and powerful framework for multidimensional model fitting that provides many standard functions, but also is easily extended to custom ones
- Machine learning algorithms useful for e.g. denoising data or decomposition of complex datasets
Extension packages
The following packages extend the functionalities of HyperSpy, e.g. dedicated to certain scientific measurement techniques:
- RosettaSciIO:[2] for reading and writing scientific data formats
- eXSpy:[3] for Energy Dispersive X-ray Spectroscopy (EDS) and Electron energy loss spectroscopy (EELS)
- pyxem:[4][5] for 4D scanning transmission electron microscopy (4D-STEM) (electron diffraction data)
- kikuchipy:[6] for Electron backscatter diffraction (EBSD)
- lumiSpy:[7] for luminescence spectroscopy data (e.g. cathodoluminescence, photoluminescence, Raman spectroscopy, etc.)
- Atomap:[8] for atomic resolution scanning transmission electron microscopy images
- holoSpy:[9] for Off-axis electron holography
- ParticleSpy[10] for segmentation and analysis of nanoparticles from electron microscopy data
- ETSpy:[11][12] for processing, alignment, and reconstruction of electron tomography data
- HyperSpyUI:[13] Graphical user interface to HyperSpy
History
The package was originally developed as EELSlab starting in 2007 for electron energy loss spectroscopy data analysis. It was renamed to HyperSpy in 2010 and open-sourced on GitHub in 2011 when it was realized that it could be readily generalized to other mapping techniques in electron microscopy and beyond.
Migration from Python 2 to Python 3 was implemented in 2015. The last version supporting Python 2 was 0.8.3.[14] Subsequently, the first major release, version 1.0.0, was released in 2016.[15]
HyperSpy was extended with a mechanism to register extension packages in 2019 with version 1.5.[16] First domain-specific packages were developed in the following years. In 2023, with the second major release, version 2.0.0, all domain-specific code as well as the input/output capabilities were moved to the dedicated packages.[17]
Despite the original development of HyperSpy originating from the data analysis needs of the electron microscopy community, it has in the meantime proven to be useful in many other scientific fields, e.g. luminescence spectroscopy.
Awards
- 2025 Open Science Award for Open Source Research Software in the category "Jury's Favourite" (Coup de cœur du jury) [18]