Python Automation and Machine Learning for EM and ICs

An Online Book, Second Edition by Dr. Yougui Liao (2024)

Python Automation and Machine Learning for EM and ICs - An Online Book

Chapter/Index: Introduction | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Appendix

HyperSpy

HyperSpy is an open-source Python library designed for the interactive analysis of multidimensional datasets, commonly referred to as hyperspectral images. It simplifies the application of analytical procedures to large datasets by treating them as multidimensional arrays of a given signal, such as a 2D array of spectra. Originally developed to meet the data analysis needs of the electron microscopy community, HyperSpy has evolved into a versatile tool applicable across various scientific fields. Its modular structure allows for easy extension and customization, enabling users to add features tailored to specific types of data or experimental methods.

Key features of HyperSpy include:

  • Visualization: Interactive tools for visualizing multidimensional spectra and images.
  • Analysis: Access to analytical tools that leverage the multidimensionality of datasets, including curve fitting and blind source separation.
  • Named and Scaled Axes: Support for signal and navigation axes with powerful NumPy-style indexing and non-uniform axes.
  • Performance: Built on top of NumPy, SciPy, Numba, Matplotlib, Dask, and Scikit-learn for high performance and stability.
  • Ecosystem: Integration with domain-specific libraries and a modular design for easy extensibility.
  • Community Driven: Developed and maintained by scientists for scientists.

HyperSpy's primary interface is through scripting, often utilizing Jupyter notebooks, which facilitates productive, scalable, and reproducible data analysis. For users preferring a graphical user interface, HyperSpyUI offers a streamlined experience. The HyperSpy ecosystem includes various extension packages dedicated to specific experimental methods, such as:
  • eXSpy: X-rays Energy Dispersive Spectroscopy (EDS) and Electron Energy Loss Spectroscopy (EELS) data analysis.
  • pyxem: 4D-STEM (electron diffraction data) analysis.
  • kikuchipy: Electron backscatter diffraction (EBSD) data analysis.
  • lumiSpy: Luminescence spectroscopy data analysis (cathodoluminescence, photoluminescence, Raman, etc.).
  • Atomap: Analysis of atomic resolution scanning transmission electron microscopy images.
  • holoSpy: Off-axis electron holography data analysis.
  • ParticleSpy: Segmentation and analysis of nanoparticles from electron microscopy data.
  • HyperSpyUI: Streamlined user interface to HyperSpy.