Spectral Unmixing with EMIT
Follow instructions here:
https://github.com/emit-sds/SpectralUnmixing/tree/main
After installing the package:
Navigate terminal into location of Julia environment
Make sure to activate the Julia environment in the run. For example:
julia -p 10 --project=. unmix.jl REFLECTANCE_IMAGE ENDMEMBER_LIBRARY ENDMEMBER_COLUMN OUTPUT_BASE --mode sma
Where:
-p 10 is the number of parallel processes you would like to run
REFLECTANCE_IMAGE is the full path to your ENVI-formatted reflectance image
ENDMEMBER_LIBRARY is the full path to your endmember library. It should be formatted as a .csv file, where each EM occupies a row. The first column should be the names of all the EMs. All the other columns should be wavelengths.
ENDMEMBER_COLUMN is the title of the column containing your EM names.
OUTPUT_BASE is the full path to the basename of the output files
--mode sma is the unmixing mode
Note:
Often, ENVI will introduce carriage returns (new lines) in the wavelength portion of .hdr files. This will cause the code to choke. You need to find and replace these with spaces to get the code to run.