I am here to ask an opinion about a weird result I obtained from the spectral unmixing of a Sentinel2 image.
I have already worked with SMA on Sentinels, but this is the very first time something like this happens.
I selected three spectral signatures from the image (one for vegetation, one for soil and one for water).
I then launched the SMA, a Fully Contrained done with all the three spectral signatures. The output gave me three bands, one for each spectral signature. However, while the bands for vegetation and soil looked normal, the band with the abundance of water was empty: the value of the pixels of the band is 0 everywhere.
If I understood correctly the theory behind SMA, this shouldn’t happen, because at least the pixel from which I took the spectral signature should have a value higher than 0.
Am I right? Someone has got any explanations for this?
Thank you for answering.
I assumed the file with the signatures is ok, because when I open the Spectral Unmixing window and I select it, all the signatures appear in the small spectrum view inside the window itself.
I have anyway attached the file here. For the spectral unmixing I chose the following spectral signatures: Veg_1, Bright_1, Dark_4.
However, many of them are quite similar. I would suggest that you only use one of “Veg”, Bright" and “Dark” in the end. It should not alter the quality of the output as all three classes show very different spectral profiles. But this probably will not solve the problem.
I also found some NAN values in the table, maybe they cause a distortion:
My suggestion would be to skip Dark_1-3 and only use Dark_4
Lastly, you could try to change the model to “unconstrained” and see if anything changes. Classes won’t sum up to 1 any longer but maybe you get results you can work with.
I didn’t realize there were problems with the signatures. Now everything worked!
Thank you!
One last question: any idea of the reason why the three signatures had NAN values?
I just re-run the Spectral Unmixing with 3 spectral signatures (veg_1, bright_1 and dark_4) and it worked. No clue why it didn’t work the previous time with the same spectral signatures. Actually I tried multiple times with different combinations of signatures and I deleted some of the files because I was getting confused while working with them: but it may be that the time in which I used Dark_4 I run a Constrained instead of a Fully Constrained by mistake, and something went wrong there as well.
Anyway, if I will understand what was wrong I will write it here, for it to be useful to the next users with the same problem.
In the meanwhile, I would just suggest paying attention to all the details, including the .csv file.
Hello,
I would like to run spectral unmixing and have been following the disussions here. However when i try to upload my endmember .csv file i get this message “I/O error: Invalid format”. Any help? I have attached the file
Thanks snap2_endmembers.csv (636 Bytes)
as stated in the help, the table should be tab-delimited instead of commas. I changed it for you. It can be done in Notepad++, for example, by replacing , by \t
Thank you ABraun. The process worked well this time. However the resulting abundance pixel values are all zero (min max values), I guess similar to what Laura shared. Im not sure what could be wrong. Any Ideas?
And Laura, I would be grateful if you could share more details on your solution.
Gross, H., N., 1998, Application of spectral Mixture Analysis and Image Fusion techniques for Image sharpening: Remote sensing and Environment, v. 63, p. 85-94.
Hi everyone,
I have processed the data using the spectral unmixing tool in SNAP software, which showed a range of values greater than 1 and even some negative values. This has been very confusing for me. I used the constrained LSU method, where the total sum of the results should ideally equal one, but the results I obtained were different. Could you please explain the issues encountered in the data processing due to the provided range of values being greater than 1, with some values even being less than 1? Additionally, are there any solutions to address this problem?