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

Add instrument base class to pipe_base

    XMLWordPrintable

    Details

    • Story Points:
      5
    • Team:
      Architecture
    • Urgent?:
      No

      Description

      The Instrument class in obs_base tries to be a general representation of an instrument but has a couple of assumptions in it that make it hard for non Rubin users to use it.

      • It depends heavily on the afw cameraGeom.
      • It assumes that an instrument has filters (and uses an afw class to represent them)

      pipe_base implicitly depends on an Instrument-like object existing for applying config overrides and ctrl_mpexec also needs a small number of methods for making collections and determining the name from registry.

      On this ticket we will move the core code to pipe_base and leave the Rubin-specific Instrument in obs_base inheriting from the pipe_base variant. The register-instrument command will also have to be moved to pipe_base. ctrl_mpexec and ctrl_bps will also be changed such that they do not explicitly need obs_base.

      The pipe_base class could be called InstrumentBase or simply Instrument.

        Attachments

          Activity

          Hide
          tjenness Tim Jenness added a comment -

          I think I've got this working:

          • Moved Instrument and other options to pipe_base
          • Move Packages formatter to daf_butler
          • Move PexConfig formatter to pipe_base
          • Fix obs_lsst and pipe_tasks so that they use the new instrument options
          • Remove obs_base and afw dependency on ctrl_mpexec

          ctrl_mpexec has built on Jenkins and obs_base was not used (afw was used because it is brought in by pipe_base on Jenkins).

          Only remaining task is to get ctrl_mpexec building on Github.

          Show
          tjenness Tim Jenness added a comment - I think I've got this working: Moved Instrument and other options to pipe_base Move Packages formatter to daf_butler Move PexConfig formatter to pipe_base Fix obs_lsst and pipe_tasks so that they use the new instrument options Remove obs_base and afw dependency on ctrl_mpexec ctrl_mpexec has built on Jenkins and obs_base was not used (afw was used because it is brought in by pipe_base on Jenkins). Only remaining task is to get ctrl_mpexec building on Github.
          Hide
          tjenness Tim Jenness added a comment -

          Andy Salnikov this ticket covers lots of packages but is very simple. It moves the Instrument stuff into pipe_base and that leads to minor changes in a few packages. With these changes ctrl_mpexec can now build and test as a github action and no longer needs afw or obs_base.

          Show
          tjenness Tim Jenness added a comment - Andy Salnikov this ticket covers lots of packages but is very simple. It moves the Instrument stuff into pipe_base and that leads to minor changes in a few packages. With these changes ctrl_mpexec can now build and test as a github action and no longer needs afw or obs_base.
          Hide
          salnikov Andy Salnikov added a comment -

          Looks great, few minor comments in some packages.

          Show
          salnikov Andy Salnikov added a comment - Looks great, few minor comments in some packages.

            People

            Assignee:
            tjenness Tim Jenness
            Reporter:
            tjenness Tim Jenness
            Reviewers:
            Andy Salnikov
            Watchers:
            Andy Salnikov, Gregory Dubois-Felsmann, Jim Bosch, Tatiana Goldina, Tim Jenness
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins Builds

                No builds found.