Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
WilliamJamieson committed Oct 10, 2024
1 parent 616fefb commit 6bf7295
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions tests/test_saturation.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
Unit tests for saturation flagging
"""
from enum import IntEnum

import numpy as np

Expand Down Expand Up @@ -227,3 +228,27 @@ def test_zero_frame():
# Check ZEROFRAME flagged elements are zeroed out.
assert zframe[0, 0, 0] == 0.0
assert zframe[1, 0, 1] == 0.0


def test_intenum_flags():
"""
In numpy 2.0 IntEnums induce a failure in bitwise_or. Romancal uses IntEnums
for clarity rather than raw dictionaries of integers
"""

class DqFlags(IntEnum):
GOOD = 0
DO_NOT_USE = 1
SATURATED = 2
AD_FLOOR = 64
NO_SAT_CHECK = 2**21

# Create inputs, data, and saturation maps
data = np.zeros((1, 5, 20, 20), dtype=np.float32)
gdq = np.zeros((1, 5, 20, 20), dtype=np.uint32)
pdq = np.zeros((20, 20), dtype=np.uint32)
sat_thresh = np.ones((20, 20)) * 100000.0
sat_dq = np.zeros((20, 20), dtype=np.uint32)

# Simple test to check no errors are raised
_ = flag_saturated_pixels(data, gdq, pdq, sat_thresh, sat_dq, ATOD_LIMIT, DqFlags)

0 comments on commit 6bf7295

Please sign in to comment.