askap-vast / vast-tools

A collection of tools that are useful for the VAST project and for exploration of results from the VAST Pipeline.
https://vast-survey.org/vast-tools/
MIT License
7 stars 0 forks source link

Add basic source labelling feature for notebooks #237

Open ddobie opened 3 years ago

ddobie commented 3 years ago

It's currently a bit annoying to look through all sources of interest within the notebook - my preferred method so far has been generating pngs and making notes in a separate csv file.

However, it should be possible to build a basic interactive feature to allow users to iterate through a list of sources, generate relevant plots, and assign each one a label.

This code does most of this for us already - the only thing that needs adjusting is the way that the plots are displayed.

ajstewart commented 3 years ago

A note here that there is the pipeline website. Recent updates have not made it to production yet, but there are some waiting to be deployed or near completion that could make this smooth - and make potential notes useful to everyone.

You can comment and tag sources now in the master branch (I think commenting is in the current production) and also I have this PR open which will allow you to search for a specific list of ids or names on the website to flick through. You can also save sources to your profile for easy access later.

A screenshot of the tags and comments:

Screen Shot 2020-11-19 at 14 37 07

This is not a complete solution as one issue with all this is that currently if the above is used in the pipeline then that job should never be destroyed as you'll lose the connections to the IDs (still trying to think how to solve that).

I've also played around with widgets in the past on the notebooks as well. My tactic has just been to make it generate the light curves and cutout plots in the notebook along with the id and scroll through them - but yes noting interesting ones manually for later.

Is there a demo of what the code you link above does?

ddobie commented 3 years ago

Yeah, the author has written a blogpost about it here: https://cprohm.de/article/efficient-labeling-in-ipython.html/. tl;dr it essentially loops over a list of objects and lets you click a button to assign a user-defined tag to each one.

I wasn't planning on adding anything super complex to this. I see it as a way to quickly remove sources that aren't of interest (or pick out ones that are particularly interesting). The linked code does all of this already, the only thing left to add is the html representation of the source. The simplest option is just saving all of the lightcurves & cutouts to file, then loading them from there. The only downside is that it probably doesn't scale too well and would have a large initial overhead.

ddobie commented 3 years ago

Have you got access to my stuff on nimbus? I've just put together a fairly hacky version in annotation_testing.ipynb. Need to improve the look of it all, but the functionality is all there.

ajstewart commented 3 years ago

Have a look at https://github.com/dennisbakhuis/pigeonXT