Add OCA rules creation, mock backward chaining, and DM changes
This is initial code to create OCA rules automatically from the data lineage. This supersedes !92 (closed).
The goal is not so much to create the OCA rules, but to use the creation of OCA rules as a way to ensure we have designed the pipeline properly.
It contains some data model changes:
- All templates now have INS.MODE, DPR.CATG, DPR.TECH and DPR.TYPE defined.
- Persistence now has its own recipe. This is still preliminary, but is a good use-case for the OCA rules.
- There are several 'Unpersisted' classes to remove persistence from the raw data.
- There is now a distinction between Raw data and Sky. Sky inherits from Raw and is on-sky data.
- The reduced images and catalog classes have been refactored, so they are easier to use in OCA rules.
- The photometric and astrometric calibration is now done on fully reduced frames (that is, background subtraction and illumination correction is applied).
- The backward chaining is now ad-hoc defined in
augment_backward_chaining.py. At some point this should be added to the Data Model properly.
@verdoes can you look at the data model changes in particular? That is, micado.vodsl and associationmatrix.ditaa / .png.