feat(autocal): 完善标定记录检查流程与UV轮廓显示
补齐传感器身份、稳定段检查引导和未完成试验诊断,并保存采集轮廓快照。通过60项相关测试、已有记录读取及代码和文档检查。
This commit is contained in:
@@ -111,6 +111,27 @@ def test_uv_coordinates_are_centered_and_masked(flat):
|
||||
site_at(flat, -3, 0)
|
||||
|
||||
|
||||
def test_trial_persists_colour_region_outline_and_rejects_mismatched_mapping(trial_setup, flat):
|
||||
from orisys_autocal.sensor.uv_outline import outline_snapshot
|
||||
|
||||
flat.textured = True
|
||||
flat.image_rgb[:] = 255
|
||||
flat.image_rgb[2:4, 2:5] = [20, 80, 200]
|
||||
snapshot = outline_snapshot(flat)
|
||||
worker = Worker()
|
||||
trial = ManualTrial(worker)
|
||||
with pytest.raises(ValueError, match="outline"):
|
||||
trial.start(**trial_setup, uv_outline={**snapshot, "mapping_sha256": "wrong"})
|
||||
directory = trial.start(**trial_setup, uv_outline=snapshot)
|
||||
worker.emit()
|
||||
trial.finish(aborted=True, reason="test ended")
|
||||
trial.recorder.stop(wait=True)
|
||||
trial.poll()
|
||||
manifest = json.loads((directory.parent.parent / "session.json").read_text(encoding="utf-8"))
|
||||
assert manifest["uv_outline"] == snapshot and snapshot["patch"]
|
||||
trial.finish_session()
|
||||
|
||||
|
||||
def test_manual_trial_records_video_stamps_and_load_unload_events(trial_setup, clock):
|
||||
worker = Worker()
|
||||
trial = ManualTrial(worker)
|
||||
@@ -277,6 +298,9 @@ def test_gui_hold_controls_and_session_lifecycle(make_window, trial_setup, clock
|
||||
panel.levels.setText("5, 10")
|
||||
panel.start_button.click()
|
||||
assert panel.trial.status == "recording"
|
||||
manifest = json.loads((panel.trial.session.directory / "session.json").read_text(encoding="utf-8"))
|
||||
assert manifest["uv_outline"]["surface"]
|
||||
assert manifest["uv_outline"]["mapping_sha256"] == manifest["uv_definition"]["mapping_sha256"]
|
||||
worker.emit()
|
||||
assert panel.views.currentWidget() is panel.source_panel
|
||||
assert not panel.sensor_sn.isEnabled()
|
||||
|
||||
Reference in New Issue
Block a user