google / google/neuroglancer

Options for extending Neuroglancer with UI widgets

Open
#326 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
1.5k
Forks
389
Avg merge
3d 21h
Merged PRs (30d)
3

Description

I was wondering what the pros/cons are of different approaches for developing UI components/widgets that work together with neuroglancer. There seems to be a few different approches taken by the connectomics community, like
1. Janelia's [clio framework](https://clio.janelia.org/), embedding/wrapping neuroglancer via [dedicated react component](https://github.com/neuroglancerhub/react-neuroglancer) within a react framework
2. ng-extend: using vue-based widgets to extend neuroglancer, embedding/wrapping neuroglancer as component, in [ng-extend](https://github.com/seung-lab/ng-extend)
3. neuroglancer workspace, using its tile manager and native implementations of new widget, e.g. [like in the h01 c3 workspace ](http://h01-dot-neuroglancer-demo.appspot.com/#!gs://h01-release/assets/neuroglancer_states/20210601/c3_library.json)
4. integration of Flask, Plotly's Dash, and Python-based neuroglancer

I really like the approach #1 for its flexibility and existing development libraries and tools, but I see that more direct integration of UI widgets into neuroglancer itself (like in #2 or #3) is also nice. What is your perspective on this @jbms, maybe also in terms of better understanding what you see as the planned scope for the functionality of neuroglancer, and development workflows. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.