# Make use of photodiode data to correct PTC curves

XMLWordPrintable

#### Details

• Type: Story
• Status: To Do
• Resolution: Unresolved
• Fix Version/s: None
• Component/s:
• Labels:
None
• Team:
Data Release Production
• Urgent?:
No

#### Description

Make use of photodiode data to correct PTC curves, and linearity models if that's also deemed within scope by whoever does this.

DM-26606 is in progress, so the data is already being read in when it's available, so the nuts and bolts part has already been done.

#### Activity

Hide
Christopher Waters added a comment -

Based on conversations during planning, I think the following steps are going to be needed to finish this task:

1. Update the data class to use the butler.  These files read fine with astropy.table.Table.read(filename, format='ascii'), so it's possible this can be handled with the existing AstropyTable formatter/storageClass.
2. Enable ingestion of these into butler.  I think this means un-mangling the filename into a usable exposure keyword, and adding support to ingest_curated_calibs.py.
3. Add more robust photodiode integration code.
4. Update linearity(/ptc?) code to try to access these files, and fall back to exposure time.  I think linearity should be able to use the exact same code path once the 'inputAbscissa' is updated.
Show
Christopher Waters added a comment - Based on conversations during planning, I think the following steps are going to be needed to finish this task: Update the data class to use the butler.  These files read fine with astropy.table.Table.read(filename, format='ascii'), so it's possible this can be handled with the existing AstropyTable formatter/storageClass. Enable ingestion of these into butler.  I think this means un-mangling the filename into a usable exposure keyword, and adding support to ingest_curated_calibs.py. Add more robust photodiode integration code. Update linearity(/ptc?) code to try to access these files, and fall back to exposure time.  I think linearity should be able to use the exact same code path once the 'inputAbscissa' is updated.
Hide
Christopher Waters added a comment -

From slack, Tim noted "the need to write a specialist ingest script for gen3 and a formatter to read the data".  This is the correct way to think of #2 above: we need to add an ingest task (in obs_lsst) that can handle photodiode data.  An example is https://github.com/lsst/obs_decam/blob/master/python/lsst/obs/decam/ingest.py which handles multi-extension fits data and also instcal files.  As these will be ingested, the data class decisions in #1 do not necessarily need to worry about reading that ascii data.

Show
Christopher Waters added a comment - From slack, Tim noted "the need to write a specialist ingest script for gen3 and a formatter to read the data".  This is the correct way to think of #2 above: we need to add an ingest task (in obs_lsst) that can handle photodiode data.  An example is https://github.com/lsst/obs_decam/blob/master/python/lsst/obs/decam/ingest.py which handles multi-extension fits data and also instcal files.  As these will be ingested, the data class decisions in #1 do not necessarily need to worry about reading that ascii data.

#### People

Assignee:
Andrés Alejandro Plazas Malagón
Reporter:
Merlin Fisher-Levine
Watchers:
Andrés Alejandro Plazas Malagón, Christopher Waters, Craig Lage, Merlin Fisher-Levine