Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions autoreduce/instruments/wfc3_ir.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)),
)
)
9 changes: 5 additions & 4 deletions docs/design/wfc3.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
9 changes: 5 additions & 4 deletions test_autoreduce/test_target_and_instruments.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading