Continuing the discussion from Requirements for overhauled calibration task?:
I have been implementing @jbosch’s proposed subtask hierarchy for ProcessCcdTask:
and I have run an issue propagating “used for PSF” flags from icSrc
, the source catalog from image characterization, to src
, the source catalog output by the calibration task. I want to get a sense of how important this is to people, because it is not easy to do.
The issue is that we want CalibrationTask
to be usable as a standalone cmd-line task. If it is going to copy fields from icSrc
, it must either have the schema (and some idea of which fields to copy) at construction time (preferably), or else it will have add the fields while running, which requires copying data and means the returned schema won’t match self.schema
.
An alternative is to keep the catalogs output by image characterization and calibration separate, but add a third catalog that copies the flags from the first to the second (e.g. isSrc
, calSrc
and src
. If we really need these flags then it would be fairly sane to have ProcessCcdTask
perform this operation (in my opinion it’s much less sane to expect CalibrateTask
to do this).
If we don’t actually need these flags in the catalog output by the calibration task, then the sanest and simplest alternative is to omit them. This simplifies the architecture and the code. That information could be regenerated later, if needed.