The exposureId value in visitInfo is not a visit-exposure level identifier, but rather a ccd-exposure level identifier (see docstring for obs.base.CameraMapper._computeCcdExposureId() for the only place where this seems to be specified). Thus, it should not be included in visitInfo, which is only things that are common across the visit.
We do need a visit-exposure level identifier to be included in visitInfo, so that we can link exposures within visits without using the butler (e.g. without dataRef.dataId['visit']). This RFC likely requires that makeRawVisitInfo() adds the butler visitId to the new visitInfo.visitId, unless there is some other way to access the visitId value besides the above butler call.
- Move exposureId from VisitInfo into ExposureInfo.
- Add visitId to VisitInfo, and include it as part of makeRawVisitInfo.
- Document the meaning of exposureId to be clear that it is per-ccd.
- Document whether visitId can be derived from exposureId, or whether those are decoupled.
- Document the meaning of visitId to be clear that it is per-visit.
See this discussion that generated this RFC:
- is triggering
DM-13738 Remove exposureId from visitInfo
DM-13942 Remove exposureId and from VisitInfo and add visitId
DM-29955 Add ExposureInfo id getter (replacement for VisitInfo.getExposureId())
DM-13943 Deprecate VisitInfo.getExposureId()
DM-13944 add id to VisitInfo
- relates to
RFC-785 Move data ID -> integer packing state and logic out of butler
DM-31773 Ensure visitInfo.id matches the butler visit key
- To Do
- mentioned in