Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-27754

Make Exposure formatters more generic

    XMLWordPrintable

    Details

    • Story Points:
      8
    • Urgent?:
      No

      Description

      Following DM-17982, it is possible to attach almost any object to an Exposure and round-trip it through FITS, without the need for explicit support within the Exposure or ExposureInfo classes. This is handled through the *Component methods on ExposureInfo (these methods were not added to Exposure itself mostly because they make for a very clunky API in C++).

      While working on DM-27169, I noticed that generic components are not supported by obs.base.FitsExposureFormatter and obs.base.ExposureAssembler – the former returns nonstandard objects only as an "extras" blob, and the latter ignores them entirely. This arrangement also closely couples obs_base code to several afw classes, including the builder API of afw.image.ExposureFitsReader.

      I propose that obs_base instead access all components other than image planes through generic methods on ExposureInfo and ExposureFitsReader (the latter don't yet exist, though after DM-27169 they will be easy to add). This should somewhat simplify obs_base code and make it easier to round-trip generic components through the butler.

      The main problem is that there would still need to be a mapping between Butler component names and Exposure component names; the former are constrained by user-friendliness, the latter by compatibility with the FITS format and old Exposure files. I'm not sure how to resolve that in a way that is more flexible than the current system.

        Attachments

          Issue Links

            Activity

            There are no comments yet on this issue.

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              krzys Krzysztof Findeisen
              Watchers:
              Jim Bosch, Krzysztof Findeisen, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:

                  CI Builds

                  No builds found.