napari-clusters-plotter icon indicating copy to clipboard operation
napari-clusters-plotter copied to clipboard

fast hdbscan

Open haesleinhuepf opened this issue 2 years ago • 4 comments

If fast-hdbscan works for our purposes (worth exploring), we could replace hdbscan. We can also make it an optional dependency.

haesleinhuepf avatar May 02 '23 09:05 haesleinhuepf

Alternative: Rapids? https://docs.rapids.ai/api/cuml/nightly/api/#hdbscan

thorstenwagner avatar May 09 '23 06:05 thorstenwagner

Rapids needs an NVidia GPU, fast-hdbscan not, right? Anyway, I think we might work towards a pluggable interface for dimensionality reduction and clustering methods so that anyone can extend our pulldowns with whatever they like. We could use a similar scheme like the tools menu uses: https://github.com/haesleinhuepf/napari-tools-menu#Usage

It might be worth waiting for npe2 to support custom extension of napari commands and then introduce commands for clustering / dimensionality reduction. Not sure when this will be technically possible. Maybe @andy-sweet can tell?

haesleinhuepf avatar May 11 '23 05:05 haesleinhuepf

Hi @haesleinhuepf, when talking about custom extensions of napari commands, do you mean providing commands for napari to insert in menus/keybindings? If so, this work is still currently in progress but we hope to get it in for the next release (whenever that is)

kne42 avatar May 11 '23 19:05 kne42

Hey @kne42 ,

thanks for replying! I think one small step ahead: if the napari yaml file allowed to specify not just menus and keybindings, but anything, we could define one entity of anything to be commands with an interface such as table_processing_algorithm(in:pd.DataFrame, ...) -> pd.DataFrame. We could then ask npe2: "give me all table processing algorithms" and list them in a pulldown. With npe1 such things were very easy to implement (see tools menu link above). Are there any plans for when this might be possible with npe2?

Thank! Robert

haesleinhuepf avatar May 12 '23 05:05 haesleinhuepf