SofieVG / FlowSOM

Using self-organizing maps for visualization and interpretation of cytometry data
61 stars 26 forks source link

Initialize BuildMST with grid layout #29

Closed exaexa closed 4 years ago

exaexa commented 4 years ago

This avoids early termination in the KK layout algorithm that sometimes produced circular artifacts, especially on SOMs with very small absolute distances between edges.

SofieVG commented 4 years ago

Hi Mirek,

While in general the code looks good, just for my own understanding I'm wondering what the impact is of rescaling the weights?

Kind regards, Sofie

On Wed, 16 Oct 2019 at 17:07, Mirek Kratochvil notifications@github.com wrote:

This avoids early termination in the KK layout algorithm that sometimes produced circular artifacts, especially on SOMs with very small absolute distances between edges.

You can view, comment on, or merge this pull request online at:

https://github.com/SofieVG/FlowSOM/pull/29 Commit Summary

  • Initialize BuildMST with grid layout

File Changes

Patch Links:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/SofieVG/FlowSOM/pull/29?email_source=notifications&email_token=AAOS723G4RDJ2FSOUXNZD43QO4U2FA5CNFSM4JBM5WN2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HSGFBVA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOS724GRNSZWA4EZODBC73QO4U2FANCNFSM4JBM5WNQ .

exaexa commented 4 years ago

impact of rescaling the weights

Generally, the edge weights (a.k.a. lengths) that come from the MST constructed in SOM are the "real" distances between SOM clusters, so they e.g. depend on dataset staling etc. Contrary to that, most lengths in the MST initialized from grid positions (from fsom$map$grid) are 1. So I scaled the "real" distances to have mean 1 as well, in order to better match the preinitialized data, and hopefully prevent unnecessary complications in the KK layouting.

Btw the initialization works correctly even without this scaling -- feel free to remove the corresponding code if it seems problematic for any reason.

Best, -mk