I wanted to lay out what I thought the 'right' DQ bit handling was to make sure that we can be on the same page for Roman and Webb. Here's what I think we should do:
- routines should flag problematic pixels with a user-specified bit following a dictionary
- routines should not flag DO_NOT_USE; downstream pipeline should decide DO_NOT_USE behavior
- I think I would except ramp_fitting here and let it flag DO_NOT_USE for sufficiently bad ramp fits (e.g., 0 good resultants)
- ramp fitting should flag results with the or of the groupdq flags
I think this is mostly already what is done? #515 is an exception that we've already discussed, and where we think that moving closer to the above would be the right move. Another case where we are not doing the above is in ramp fitting, where currently only jump and sat propagate to the final DQ image; the above would advocate for treating those equivalently to other bits. For Roman that would mean also propagating things like DROPOUT (some issue reading out some groups; not expected to occur frequently) and AD_FLOOR (likewise not expected to occur frequently). I don't immediately see why we should not propagate those in ramp fitting, though I agree that jump and saturation are more common and important.
@drlaw1558 , @tapastro , do you see this differently?
I wanted to lay out what I thought the 'right' DQ bit handling was to make sure that we can be on the same page for Roman and Webb. Here's what I think we should do:
I think this is mostly already what is done? #515 is an exception that we've already discussed, and where we think that moving closer to the above would be the right move. Another case where we are not doing the above is in ramp fitting, where currently only jump and sat propagate to the final DQ image; the above would advocate for treating those equivalently to other bits. For Roman that would mean also propagating things like DROPOUT (some issue reading out some groups; not expected to occur frequently) and AD_FLOOR (likewise not expected to occur frequently). I don't immediately see why we should not propagate those in ramp fitting, though I agree that jump and saturation are more common and important.
@drlaw1558 , @tapastro , do you see this differently?