diff --git a/autoreduce/instruments/wfc3_ir.py b/autoreduce/instruments/wfc3_ir.py index 11c2a1a..6540444 100644 --- a/autoreduce/instruments/wfc3_ir.py +++ b/autoreduce/instruments/wfc3_ir.py @@ -34,11 +34,11 @@ # blob bit plus hot pixels. Blobs are detector-fixed IR channel # features that calwf3 flags but does not remove; rejecting them on # snapshot data with tiny dithers punches structured zero-coverage - # holes in the mosaic (PJ011646, 5 exposures, a 123-px hole at - # r = 5.3"). The IR rows are the reason this is a table and not a - # pair: the two bits columns DIFFER at N = 2-3, where the separate - # (median-building) drizzle still keeps every bit while the final - # drizzle already drops to 528. + # holes in the mosaic (program 14653, F160W, 5 exposures, a + # 123-px hole at r = 5.3"). The IR rows are the reason this is a + # table and not a pair: the two bits columns DIFFER at N = 2-3, + # where the separate (median-building) drizzle still keeps every + # bit while the final drizzle already drops to 528. dq_bits_rows=((1, 65535, 65535), (2, 65535, 528), (4, 528, 528)), ) ) diff --git a/docs/design/wfc3.md b/docs/design/wfc3.md index 1ced340..2692afe 100644 --- a/docs/design/wfc3.md +++ b/docs/design/wfc3.md @@ -49,10 +49,11 @@ which `calwf3` *flags* but does not remove. They are fixed in detector coordinates, so a dither pattern of a few pixels moves them barely at all: the same detector pixels are flagged in every exposure of the visit. Reject them and the mosaic gets a structured **zero-coverage hole** rather than the -speckle that a large dither would produce. PJ011646 (program 14653, F160W, -5 exposures, 2–6 px dithers) failed packaging on exactly this — a single -123-px hole at r = 5.3″, DQ 512 at the same detector pixels in all five -exposures — while a trusted external reduction of the same data has none. +speckle that a large dither would produce. An HST program 14653 dataset +(F160W, 5 exposures, 2–6 px dithers) failed packaging on exactly this — a +single 123-px hole at r = 5.3″, DQ 512 at the same detector pixels in all +five exposures — while a trusted external reduction of the same data has +none. STScI's own MDRIZTAB passes the blob bit, so under standard practice that hole could not have occurred. diff --git a/test_autoreduce/test_target_and_instruments.py b/test_autoreduce/test_target_and_instruments.py index dc030b9..9761140 100644 --- a/test_autoreduce/test_target_and_instruments.py +++ b/test_autoreduce/test_target_and_instruments.py @@ -154,10 +154,11 @@ def test_wfc3_ir_rows_differ_between_the_two_columns(self): assert self._bits("wfc3_ir", 4) == (528, 528) assert 528 == 512 | 16 - def test_pj011646_would_not_have_holed(self): - # The regression this leg exists for: PJ011646 was F160W with five - # exposures, so it lands on the numimages >= 4 row, where STScI - # passes exactly the blob bit (512) that punched the 123-px hole. + def test_five_exposure_f160w_mosaic_would_not_have_holed(self): + # The regression this leg exists for: an HST program 14653 F160W + # mosaic with five exposures lands on the numimages >= 4 row, where + # STScI passes exactly the blob bit (512) that punched the 123-px + # hole. _, final_bits = self._bits("wfc3_ir", 5) assert final_bits & 512