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

Add instrument base class to pipe_base

    XMLWordPrintable

Details

    • 5
    • Architecture
    • 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

          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.

          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.
          tjenness Tim Jenness added a comment -

          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.

          tjenness Tim Jenness added a comment - 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.

          Looks great, few minor comments in some packages.

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

          People

            tjenness Tim Jenness
            tjenness Tim Jenness
            Andy Salnikov
            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

                No builds found.