Clear Filters
Clear Filters

What would be the best way to identify the end-members with percentage from spectral data?

3 views (last 30 days)
I have vector spectral data that I collected from samples, and I want to compare with USGS spectral library. The goal is to figure out what are the major minerals in the samples that dominate the spectral signal and what is the approximate percentage of the major end-members.
The collected spactral data were vectors with 2151 x 1. The USGS library also provide vector data with 2151 x 1.With the selected potential N end-member minerals. I was thinking about creating a matrix of 2151 x N and compare with the samples' spectral vectors.
I tried to find the related function online but most of them were related to image unmixing process. I think what I am doing is close to PCA, eigenvalue, or SVD. Such as: 60% of mineral A, 30% pf mineral B, and 5% of mineral C ca explain the collected spectrum. Is there any function that could possibily support my analysis between vector and matrix? Thanks for any guidence or suggestion of starting points.

Answers (1)

Dinesh
Dinesh on 9 Jun 2023
Edited: Dinesh on 9 Jun 2023
Hi Yu-Ting!
Based on your requirement of estimating the percentage contributions of different minerals in your samples based on spectral data, it seems that you are looking for a technique known as spectral unmixing or end-member extraction. One common approach for spectral unmixing is linear unmixing, which can be achieved through techniques like Non-negative Matrix Factorization (NMF) or Singular Value Decomposition (SVD).
Please refer to the following MATLAB documentations for more information on NNMF and SVD.
  1. https://www.mathworks.com/help/matlab/ref/double.svd.html
  2. https://www.mathworks.com/help/stats/nnmf.html
Also please read the following MATLAB answer thread that might help you
  1. https://www.mathworks.com/matlabcentral/answers/166822-linear-spectral-unmixing-of-fluorescence-spectra
  2. https://www.mathworks.com/matlabcentral/answers/34602-how-do-i-perform-spectral-unmixing-in-matlab
Hope this helps!
Thank you.

Categories

Find more on Eigenvalues in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!