MicroMedIAn / PathAIA

Digital Pathology Analysis Tools
GNU General Public License v3.0
3 stars 3 forks source link

Added agglomerative clustering on graphs. #36

Closed schwobr closed 3 years ago

schwobr commented 3 years ago

Started to implement graph clustering methods. The goal of this PR is to push a minimally functional graph API, including:

20/07/2021: For now I simply implemented and documented an agglomerative clustering method I used. It needs a lot of polishing in order to be more flexible and reusable. It is still a good discussion baseline for future design choices when it comes to graphs.

22/07/2021: Started including graph and tree structures taking inspiration from treez. Modified AgglomerativeClustering so that it is compatible with these structures.

ArnaudAbreu commented 3 years ago

Nice PR, I really enjoy your sortedDict version of agglomeration! (Probably the only way to get average-linkage working efficiently^^). Amazing work!

pilarOrtega commented 3 years ago

thanks Robin! great initiative :)

schwobr commented 3 years ago

@ArnaudAbreu I added the base structure for graphs and trees and made my algorithm compatible. There is still some refactoring to do (mainly moving Kruskal into the clustering module and adding methods for editing trees) and I did not yet test anything but it should be a good baseline.

ArnaudAbreu commented 3 years ago

I had a look at it and it looks perfect! I think we should merge before we go further, just to keep this PR simple. You now have administrator's privileges on the repo, so I let you do it when you're ok with the changes. I think we don't need to wait for Laurent's review since he's on holiday.