Fix Version/s: None
Team:Data Access and Database
We should add metadata readers with object constructors as per
DM-9060 for a few more Exposure components:
- filter: afw.image.Filter has a PropertyList constructor, so the exact same pattern used for Calib, Wcs, and VisitInfo ought to work. There's also a CameraMapper._setFilter method that seems to provide some sort of fall-back implementation; I'm not sure how that gets invoked.
- bbox: All the information we need to construct an afw.geom.Box2I is in the metadata PropertyList, but there's no existing function to create one from a PropertyList, and in this case there it wouldn't be appropriate to add it as a constructor, I think. We should add a free function to do this to afw::geom (in Python would probably be fine). We can get width and height from the NAXIS1 and NAXIS2 keys, respectively, and the minimum point from lsst.afw.image.getImageXY0FromMetadata.
- detector: CameraMapper already does some magic to attach a Detector object to many Exposure datasets. I'm not sure what invokes it, but the relevant implementation for calexp seems to be in CameraMapper._setCcdDetector; there's at least one other implementation for other Exposure datasets that correspond to an amplifier rather than a CCD, and there are also some Exposure datasets for which there is no detector. Ideally we'd like to have <dataset>_detector do the same thing as the code that attaches all of those to full-Exposure loads, but the priority is probably getting calexp_detector working.