Working with interactive tables and charts

Upload a catalog to an interactive table

Firefly provides sophisticated capabilities for viewing and overlaying tables. The firefly_client Python package underlies the Firefly backend for lsst.afw.display. The firefly_client.plot module includes convenience functions for uploading tables.

Accessing the underlying FireflyClient instance

The underlying instance of FireflyClient can be accessed with the getClient method.

fc = display1.getClient()

Uploading a SourceTable

For uploading a table it is convenient to use the firefly_client.plot module. Import it and ensure it is using the same FireflyClient instance.

import firefly_client.plot as ffplt
ffplt.use_client(fc)

Upload a SourceCatalog to Firefly. By default, the catalog is shown in an interactive table viewer.

tbl_id = ffplt.upload_table(src, title='Source Catalog')

The catalog appears in an interactive table viewer. Since the catalog contains coordinate columns recognized by Firefly, the source locations are overlaid on the images (if one is displayed).

Charts from tables

Firefly includes plotting capabilities using the Plotly.js library.

Make a histogram of cell values.

ffplt.hist('log10(base_PsfFlux_flux)')

firefly_client.plot.scatter can be used to make a scatter plot of two columns for a table. These functions use the table ID of the last uploaded table by default; the tbl_id we saved in the last cell can be passed as an optional argument.

References

See the firefly_client documentation for more information about using FireflyClient.