feat(ceus): 任务书 02 第三阶段——scripts/ceus_quant.py
- delivery 的 CaseRecord 加视频路径和推注时间(C04、C08 已检查过)。 - scripts/ceus_quant.py:读 ceus.yaml,跑检查全部通过的病例;runs/ceus/<运行号>/ 先写 .partial 再改名;第 1–6 步的单例失败记 failed.csv 后接着跑;终端只打印计数。 - 分割缓存 work/segment_cache/<键>/:键含视频 SHA-256、第 1–3 步参数、权重 SHA-256、MedSAM2 提交号。 - 视频解码错误改为第 1 步的单例失败(VideoDecodeError),不再停掉整次运行(审阅意见)。 - 暗区 kmeans 用 cv2 进程级随机数,结果受病例顺序影响;ceus 配置加必填 random_seed,每例第 4 步前设种子。 - segment 导出 cuda_peak_memory_bytes,供运行快照记录显存峰值。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -418,3 +418,19 @@ def test_skip_record_names_file_and_column(tmp_path: Path) -> None:
|
||||
assert record.files == (ULTRASOUND_PATH,)
|
||||
assert record.columns == ("推注开始时间s",)
|
||||
assert record.value_json == '{"推注开始时间s": 2.5}'
|
||||
|
||||
|
||||
def test_case_record_carries_video_path_and_bolus_time(tmp_path: Path) -> None:
|
||||
delivery = make_delivery(3)
|
||||
delivery.case(2).dir_files = ["U002_key.png", "U002.mp4", "U002_report.xlsx"]
|
||||
delivery.case(3).ultrasound["推注开始时间s"] = 0 # 0 是合法取值:视频第 0 秒正好推注
|
||||
root = delivery.write(tmp_path / "delivery")
|
||||
result = read_delivery(root, None)
|
||||
folder = root / "CEUS_agent"
|
||||
assert [c.video for c in result.cases] == [
|
||||
folder / "001" / "U001_roi2.mp4",
|
||||
folder / "002" / "U002.mp4",
|
||||
folder / "003" / "U003_roi2.mp4",
|
||||
]
|
||||
# 假交付包的推注时间是 5,第 3 例改成 0。
|
||||
assert [c.bolus_start_s for c in result.cases] == [5, 5, 0]
|
||||
|
||||
Reference in New Issue
Block a user