For various PFS-related reasons I needed to write display_ginga, and came across a couple of things I'd like to modify in the afw.display.Device API. None of these changes modify any APIs (although the first could theoretically break a backend specification).
This is not an RFC about the far-reaching changes that we'll probably need to make full use of the power of firefly (or ginga for that matter)!
- If you have a backend "foo" I'd like to try importing "lsst.display.foo" before "foo"
- I'd like to add a default to the frame argument in the Display constructor (this isn't a ginga thing, but it's an annoying gotcha currently)
- I'd like to add a __getattr__ method to Device that allows you to call methods on the implementation (e.g. ginga has a way to embed an image into a notebook; while eventually we may promote that API to Device, for now I want a way to get at it without going through device._impl.display)
The last of these is probably the only contentious change as there are other less-magic ways to do it.
P.S. I have display_ginga more-or-less working. No mask overlays or callbacks yet, and a number of bug reports into Eric Jeschke...