low pri features
This commit is contained in:
41
tests/node_tests/displacement_field.py
Normal file
41
tests/node_tests/displacement_field.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import numpy as np
|
||||
import pytest
|
||||
from tests.node_tests._shared import make_field
|
||||
|
||||
|
||||
def test_output_shape():
|
||||
from backend.nodes.displacement_field import DisplacementField
|
||||
|
||||
node = DisplacementField()
|
||||
field = make_field(shape=(48, 64))
|
||||
result, = node.process(field, "gaussian_1d", sigma=5.0, tau=20.0, density=0.02, seed=42)
|
||||
assert result.data.shape == (48, 64)
|
||||
|
||||
|
||||
def test_zero_sigma_unchanged():
|
||||
from backend.nodes.displacement_field import DisplacementField
|
||||
|
||||
node = DisplacementField()
|
||||
field = make_field(shape=(32, 32))
|
||||
result, = node.process(field, "gaussian_1d", sigma=0.1, tau=20.0, density=0.02, seed=42)
|
||||
np.testing.assert_allclose(result.data, field.data, atol=0.5)
|
||||
|
||||
|
||||
def test_gaussian_2d_modifies():
|
||||
from backend.nodes.displacement_field import DisplacementField
|
||||
|
||||
node = DisplacementField()
|
||||
field = make_field(shape=(32, 32))
|
||||
result, = node.process(field, "gaussian_2d", sigma=10.0, tau=20.0, density=0.02, seed=42)
|
||||
# With sigma=10 the output should differ from the input
|
||||
assert not np.allclose(result.data, field.data, atol=1e-3)
|
||||
|
||||
|
||||
def test_all_methods_finite():
|
||||
from backend.nodes.displacement_field import DisplacementField
|
||||
|
||||
node = DisplacementField()
|
||||
field = make_field(shape=(32, 32))
|
||||
for method in ("gaussian_1d", "gaussian_2d", "tear"):
|
||||
result, = node.process(field, method, sigma=5.0, tau=20.0, density=0.02, seed=42)
|
||||
assert np.all(np.isfinite(result.data)), f"{method} produced non-finite values"
|
||||
Reference in New Issue
Block a user