feat(ceus): 任务书 02 第一阶段——底层和分割之前的算法;修复 C14
任务书 01 遗留修复(C14): - library 新增 check_key_image(path):关键图能逐像素保真重编码时返回 None,否则返回原因; _write_clean_png 的判断移过去,自身保留断言性质报错(走到这里说明 build 漏了检查)。 - build 写库前对每例调用,返回原因的整例跳过,记 C14「关键图能原样重编码」,涉及值写原因。 - 原来三条「关键图格式不对整次构建停下」的测试改为整例跳过,另加非 PNG、library 漏检报错两条。 - 结构.md 第八部分、guides/装配两个库.md 相应几行改掉。 第一阶段(src/cadx/ceus/): - 照搬旧 geometry、video_decoder、research_config、split_screen、green_prompt、prompt_frames、 mapping,去掉产品层,注释改中文。 - 配置类去掉全部默认值,strict、extra=forbid、frozen;新建 config/ceus.yaml(paths、ceus 两段), 数值照抄旧 yaml,逐项注明出处。删去 source_view/target_view、effective_region、mapping 锚点; 旧代码写死的分屏抽帧数 25 和搜索区间 (0.35, 0.65) 改成配置,值不变。 - 视频解码改为按路径用 cv2 逐帧读。 - 坐标换算改为两个视图矩形左上角之差,不再用按某种宽度写死的锚点。 - 造影画面在哪一半:两半各自选提示帧,恰好一半有才定,否则抛 ContrastSideError(CeusCaseError 子类,带步号和原因,供第三阶段记 failed.csv)。 - 旧测试照搬(改 import 与配置读取方式),因上述改动不再成立的删去;新增两处修改的手算测试。 - import-linter 加「ceus 不引用其他 cadx 模块」。依赖加 numpy、opencv-python-headless。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,8 @@ version = "0.0.0"
|
||||
description = "胰腺囊性肿瘤多模态会诊诊断的研究代码"
|
||||
requires-python = ">=3.12"
|
||||
dependencies = [
|
||||
"numpy>=2.5.4",
|
||||
"opencv-python-headless>=5.0.0.93",
|
||||
"openpyxl>=3.1.5",
|
||||
"pillow>=12.3.0",
|
||||
"pydantic>=2.14.1",
|
||||
@@ -89,6 +91,16 @@ forbidden_modules = [
|
||||
"cadx.consult", "cadx.evaluate", "cadx.verdicts",
|
||||
]
|
||||
|
||||
[[tool.importlinter.contracts]]
|
||||
# 结构.md 第三部分依赖表:ceus 是纯计算,不引用其他 cadx 模块(含 segment,分割结果由脚本传进来)。
|
||||
name = "ceus 不引用其他 cadx 模块"
|
||||
type = "forbidden"
|
||||
source_modules = ["cadx.ceus"]
|
||||
forbidden_modules = [
|
||||
"cadx.delivery", "cadx.library", "cadx.answers", "cadx.runs", "cadx.build",
|
||||
"cadx.segment", "cadx.llm", "cadx.ledger", "cadx.consult", "cadx.evaluate", "cadx.verdicts",
|
||||
]
|
||||
|
||||
[[tool.importlinter.contracts]]
|
||||
# 结构.md 第三部分依赖表:build 只依赖 delivery、library、answers、runs(ceus 落地时加入)。
|
||||
name = "build 只引用 delivery、library、answers、runs"
|
||||
|
||||
Reference in New Issue
Block a user