feat(build): 任务书 02 第四阶段代码——build 装入 CEUS 结果
- build.yaml 加必填字段 ceus_run(CEUS 运行目录或 null)。 - 不为 null 时按视频号找结果;在 failed.csv 里或缺结果目录的整例跳过,记 C15;关键帧图沿用 C14 检查。 - 资料库超声一路加 keyframes/<槽位>.png(去附加数据重编码)和 tic.json(白名单逐字段构造: 四条曲线的拟合成败与 R²、灌注指标、紫圈曲线是否可用、7 个槽位的定位与视频时间或原因)。 - manifest 的 CEUS 来源写运行号;泄露扫描已覆盖 tic.json,补命中测试。 - 真实构建等配准改完、全量 CEUS 运行之后再做。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -217,7 +217,7 @@ def _png_chunks(data: bytes) -> list[str]:
|
||||
def _build_with_key_image(tmp_path: Path, image: Image.Image) -> None:
|
||||
root = make_delivery(2).write(tmp_path / "delivery")
|
||||
image.save(root / "CEUS_agent" / "002" / "U002_key.png", format="PNG")
|
||||
run_build(write_config(tmp_path, root, 1, None), REPO_ROOT, NOW)
|
||||
run_build(write_config(tmp_path, root, 1, None, None), REPO_ROOT, NOW)
|
||||
|
||||
|
||||
def _assert_key_image_skipped(tmp_path: Path, reason: str) -> None:
|
||||
@@ -254,7 +254,7 @@ def test_key_image_palette_source_skips_case(tmp_path: Path) -> None:
|
||||
def test_key_image_not_png_skips_case(tmp_path: Path) -> None:
|
||||
root = make_delivery(2).write(tmp_path / "delivery")
|
||||
Image.new("RGB", (4, 4)).save(root / "CEUS_agent" / "002" / "U002_key.png", format="JPEG")
|
||||
run_build(write_config(tmp_path, root, 1, None), REPO_ROOT, NOW)
|
||||
run_build(write_config(tmp_path, root, 1, None, None), REPO_ROOT, NOW)
|
||||
_assert_key_image_skipped(tmp_path, "不是 PNG")
|
||||
|
||||
|
||||
@@ -270,6 +270,7 @@ def test_write_library_rejects_unchecked_key_image(tmp_path: Path) -> None:
|
||||
ultrasound_report="",
|
||||
key_image_source=source,
|
||||
mr_report="",
|
||||
ceus=None,
|
||||
)
|
||||
with pytest.raises(ValueError, match="check_key_image"):
|
||||
write_library(target, "b", "c", True, {}, False, (), None, [case])
|
||||
|
||||
Reference in New Issue
Block a user