1. v1.5.0 introduced an improved version of the supervised machine learning mineral classification model (weber_classification.m
). For details on how the new model was trained, see /MATLAB/MachineLearningModel/weber_algorithm_training.mlx
. The training description provided in /Paper/supplement.md
is no longer accurate.
2. For the convenience of Julia users, all Julia files have been migrated to https://github.com/weber1158/eds-classification.jl.
A repository of functions for identifying mineral species in SEM-EDS data
This repository includes several functions designed to quickly identify common mineral species from energy dispersive spectrometry (EDS) data. The eds_classification()
function is encoded with four EDS mineral classification algorithms, including a machine learning classifier trained on 18 mineral standards with an accuracy ≅ 99%. Three additional sorting algorithms (that have been transcribed from the peer-reviewed literature) are also available for discriminating mineral classes from EDS data.
See the online Documentation for details on each of the algorithms.
The docs also include MATLAB functions for importing EDS x-ray spectral data (read_msa()
) and visualizing the data (xray_plot()
and xray_peak_label()
). Users may also import the metadata from scanning electron microscope (SEM) images with the get_sem_metadata()
function, and more.
You can download the repository from the MATLAB Central File Exchange , or open it directly in your browser
(recommended).
The repository was developed in MATLAB Online, which uses the most up-to-date version of MATLAB. To ensure backwards compatability, it is recommended that users also utilize the functions in MATLAB Online.
To add the EDS Classification functions to the default search path:
-
Un-zip the downloaded folder.
-
Execute the following command in the MATLAB Command Window:
pathtool
-
A popup menu should open. Click
Add Folder with Subfolders
and select the un-zipped main repository folder. -
Finalize your choice by clicking
Save
orApply
.
View the test script by clicking and navigating to the Examples tab, or download and run the
eds_demo.mlx
file (here) in MATLAB.
This repository has been peer-reviewed and published in Journal of Open Source Software. Please use the information below for citing the software:
Weber, Austin M., (2025). Algorithms for SEM-EDS mineral dust classification. Journal of Open Source Software, 10(107), 7533, https://doi.org/10.21105/joss.07533
@article{weber2025,
author = {Weber, Austin M.},
title = {Algorithms for {SEM-EDS} mineral dust classification},
journal = {Journal of Open Source Software},
volume = {10},
number = {107},
pages = {7533},
year = {2025},
DOI = {10.21105/joss.07533}
}