Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: obs_decam, pipe_tasks
-
Labels:None
-
Story Points:14
-
Epic Link:
-
Team:Data Facility
Description
This ticket is for implementing changes in obs_decam in order to run processCcd with raw DECam data.
Changes are mostly in DecamMapper and a new class DecamIsrTask is added. A test to retrieve defects with Butler is also added. (testdata_decam is at lsst-dev /lsst8/testdata_decam/ )
The pixels with bit 1 (bad, hot/dead pixel/column) from the Community Pipeline Bad Pixel Masks are used as bad pixels. The CP BPM fits files are directly used as defect files. Due to their large size, they probably should not go into obs_decam repository so they are treated similarly as other calibration products.
With the changes of this ticket, the following ingest defects files into calibRegistry:
ingestCalibs.py . --calibType defect path-to-bpm/*fits
|
and the following should run past ISR:
processCcd.py . --config isr.doFringe=False isr.assembleCcd.setGain=False calibrate.doPhotoCal=False calibrate.doAstrometry=False calibrate.measurePsf.starSelector.name="secondMoment" |
Running fringe correction with DECam raw data will be in future tickets (DM-4223 and possibly more). Also this ticket does not cover implementing or porting new ISR functionalities that haven't yet been included in ip_isr (such as crosstalk).
This looks great. Thanks for the improvements. I have a few minor things to ask about, but nothing that would stop you from merging now if you like.
pipe_tasks
You say "For defects, the products are valid from the date they are registered until the next date. For other calibration products, a midpoint is used to fix the conflicts.". On the whole this is pretty clear, but I suggest trying to use a different phrase than "fix the conflicts". Do we actually expect conflicts? I thought data products had a start date, but not an end date, so conflicts will not occur. Perhaps you could say "For most calibration products, the calibration data with whose start date is nearest the date of the observation is used. However, defects files are valid from their start date until they are superseded by subsequent defect data".
The --calibType argument help is much clearer, but I still suggest explicitly saying that the OBSTYPE header entry is used (as per my original review).
obs_decam
Would it make sense to shorten the key "ccdnum" down to simply "ccd"? (Certainly not if you already use the key "ccd" for something else).
Why in std_raw do you copy over all metadata? I'm referring to the following snippet:
for kw in md0.paramNames():
if kw not in md.paramNames():
md.add(kw, md0.get(kw))
isr.py: I am a bit surprised that you require that the amount bias and flats are trimmed is the same in x and y. After all, you had separate parameters for those earlier. But if you are positive this is a safe assumption then I have no objection. If you do want to allow them to be different the code would be easy to expand to return a tuple of x, y trim amounts.