# Requirements for overhauled calibration task?

**URL:** <https://www.rubin.community/t/requirements-for-overhauled-calibration-task/370>\
**Category:** Data Management\
**Tags:** dm-dev\
**Created:** [November 6, 2015, 5:41pm UTC](https://www.rubin.community/t/requirements-for-overhauled-calibration-task/370 "2015-11-06T17:41:51Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![jbosch](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/jbosch/32/12_2.png) [@jbosch](https://www.rubin.community/u/jbosch)\
**Post date:** [December 11, 2015, 11:48pm UTC](https://www.rubin.community/t/requirements-for-overhauled-calibration-task/370/8 "2015-12-11T23:48:21Z")

</div>

I think it’ll be simpler if I just write out my counter-proposal (which I think isn’t that different from @rowen’s original).

I think I agree with @nidever that having ISR as a top-level task would be useful; maybe what we want is to split [processCcd.py](http://processCcd.py) into _three_ `CmdLineTask`s, but continue to have `ProcessCcdTask` to aggregate them (there’s nothing that says a subtask can’t be a `CmdLineTask`). We may even want to make `ProcessCcdTask` inherit from the new `lsst.ctrl.pool.BatchPoolTask`, but that’s really a separate issue ([DM-3368](https://jira.lsstcorp.org/browse/DM-3368)).

Anyhow, here’s my proposal for the subtask hierarchy:

- `ProcessCcdTask(CmdLineTask)`
  - `IsrTask(CmdLineTask)`
  - `ImageCharacterizationTask(CmdLineTask)`
    - `SourceDetectionTask` (_just detect bright stars; includes background estimation_)
    - `SourceDeblendTask` (_maybe unnecessary, but we should include it until/unless we can prove that_)
    - `SingleFrameMeasurementTask` (_just algorithms needed to select stars_)
    - `MeasurePsfTask` (_then go back to `SourceDetectionTask.run` and iterate as necessary_)
    - `RepairTask`

  - `CalibrateTask(CmdLineTask)`
    - `SourceDetectionTask` (_detect to 5-sigma limit; re-estimate background_)
    - `SourceDeblendTask`
    - `SingleFrameMeasurementTask` (\*all algorithms needed for Source table and calibration)
    - `AstrometryTask`
    - `PhotoCalTask`

Maybe reusing the name “CalibrateTask” here isn’t a great idea; I’m open to other ideas for the name, but I also feel like “MeasureSourcesTask” is a bit too easy to confuse with the old “SourceMeasurementTask” or “SingleFrameMeasurementTask”.

---

_[View the full topic](https://www.rubin.community/t/requirements-for-overhauled-calibration-task/370)._
