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

Image Picker upgrade #50

Open
neomorphic opened this issue Jun 22, 2020 · 5 comments
Open

Image Picker upgrade #50

neomorphic opened this issue Jun 22, 2020 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@neomorphic
Copy link
Member

Enhancements requested by Steve

  1. Allow user to input a REST api
  2. Allow user to right click or otherwise choose a point
  3. That point (and the data source) should be posted to the REST API as JSON (choose some format and I will conform)
  4. The return value will either be one of the following:
    a) a new data source and x,y,z point
    b) a list of x,y,z points with jpeg thumbnails (embed in return json?)
    If a), pop-up neuroglancer in the same workspace (but maybe 1/4 the size of the original neuroglancer and just an XY view by default) if b) show a list of x,y,z with thumbnails
@neomorphic neomorphic added the enhancement New feature or request label Jun 22, 2020
@neomorphic neomorphic self-assigned this Jun 22, 2020
@neomorphic neomorphic added this to To do in Image Picker Jun 22, 2020
@stephenplaza
Copy link

Revised specs:

inputs: location of top level cloud function (what we have been using) and dataset

  • when a user clicks in neuroglancer grayscale with a given modifier or button pressed, call a cloud function which will send the x,y,z and dataset name to the given endpoint
  • the response will be a list of x,y,z results (with confidence scores) and/or a message ("no results found", "no signature data for the chosen coordinate", "no good results found"
  • provide a paginated list of matches (the function might return more matches than you want to show on a page, maybe only show 10 at a time)
  • for each match, show the x,y,z (clicking will navigate to that spot of neuroglancer) and a confidence bar that shows how good the match is
  • for each match download a thumbnail from the appropriate api in the cloud function

@stephenplaza
Copy link

image picker part 2:

  • add a radio button (or something like it) to choose a mode of picking
  • mode 1: "query by example" and mode 2: "apply transfer network"
  • mode 1 was discussed above
  • mode 2 will simply call the appropriate endpoint with the given x,y,z and dataset
  • mode 2 could take a while to run (run in background?); the function will return a web address which can then be opened as a seperate window or clicked on by the user to pop up another window (this will just be a link for another neuroglancer outside of the hub). So maybe you can think of executing this as a 'background job' that will show up in a 'job queue'. This stuff should "infinitely" scale on the back-end so allowing multiple jobs is fine and just add results to the result box.
  • mode 2 could also return a result of 'not supported'

@stephenplaza
Copy link

I can probably add an endpoint that will let you know if the mode are 'available' for a given dataset. Because this might allow us to 'disable' this plugin if there is not support for a dataset.

@neomorphic
Copy link
Member Author

@stephenplaza Could I have more description around this point:

for each match, show the x,y,z (clicking will navigate to that spot of neuroglancer) and a confidence bar that shows how good the match is

Specifically what the confidence bar should be showing? I am guessing the score value. Also where should this bar be located, with the thumbnail?

@stephenplaza
Copy link

My thought was something like the old-style search result score shown next to results from search engines. A very low-resolution match score bar next to each icon. The score value should be high for a good match and low for a bad. The highest score is 1.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

2 participants