X
PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 23 Jun 2020 06:17 PM by  Krista West
Linear Spectral Unmixing & Unit Sum Constraints in ENVI 5.5.3 (64-bit)
 3 Replies
Sort:
You are not authorized to post a reply.
Author Messages

Krista West



New Member


Posts:8
New Member


--
21 May 2020 02:06 PM
    Hello, I am hoping to obtain additional clarification regarding Linear Spectral Unmixing, particularly when setting a unit sum constraint of 1.0. I am working with Landsat 8 OLI surface reflectance data acquired over southern California within the past year, and my goal is to determine fractional cover values of three land cover types.

    Here are the steps I have followed:
    I imported my Landsat data and resized (subset) my scene to my area of interest. I kept all seven bands -- Coastal, Blue, Green, Red, NIR, SWIR1, and SWIR2.
    I masked land use/land cover types not of interest. (I used spectral feature space plots, spectral curves, and decision trees to determine the range of values to use for masks.)
    I created regions of interest (ROIs) within the scene for my three known land cover class types; each of the three regions have anywhere between 18 and 54 pixels. I have also experimented with pulling out a single pixel from these ROIs to act as the endmember (EM) for the scene. The ROIs, and certainly the single EM pixels, are as close to 100% fractional cover of that land cover type as is possible for the scene.
    Linear Spectral Unmixing → I chose my pre-resized and pre-masked scene with all seven bands → I imported and applied my three ROIs/EMs → I applied a unit sum constraint of 1.0 and then unmixed.

    Looking at the resulting data values for each of the outputs associated with the three land cover types, I am unable to obtain linear spectral unmixing results that add up to 1.0. For example, my data values may look like: [1.145296, -0.319020, 0.158035]. I have been interpreting these to mean that my ROI or EM in the red band slot has a high percentage of that land cover type (close to 100%), the cover type in the green slot is close to 0%, and the cover type in the blue slot is close to 15%. Is this the correct interpretation of the results?

    I have read through previous ENVI Forum and Help Articles, including this one with helpful advice from Mari from October 2017 (https://www.harrisgeospatial.com/Support/Forums/aft/4976) and this one with good information from Peg from November 2016 (https://www.harrisgeospatial.com/Support/Forums/aft/4739). I’ve also read the article that discusses why constrained unmixing is considered a bad idea (https://www.harrisgeospatial.com/Support/Self-Help-Tools/Help-Articles/Help-Articles-Detail/ArtMID/10220/ArticleID/19704/1630). However, my assumption has been that setting the unit sum constraint to 1.0 could be a decent jumping off point to learn whether or not I have done a good job of selecting ROIs and EMs -- and this would help me expand to a much larger area of interest where I will not be able to select ROIs/EMs with as much confidence. As I have not found any forum discussions involved Linear Spectral Unmixing and unit sum constraints from the past few years, I wanted to start a new thread.

    Am I misinterpreting my results? Have I done something incorrectly in ENVI that would affect my resulting data values? What steps should I be taking so that I can confidently report fractional cover values?

    Thank you very much for your help!

    MariM



    Veteran Member


    Posts:2396
    Veteran Member


    --
    22 May 2020 08:57 AM
    [quote]Looking at the resulting data values for each of the outputs associated with the three land cover types, I am unable to obtain linear spectral unmixing results that add up to 1.0. For example, my data values may look like: [1.145296, -0.319020, 0.158035]. I have been interpreting these to mean that my ROI or EM in the red band slot has a high percentage of that land cover type (close to 100%), the cover type in the green slot is close to 0%, and the cover type in the blue slot is close to 15%. Is this the correct interpretation of the results?[/quote]

    I would also interpret your values similarly but as you can see, the endmembers are not 'perfect' for adding up to 1.0. This is why it is recommended to use the Spectral Hourglass wizard to make sure you are getting *all* of the endmembers contained in the scene - selecting a pixel from a known ROI may not be sufficient for finding what is considered an 'endmember' which is considered the 'best example' of or purest pixel for a particular material. LSU requires *all* endmembers are known and used for the math to work.

    I would also say that for LSU to work well, the image/data must be 'over-sampled' and this typically can only occur with very narrow spectral bands you find in hyperspectral data. This way the algorithm can pick up on subtle differences between materials. This is particularly important for materials that are very similar in their spectral response (spectral profile) where you need to have at least some small area in the spectrum where the materials are separable. This can be very difficult if your materials are all vegetation. Healthy green vegetation spectra tend to look like other green vegetation spectra and can be difficult to separate spectrally.

    Additionally, if your data are stored as reflectance with values between 0-1.0, a weight of '1.0' is a very light weight and you are less likely to sum to 1. You can supply a 'heavy' weight of something like 100 for data in this range. If your data range to 10000 (as they do for images processed in FLAASH/Quac), then a weight of 10000 or more could be used.
    Lastly, you might consider a tool like MF or MTMF which look at each materials individually with all other materials considered 'background'. The results for each endmember can also be interpreted as a sub-pixel abundance of material and often works best if all endmembers in the image are not known.

    Krista West



    New Member


    Posts:8
    New Member


    --
    21 Jun 2020 06:13 PM
    Hello Mari,
    Thank you very much for your reply! I have some follow-up questions after working through the Spectral Hourglass Wizard:

    (1) Do I need to perform any atmospheric or radiometric corrections prior to running through spectral tools? I am using Landsat 8 OLI surface reflectance data -- spectrally subset to only include Bands 2-7 (Blue through SWIR2 (eliminating Band 1: Coastal)), and spatially subset to only display the area within open wildland park perimeters. My area of interest contains at least five habitat types (i.e., different vegetation communities), dirt roads, paved roads, and a few buildings; my focus is on the vegetation.

    (2) Are the “n_D Class #_” pixels the endmembers pulled from the PPI process and the n-D Visualizer? And are the “n-D Class Mean #_”s the resulting classification of those endmember pixels used for the SAM classification?

    (3) When I look at the n-D Visualizer Endmember Spectra plot, all six of the spectra closely resemble spectra I see when selecting pixels with known vegetation types from the image (such as when I choose pixels as endmembers for a supervised classification), and the resulting MTMF and LSU images match what I imagine they should be (in terms of colors associated with abundance in the scene). However, when I look at the “n_D Class #_” pixel locations within my Landsat 8 subset image, only two out of the six “n_D Class #_” pixel locations match with some type of vegetation in the image (and the rest are located over buildings and parking lots). Is that because it is difficult for these tools to differentiate between vegetation type in a multispectral (versus hyperspectral) data set?

    Thank you!

    Krista West



    New Member


    Posts:8
    New Member


    --
    23 Jun 2020 06:17 PM
    Another follow-up, out of curiosity. I'm attempting to determine when I should pursue use of an endmember versus when I should scrap an endmember, based on the output of the LSU pixel value results.

    Example 1:
    When running LSU with a unit sum constraint of 1.0 (however, I do understand that you recommend 10,000 for Landsat 8 OLI surface reflectance), how would you interpret output results like: [-1.359640, -1.667124, 7.737895]? Are all of the endmembers of such poor quality that they should not be considered, or can it be interpreted that the abundance level in the third place (7.737895) is extremely close to 100%?

    Example 2:
    What about this example: [0.627813, -0.362311, 1.377945]? Is that indicative of a better endmember than Example 1 because it is closer to 1.0? Or, alternatively, does the combination with the result with 7.737895 indicate a more spectrally pure endmember than the combination with 1.377945 in the result?

    Thank you!
    You are not authorized to post a reply.