Add new functionality for image rectification and depth metadata handling

- Implemented a preview tool for rectifying images with interactive aspect controls in `preview.py`.
- Added tests for depth metadata loading to ensure consistent schema usage in `test_depth_metadata.py`.
- Developed comprehensive tests for cutout calibration processes in `test_cutout_calibration.py`, including stability checks and depth calibration.
- Created tests for frame compositing operations in `test_frame_compositing.py`, ensuring correct handling of depth and transparency.
- Introduced material slot inheritance functionality in `material_slots.py` to manage geometry material assignments.
- Built shared shader nodes for material processing in `shader.py`, including roughness and bump mapping setups.
This commit is contained in:
2026-09-12 19:20:06 +08:00
parent e8268504c2
commit 938d95db0f
175 changed files with 3812 additions and 6864 deletions

View File

@@ -23,14 +23,3 @@ def test_probability_alpha_keeps_transparency_and_source_dimensions(size):
assert run.call_args.kwargs["release_memory"] is False
feed = run.call_args.args[2]["image"]
np.testing.assert_allclose(feed[0, :, 0, 0], (np.array([64, 128, 192]) / 255 - [.485, .456, .406]) / [.229, .224, .225], atol=1e-6)
@pytest.mark.parametrize("value", [np.nan, np.inf, -0.1, 1.1])
def test_invalid_alpha_is_rejected(value):
session = SimpleNamespace(
get_inputs=lambda: [SimpleNamespace(name="image", shape=[1, 3, 1024, 1024])],
get_outputs=lambda: [SimpleNamespace(name="alpha")],
)
with patch.object(onnx_birefnet, "run_session", return_value=[np.full((1, 1, 1024, 1024), value)]):
with pytest.raises(RuntimeError, match="invalid alpha"):
onnx_birefnet.infer_alpha(session, Image.new("RGB", (2, 3)))