HyperSpy/LumiSpy Tutorial
LumiSpy – Luminescence Spectroscopy Data Analysis in Python Using HyperSpy
The first day (Wednesday) of the CLEBIC workshop will feature a brief introductory lecture on the LumiSpy and HyperSpy python libraries. In a separate tutorial session on the morning of the third day (Friday), exemplary workflows for data analysis will be presented on the basis of Jupyter notebooks to give the audience an easy start to using LumiSpy for their own data analysis.
Download the introductory slides.
You will have two ways to interactively follow the tutorial on your laptop:
- Install LumiSpy and HyperSpy on your Laptop through pip or conda, if you have python already installed. If not, we recommend installing the HyperSpy bundle (including LumiSpy and Jupyter lab) to interactively follow the tutorial lecture on your own laptop. There are a number of colleagues who can help you in the coffee breaks to get started!
The tutorial notebook can be found in the lumispy-demos repository on github: Download the repository as zip file.
[You may download the individual file 230324_CLEBIC_HyperSpy-LumiSpy.ipynb together with the used data files: 01_demo.hspy, asymmetric-peak_map.dm4, quantum-emitters_map.dm4 - however, note that you then have to adapt the relative path to the demo files in the notebook]
- Alternatively, you can interactively run the web-based LumiSpy demo-notebooks on binder without installing anything on your laptop (easier to start with, but might be slower). Once launched, navigate to the folder 'Workshops' in the left panel and open the file '230324_CLEBIC_HyperSpy-LumiSpy.ipynb'.
What are HyperSpy and LumiSpy?
Python is a versatile programming language that has found widespread use in data analysis boasting a broad range of specialized scientific libraries. HyperSpy is an open source python library dedicated to the interactive analysis of multi-dimensional datasets, in particular spectrum images (one or two-dimensional arrays of spectra), in an easy and reproducible fashion. HyperSpy facilitates the application of analytical procedures operating on individual spectra to a multi-dimensional dataset and gives easy access to tools that exploit the multi-dimensionality of the dataset.
LumiSpy is an extension to HyperSpy specifically for luminescence spectroscopy data. The development of LumiSpy started with photoluminescence (PL) and cathodoluminescence (CL) spectroscopy in mind, but should be useful also for other spectroscopy techniques, including electroluminescence (EL), Raman, absorption, transmission as well as fourier-transform infrared (FTIR) spectroscopy.
Import from a range of scientific data formats, including the relevant metadata, is supported by HyperSpy, a functionality that is currently being migrated to the separate RosettaSciIO library.
Other notable features that HyperSpy provides are:
-
base signal classes for the handling of (multidimensional) spectral data,
-
a user-friendly and powerful framework for model fitting that provides many standard functions and can be easily extended to custom ones,
-
machine learning algorithms that can be useful, e.g. for denoising data,
-
efficient handling of big datasets,
-
functions for data visualization both to evaluate datasets during the analysis and provide interactive operation for certain functions, as well as for plotting of data,
-
extracting subsets of data from multidimensional datasets via regions of interest and a powerful numpy-style indexing mechanism,
-
handling of non-uniform data axes.
LumiSpy provides in particular:
-
additional Signal types specifically for luminescence spectra and transients,
-
transformation to non-uniform signal axes for use of other common units, such as eV (electron volt) and wavenumbers (Raman shift),
-
additional signal tools such as data normalization and scaling,
-
various utility functions useful in luminescence spectroscopy data analysis, such as joining multiple spectra along the signal axis, unit conversion, centre of mass analysis, grating calibrations, etc.
|