arthur-e / unmixing

Interactive tools for spectral mixture analysis of multispectral raster data in Python
MIT License
105 stars 24 forks source link

visualize.FeatureSpace doesn't work well with MNF-transformed data #2

Open arthur-e opened 7 years ago

arthur-e commented 7 years ago

Though visualize.FeatureSpace can accept MNF-transformed data (by setting transform=False to indicate the data is already transformed), the resulting plots of the mixing space don't look right... I think that something is going wrong with the indexing (e.g., indexing on m,n axes instead of the p-axis).

vijai9111995 commented 3 years ago

how to get the end members form the mnf transformed data? the manual: -- https://github.com/arthur-e/unmixing/blob/master/docs/Example_Spatially_Adaptive_Spectral_Mixture_Analysis_SASMA.ipynb gives the data which had already got the endmembers. It will be so much useful if you tell how did you got the end members from the image file in python (spyder environment)

arthur-e commented 3 years ago

Hi @vijai9111995, choosing endmembers is a user-driven, subjective process. There is no single, correct answer, but there are two broad approaches:

  1. Use expert knowledge or independent data to identify the endmembers. This might take the form of a spectral library, perhaps based on samples from a field spectroradiometer (though these are not as reliable as so-called "image endmembers," the spectra taken from the imagery directly). Or, information on large, spectrally "pure" endmember locations might be known in advance.
  2. Use the mixing space, with or without other spectral information, to infer the "image endmembers." These are usually pixels with "extreme" spectral characteristics, e.g., the corners of a simplex fit to the mixing space.

The unmixing library offers tools to help with both approaches. For incorporating expert knowledge, there are tools to convert geographic coordinates to image (row-column) coordinates and visualize the spectra. But the approach best supported here is to infer the endmembers from the mixing space itself.

You should be looking at this demo, on ordinary LSMA, for hints about that. In the section "Visualization of the Mixing Space" you can see plots of the mixing space and a demonstration of the use of Graham's scan algorithm to identify the corners of a convex hull, which are likely to be the corners of the best-fit simplex.

vijai9111995 commented 3 years ago

25.tiff https://drive.google.com/file/d/1fYOmz4lYdPRxApx4E9YeyM5_-jZI_f8K/view?usp=drive_web 40.tiff https://drive.google.com/file/d/1YfhQodwNxEfI9EgLvj3YtySZfQiYirdx/view?usp=drive_web 50.tiff https://drive.google.com/file/d/1SibTw9omY0U9wXZZBRlLL2Mfvy4NasXn/view?usp=drive_web I'm using this type of data with 425 bands. The data which i have sent is the sample of it. The original data is in .hdr format. I couldn't perform the mnf with that data so I converted it into a tiff file. After that I couldn't stack this file and do mnf and lsma. So I averaged it and performed mnf but when I plot the result it's not coming correctly. How to perform lsma and get the end members from it. Can you please see that using this data how can i get the endmembers

On Wed, Oct 7, 2020 at 8:21 PM K. Arthur Endsley notifications@github.com wrote:

Hi @vijai9111995 https://github.com/vijai9111995, choosing endmembers is a user-driven, subjective process. There is no single, correct answer, but there are two broad approaches:

  1. Use expert knowledge or independent data to identify the endmembers. This might take the form of a spectral library, perhaps based on samples from a field spectroradiometer (though these are not as reliable as so-called "image endmembers," the spectra taken from the imagery directly). Or, information on large, spectrally "pure" endmember locations might be known in advance.
  2. Use the mixing space, with or without other spectral information, to infer the "image endmembers." These are usually pixels with "extreme" spectral characteristics, e.g., the corners of a simplex fit to the mixing space.

The unmixing library offers tools to help with both approaches. For incorporating expert knowledge, there are tools to convert geographic coordinates to image (row-column) coordinates and visualize the spectra. But the approach best supported here is to infer the endmembers from the mixing space itself.

You should be looking at this demo, on ordinary LSMA, https://github.com/arthur-e/unmixing/blob/master/docs/Overview_LSMA_in_Python.ipynb for hints about that. In the section "Visualization of the Mixing Space" you can see plots of the mixing space and a demonstration of the use of Graham's scan algorithm to identify the corners of a convex hull, which are likely to be the corners of the best-fit simplex.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arthur-e/unmixing/issues/2#issuecomment-704989884, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN4E3IOUVCXSIFINSDER3ETSJR57XANCNFSM4DEKF2PQ .

arthur-e commented 3 years ago

Hi @vijai9111995, please file a new Issue and include code snippets that show the specific steps you are taking. This Issue (#2), about a specific improvement for the code base.

vijai9111995 commented 3 years ago

yeah i have filed a new issue -- https://github.com/arthur-e/unmixing/issues/9 but i didn't get any response

On Thu, Oct 8, 2020 at 7:30 PM K. Arthur Endsley notifications@github.com wrote:

Hi @vijai9111995 https://github.com/vijai9111995, please file a new Issue and include code snippets that show the specific steps you are taking. This Issue (#2 https://github.com/arthur-e/unmixing/issues/2), about a specific improvement for the code base.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arthur-e/unmixing/issues/2#issuecomment-705590506, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN4E3IODUWECPAFREQB5U6DSJXAYRANCNFSM4DEKF2PQ .