Open tchamberlin opened 1 year ago
The basic functionality from last year was that a datashader bitmap was overlaid with an invisible holoviews scatter plot, with a random subsampling of points. This invisible layer held the metadata, and so at any given point, you would get some information in a hover. As you zoomed in, it would refresh the random sample, until eventually the number of sampled points was greater than the number of actual points, meaning that every point (antenna position) had an invisible point on top of it holding metadata. This worked, but was plagued with performance issues, and also wasn't particularly useful until you had zoomed in a good bit.
So, as an example of an alternate path forward: instead of "scan level" metadata, it would be more useful to have "session level" metadata. I think it should be possible to have an invisible metadata layer of sessions, such that when you hover over a given pixel it would show you all of the sessions that are underneath it. It might also be possible to highlight the extents of the hovered Session, indicating where its other positions are
By combining this with more comprehensive filtering options, I think we could end up with a tool that is actually pretty useful for exploration purposes.
Do you know where I can find the code to start off from?
I think there is HoverTool stuff in here: https://github.com/GreenBankObservatory/antenna-plots/blob/main/three_interactive.ipynb
Basically what is shown in the bottom left plot in https://panel-gallery.pyviz.demo.anaconda.com/gapminders
Hovering over a given section of the plot should show a menu that includes information about the scan/session/observer/etc. that is associated with that antenna position
Elizabeth has code for this from last summer that we can use to get you started; no need to reinvent the wheel. I think there is a good bit more depth that we can add on top of that