Skip to content
Merged
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
46 changes: 36 additions & 10 deletions ccdproc/tests/test_cosmicray.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,17 +254,36 @@ def no_cosmics(data, **_kwargs):
)


@pytest.mark.backend_xfail(
# Only the gain_apply=True cases still fail on array-api-strict; the
# gain_apply=False cases pass on every backend.
_GAIN_APPLY_STRICT_XFAIL = pytest.mark.backend_xfail(
"array-api-strict",
reason="cosmicray_lacosmic's gain and mask paths do not support "
"array-api-strict's strict scalar and dtype rules",
)


@pytest.mark.parametrize(
("uncertainty_type", "gain_power", "gain_apply"),
[
(StdDevUncertainty, 1, True),
(VarianceUncertainty, 2, True),
(InverseVariance, -2, True),
pytest.param(
StdDevUncertainty,
1,
True,
marks=_GAIN_APPLY_STRICT_XFAIL,
),
pytest.param(
VarianceUncertainty,
2,
True,
marks=_GAIN_APPLY_STRICT_XFAIL,
),
pytest.param(
InverseVariance,
-2,
True,
marks=_GAIN_APPLY_STRICT_XFAIL,
),
(StdDevUncertainty, 1, False),
(VarianceUncertainty, 2, False),
(InverseVariance, -2, False),
Expand Down Expand Up @@ -484,15 +503,22 @@ def _masked_column_image(seed=1, sigma=1.0):
return np_data, np_mask, crays


@pytest.mark.backend_xfail(
"array-api-strict",
reason="cosmicray_median uses scipy.ndimage.median_filter, which "
"requires numpy and fails on a non-default device",
)
# (The CCDData branch takes its error image from the uncertainty.)
@pytest.mark.parametrize(
"kind,error_image",
[("masked_array", 1.0), ("masked_array", None), ("ccddata", None)],
[
("masked_array", 1.0),
("masked_array", None),
pytest.param(
"ccddata",
None,
marks=pytest.mark.backend_xfail(
"array-api-strict",
reason="cosmicray_median uses scipy.ndimage.median_filter, which "
"requires numpy and fails on a non-default device",
),
),
],
)
def test_cosmicray_median_masked_column(kind, error_image):
# Masked pixels are never flagged, not even by the gbox growth step,
Expand Down
Loading