Details
-
Type:
Improvement
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: ip_isr
-
Labels:None
-
Story Points:14
-
Epic Link:
-
Sprint:DRP S20-5 (Apr)
-
Team:Data Release Production
Description
There is currently no base class defining non-image calibration products, resulting in various methods and accessors unique to each calibration type. This will create a uniform interface matching/similar to that used for Defects/QE curves to provide some consistency.
Now that we have multiple examples of these calibrations and have a good idea about the methods that are needed, a base class with some shared implementations and/or abstract methods seems like a good idea.
Note we have a related problem in that we have Defects and Curve in meas_algorithms but code for reading them all in pipe_tasks and the code that does the reading also in obs_base. We have some pretty bad circular dependencies going on there (pipe_tasks depends on obs_base and ip_isr but obs_base relies on code from pipe_tasks). Moving the calibration classes to ip_isr doesn't help us much because ip_isr depends on meas_algorithms and pipe_base and meas_algorithms depends on pipe_base and obs_test which depends on obs_base which depends on pipe_base. It seems that we really could do with these fundamental calibration classes being pulled out into some package that ip_isr and obs_base can depend on independently of the meas_algorithms/pipe_base loop.