roman-corgi / corgidrp

Data Reduction Pipeline for the Roman Coronagraph Instrument
BSD 3-Clause "New" or "Revised" License
5 stars 4 forks source link

Calibration Algorithm Generation: CTI Pump Trap Data (II&T Port) #112

Closed maxwellmb closed 2 months ago

maxwellmb commented 5 months ago

This is a break-up from issue #20 which currently includes the step function and the calibration generation. This part just covers the generation of the calibrations.

We need to port over the II&T code. I've started and there's a branch cti_correction. This is a requirement for R3.0.1, even if the step function becomes a "should" (i.e. not a strict requirement).

maxwellmb commented 5 months ago

@kjl0025 says: "There are a few minor changes to the tpumpanalysis code that were made after the port to cgi_iit_drp repo. Those changes are on the cosmic_update_code branch here. The changes are found in example_script.py, tpump_final.py, and ut_tpump_final.py."

maxwellmb commented 4 months ago

I'm dropping my current working to-do list here mostly to keep track of myself, but also in case other people get involved:

maxwellmb commented 4 months ago

Tagging the following requirement numbers from the FDD for my reference: 1090879 and 1090880.

The input data needs to be "clean focal plane images". From what I can tell, "Clean" means L2 data. @mygouf (and maybe @kjl0025), do either you know exactly what steps should/shouldn't be run for the trap pumping data. I'd like to make it clear in the headers what the input expectation is.

maxwellmb commented 4 months ago

Some other general questions/thoughts:

kjl0025 commented 4 months ago

Some other general questions/thoughts:

  • is illumination_correction needed if we do a flatfield correction? Yes. For these trap-pumped frames, the flat field is not really applicable. The trap-pumped frames are taken in TPUMP mode. Charge is typically injected into a row or rows, and that charge is clocked up and down in rows a bunch of times while the detector is exposed to no light (or I suppose a flat field could work). But in any case, it isn't a straight exposed frame. And there are 4 different pumping schemes.
  • where will the num_pumps input come from? It is the "Number of cycles of pumping performed for each trap-pumped frame."). Will it be in the CPGS file or the header? Should be a header. It was for the actual data from TVAC.
  • It looks like the phase time was previously assumed to be in the 'PHASE_T' header keyword. Are we happy with this keyword. It's fine for me. We need it added to the header list. Sounds good to me.

As for what should be saved in the output, Issue #20 gives a good summary of that.

And the current code processes the frames by: -bias-subtraction (assuming 0 bias offset in this case) -nonlinearity correction

maxwellmb commented 2 months ago

Closing with PR #180