36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import numpy as np
|
|
import pytest
|
|
from tests.node_tests._shared import make_field
|
|
|
|
|
|
def test_median_background_subtracted():
|
|
from backend.nodes.median_background import MedianBackground
|
|
|
|
node = MedianBackground()
|
|
# Tilted surface with features
|
|
yy, xx = np.mgrid[:64, :64]
|
|
data = 0.01 * xx + 0.02 * yy # tilt
|
|
field = make_field(data=data)
|
|
result, = node.process(field, 20, "subtracted")
|
|
assert result.data.shape == (64, 64)
|
|
# Background-subtracted should have near-zero mean
|
|
assert abs(result.data.mean()) < abs(data.mean())
|
|
|
|
|
|
def test_median_background_output():
|
|
from backend.nodes.median_background import MedianBackground
|
|
|
|
node = MedianBackground()
|
|
field = make_field(shape=(32, 32))
|
|
result, = node.process(field, 10, "background")
|
|
assert result.data.shape == (32, 32)
|
|
|
|
|
|
def test_median_background_flat_field():
|
|
from backend.nodes.median_background import MedianBackground
|
|
|
|
node = MedianBackground()
|
|
field = make_field(data=np.ones((32, 32)) * 3.0)
|
|
result, = node.process(field, 10, "subtracted")
|
|
assert np.allclose(result.data, 0.0, atol=1e-10)
|