# Backward-incompatible changes to ProcessCcdTask and subtasks

**URL:** <https://www.rubin.community/t/backward-incompatible-changes-to-processccdtask-and-subtasks/581>\
**Category:** Data Management\
**Tags:** dm-dev\
**Created:** [March 8, 2016, 11:31pm UTC](https://www.rubin.community/t/backward-incompatible-changes-to-processccdtask-and-subtasks/581 "2016-03-08T23:31:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rowen](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/rowen/32/52_2.png) [@rowen](https://www.rubin.community/u/rowen)\
**Post date:** [March 8, 2016, 11:31pm UTC](https://www.rubin.community/t/backward-incompatible-changes-to-processccdtask-and-subtasks/581/1 "2016-03-08T23:31:43Z")

</div>

[DM-4692](https://jira.lsstcorp.org/browse/DM-4692) and [DM-5348](https://jira.lsstcorp.org/browse/DM-5348) overhaul `ProcessCcdTask` and introduce some backwards-incompatible changes.

### Code changes

- `ProcessCoaddTask` is gone, along with all bin scripts that run it. Use the new [Multi-Band](https://confluence.lsstcorp.org/display/DM/S15+Multi-Band+Coadd+Processing+Prototype) code, instead.

- `ProcessCcdTask` has been rewritten, so its config has changed. Config override files will need to be updated. This will be done for the obs\_ packages as part of the merge, but if you have personal config override files then you will probably need to update them.

- Camera-specific variants of `ProcessCcdTask` are gone. You will run `bin/processCcdTask.py` to process images for all cameras.

- For DECam `bin/processCcdTask.py` will use the LSST stack’s ISR by default. To read `instcal` files from the community pipeline, replace the ISR task with `DecamNullIsrTask` by using a config override file containing the following:

- A new dynamic dataset type is available for adding data ID arguments to the argument parser for command-line tasks: `ConfigDatasetType` obtains the dataset type from a config parameter.

- Various subtasks have changed, including:

### Data product changes

- `icSrc` no longer includes RA/Dec coordinate data, because the fit WCS is not available when the catalog is constructed. You will have to set the coord field yourself if you need it.
- `icExp` and `icExpBackground` can optionally be written by `CharacterizeImageTask`. They are so close to `calexp` and `calexpBackground` that they are not written by default.
- `icMatch` is no longer being written.

### Algorithm changes

- PSF is fit somewhat differently. The new task fits the PSF in using a configurable number of iterations. By default each iteration starts with a simple Gaussian PSF whose sigma matches the PSF of the previous fit, but you can use the actual PSF each time. Using a Gaussian causes convergence in 2 iterations. Using the fit PSF slows convergence.
- Sources in the `icSrc` catalog should have a more consistent minimum SNR for varying seeing. The old code detected once, using a Gaussian PSF with FWHM set by a config parameter. The new code performs detection using the PSF in the final PSF iteration.
- The default star selector for `MeasurePsfTask` is `objectSize` rather than `sizeMagnitude`. The `objectSize` star selector is preferred and was already being specified as an override by HSC.
- The icSrc catalog is not matched to an astrometric reference catalog unless the star selector used to measure PSF can use the matches (which is unusual).
- The astrometric and photometric solution now use the deeper `src` catalog instead of the shallower `icSrc` catalog, though with a new SNR cutoff whose default provides a depth similar to the `icSrc` catalog.
- Fake source handling is temporarily missing; it will be re-added in [DM-5310](https://jira.lsstcorp.org/browse/DM-5310).
