Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fast hdbscan #250

Open
haesleinhuepf opened this issue May 2, 2023 · 4 comments
Open

fast hdbscan #250

haesleinhuepf opened this issue May 2, 2023 · 4 comments

Comments

@haesleinhuepf
Copy link
Member

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

@thorstenwagner
Copy link
Collaborator

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

@haesleinhuepf
Copy link
Member Author

haesleinhuepf commented May 11, 2023

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?

@kne42
Copy link

kne42 commented May 11, 2023

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)

@haesleinhuepf
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants