danfenghong / IEEE_TNNLS_EGU-Net

Danfeng Hong, Lianru Gao, Jing Yao, Naoto Yokoya, Jocelyn Chanussot, Uta Heiden, Bing Zhang. Endmember-Guided Unmixing Network (EGU-Net): A General Deep Learning Framework for Self-Supervised Hyperspectral Unmixing, IEEE TNNLS, 2021.
56 stars 13 forks source link

Psedo True Abundance Map Generation #4

Open Boinao opened 3 years ago

Boinao commented 3 years ago

First thing first thanks for sharing the code and a wonderful work indeed. I have one query regarding the True Abundance Map Generation (TrLabel)

Abund = sunsal(EM, X', 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes'); TrLabel=(Abund./repmat(sum(Abund), size(Abund, 1), 1));

This will give an output of EM=8000x Channel (Pure_TrSet) Abund here will give an output of 8000x Channel (TrLabel)

But the sample TrLabel has 8000x5

I am not really sure how the TrLabel is generated? It will be very helpful if you can elaborate on this

Thanks once again

danfenghong commented 3 years ago

Hi,

Thank you very much for your interest in our work! The TrLabel, i.e., Abundance maps, has 8000x5 size. Since we have five materials, i.e., one-pixel spectral signature should be unmixed to be five components, so This is why here is 8000*5.

The mechanism of unmixing can be well found in our paper. Thanks again! Cheers, Danfeng

Boinao @.***> 于2021年8月18日周三 下午10:30写道:

First thing first thanks for sharing the code and a wonderful work indeed. I have one query regarding the True Abundance Map Generation (TrLabel)

Abund = sunsal(EM, X', 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes'); TrLabel=(Abund./repmat(sum(Abund), size(Abund, 1), 1));

This will give an output of EM=8000x Channel (Pure_TrSet) Abund here will give an output of 8000x Channel (TrLabel)

But the sample TrLabel has 8000x5

I am not really sure how the TrLabel is generated? It will be very helpful if you can elaborate on this

Thanks once again

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/danfenghong/IEEE_TNNLS_EGU-Net/issues/4, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL2GZVE4RIMB4HHIW2QFETT5O7XZANCNFSM5CMFUBFA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

Boinao commented 2 years ago

I understand that it has to be 8000x5 but the code in Pseudo_endmembers_generation.m line # 23 Abund = sunsal(EM, X', 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes');

EM here is around (8000xChannel) and X' (NxChannel) here is the data. How using Sunsal true label is generated to be 8000x5. This part is very confusing. The correct way should have been

Abund = sunsal(True_EM, EM, 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes');

Would you please clarify for me.

Regards,

Boinao

danfenghong commented 2 years ago

Yes, yes. You are right. We made a mistake. We have updated the codes. Sorry for that! Thank you very much for pointing that out! Cheers, Danfeng

Boinao @.***> 于2022年1月6日周四 22:18写道:

I understand that it has to be 8000x5 but the code in Pseudo_endmembers_generation.m line # 23 Abund = sunsal(EM, X', 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes');

EM here is around (8000xChannel) and X' (NxChannel) here is the data. How using Sunsal true label is generated to be 8000x5. This part is very confusing. The correct way should have been

Abund = sunsal(True_EM, EM, 'lambda', 0, 'ADDONE', 'no', 'POSITIVITY', 'yes', ... 'AL_iters', 200, 'TOL', 1e-4, 'verbose','yes');

Would you please clarify for me.

Regards,

Boinao

— Reply to this email directly, view it on GitHub https://github.com/danfenghong/IEEE_TNNLS_EGU-Net/issues/4#issuecomment-1006626463, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL2GZRV6I6L2VGFGNYL7STUUWQFDANCNFSM5CMFUBFA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

danfenghong commented 2 years ago

you can use some endmember extraction methods for EM, e.g., VCA. Their EMs used are the same for those LMM-based methods.

jikerWRN @.***> 于2022年1月17日周一 17:33写道:

Hi, good question! I want to know how do you get the "True_EM"? Can you get good results? Looking forwars to your reply!

— Reply to this email directly, view it on GitHub https://github.com/danfenghong/IEEE_TNNLS_EGU-Net/issues/4#issuecomment-1014317013, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL2GZTOGMVAFTXCB3TGCT3UWPO6HANCNFSM5CMFUBFA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>