Some checks failed
Build / Build (Linux) (push) Has been cancelled
Build / Build (macOS) (push) Has been cancelled
Build / Build (Windows) (push) Has been cancelled
Deploy / test (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Tests / test (push) Has been cancelled
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
import numpy as np
|
|
from tests.node_tests._shared import make_field
|
|
|
|
|
|
def test_sphere_revolve_basic():
|
|
from backend.nodes.sphere_revolve import SphereRevolve
|
|
|
|
node = SphereRevolve()
|
|
y, x = np.mgrid[:64, :64] / 64.0
|
|
data = 10.0 * (x ** 2 + y ** 2)
|
|
field = make_field(data=data)
|
|
|
|
leveled, bg = node.process(field, radius=30)
|
|
assert leveled.data.shape == data.shape
|
|
assert bg.data.shape == data.shape
|
|
assert np.allclose(leveled.data + bg.data, data)
|
|
|
|
|
|
def test_sphere_revolve_flat():
|
|
from backend.nodes.sphere_revolve import SphereRevolve
|
|
|
|
node = SphereRevolve()
|
|
data = np.ones((32, 32)) * 3.0
|
|
field = make_field(data=data)
|
|
|
|
leveled, bg = node.process(field, radius=20)
|
|
assert leveled.data.std() < 1e-10
|
|
assert np.allclose(leveled.data + bg.data, data)
|
|
|
|
|
|
def test_sphere_revolve_outputs_two_fields():
|
|
from backend.nodes.sphere_revolve import SphereRevolve
|
|
|
|
node = SphereRevolve()
|
|
data = np.random.default_rng(7).standard_normal((32, 32))
|
|
field = make_field(data=data)
|
|
|
|
result = node.process(field, radius=15)
|
|
assert len(result) == 2
|
|
leveled, bg = result
|
|
assert np.allclose(leveled.data + bg.data, data)
|