Download tests/test_io.py from SmaugC137/splasher: direct link, hf CLI and curl.
- Browser
- Download file 1.27 kB
-
https://huggingface.co/spaces/SmaugC137/splasher/resolve/main/tests/test_io.py
- Command line
-
hf download hf://spaces/SmaugC137/splasher/tests/test_io.py
-
curl -L -o test_io.py https://huggingface.co/spaces/SmaugC137/splasher/resolve/main/tests/test_io.py
1.27 kB
| """Headless session roundtrip test (save -> load).""" | |
| import numpy as np | |
| from splasher import Grid | |
| from splasher.core.io import load_session, save_session | |
| from splasher.core.labels import LabelSet | |
| from splasher.core.target import GridTarget, PointTarget | |
| def test_session_roundtrip(tmp_path): | |
| grid = Grid(0.0, 8.0, 0.0, 6.0, 1.0) | |
| ls = LabelSet.default() | |
| gt = GridTarget(grid, ignore_id=0) | |
| gt.apply(3, (1.0, 1.0, 4.0, 4.0), class_id=2) | |
| pt = PointTarget(ignore_id=0) | |
| xy = np.array([[0.5, 0.5], [2.0, 2.0]]) | |
| pt.apply(3, (1.0, 1.0, 3.0, 3.0), class_id=1, xy=xy) | |
| out = save_session(tmp_path, grid=grid, labelset=ls, grid_target=gt, point_target=pt) | |
| assert (out / "session.json").exists() | |
| assert (out / "grid" / "frame_00003.npy").exists() | |
| assert (out / "points" / "frame_00003.npy").exists() | |
| data = load_session(out) | |
| assert data["grid"].shape == grid.shape | |
| assert data["labelset"].name_of(2) == ls.name_of(2) | |
| np.testing.assert_array_equal(data["grid_labels"][3], gt.raster(3)) | |
| np.testing.assert_array_equal(data["point_labels"][3], pt.labels(3)) | |
| # re-injection into fresh targets | |
| gt2 = GridTarget(grid) | |
| gt2.load_rasters(data["grid_labels"]) | |
| assert (gt2.raster(3) == gt.raster(3)).all() | |