From 14d6f8e1532bc8c49a13c18795546633732d672b Mon Sep 17 00:00:00 2001 From: iomgaa Date: Sat, 17 Oct 2026 05:09:34 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BB=BB=E5=8A=A1=E4=B9=A6=2003=20?= =?UTF-8?q?=E5=8C=BB=E7=94=9F=E6=A0=B8=E5=AF=B9=E5=8C=85=EF=BC=9BTIC=20?= =?UTF-8?q?=E6=8B=9F=E5=90=88=E7=BA=A6=E6=9D=9F=E6=96=87=E7=8C=AE=E6=A0=B8?= =?UTF-8?q?=E6=9F=A5=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 来源:负责人 2026-10-17 要求把 29 例处理结果整理成医生能看的格式并做成长期入口(表格 CSV、文字 PDF、视频不压缩、不向医生提问、问题清单只写现象);文献核查为负责人要求的质量门依据核对,结论待医生看过后再定。 Co-Authored-By: Claude Opus 5.5 --- .../A-cystic.md | 101 +++++++++ .../B-pancreas-solid.md | 139 ++++++++++++ .../C-guidelines.md | 198 ++++++++++++++++++ .../D-old-sources.md | 64 ++++++ research-wiki/任务书/03-医生核对包.md | 154 ++++++++++++++ 5 files changed, 656 insertions(+) create mode 100644 research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/A-cystic.md create mode 100644 research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/B-pancreas-solid.md create mode 100644 research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/C-guidelines.md create mode 100644 research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/D-old-sources.md create mode 100644 research-wiki/任务书/03-医生核对包.md diff --git a/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/A-cystic.md b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/A-cystic.md new file mode 100644 index 0000000..a08e970 --- /dev/null +++ b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/A-cystic.md @@ -0,0 +1,101 @@ +# A:胰腺囊性病变 CEUS / CE-EUS 的 TIC 定量文献核查 + +总体结论:胰腺囊性病变里真正做了 TIC 定量、而且我读到全文方法部分的原始研究只有 4 篇(Vasile 2012、Yamamoto 2016、Saito 2017、Tang 2026)。这 4 篇都没有用 Lognormal 或其他参数模型拟合,没有报告 R²、NRMSE 之类的拟合优度,也没有给参数设边界。约束 2、3、4(门槛部分)都**未找到依据**。约束 4(怎么处理不合格病例)、5、6 有零散依据:分析不了的病例一律直接剔除;ROI 多放在实性成分、壁结节或囊壁上;有一篇剔除了「首帧已有造影剂」的病例。 + +## 1. 文献清单 + +### 1a. 读了全文方法部分,且确实做了 TIC 定量(构成依据) + +| # | 文件 / 全文来源 | 标题 | 年份 / 期刊 | DOI / URL | 人群与例数 | 设备、软件、模型 | 全文 | +|---|---|---|---|---|---|---|---| +| V | `reference-pdf/2012-vasile-ceus-tic-cystic-pancreatic-masses.pdf` | Added value of intravenous contrast-enhanced ultrasound for characterization of cystic pancreatic masses: a prospective study on 37 patients | 2012, Medical Ultrasonography 14(2):108-114 | PMID 22675710;https://medultrason.ro/medultrason/index.php/medultrason/article/view/296 | 罗马尼亚 Cluj-Napoca。经腹 CEUS,SonoVue 2.4 ml。纳入 41 例,剔除 4 例,分析 37 例:假性囊肿 12、SCN 10、MCN 5、囊腺癌 6、SPN 2、IPMN 2 | GE Logiq 7;在 Origin 8 里画 TIC;直接从曲线读参数(PI、TTP、GRAD、TTG、AUC),未拟合模型;单位为 dB、dB×s | 是(PDF) | +| Y | `reference-pdf/2016-yamamoto-ch-eus-tic-ipmn.pdf`(冈山大学机构库里的作者稿,即学位论文全文) | Contrast-enhanced harmonic endoscopic ultrasonography with time-intensity curve analysis for intraductal papillary mucinous neoplasms of the pancreas | 2016, Endoscopy 48:26-34 | 10.1055/s-0034-1393563 | 日本冈山。CH-EUS,Sonazoid。30 例手术切除的有壁结节 IPMN(LGD/IGD 14 例,HGD/浸润癌 16 例) | Aloka ProSound α-10 机载软件;帧率 10–11 Hz;从曲线读参数,未拟合模型;强度用 “Level” 单位,乘 0.173 换算为 dB | 是(作者稿 PDF,26 页) | +| S | Europe PMC 全文 XML,PMC5494864(出版社 PDF 被反爬拦下,未入 `reference-pdf/`) | Differential diagnosis between intraductal papillary mucinous neoplasm with an associated invasive carcinoma and pancreatic ductal adenocarcinoma on ultrasonography: the utility of echo intensity and contrast enhancement | 2017, Ultrasonography 36(3):260- | 10.14366/usg.16039 | 日本札幌。经腹 CEUS,Sonazoid。IPMN 合并浸润癌对比 PDAC,增强定量最终纳入 41 例 | Toshiba Aplio;Image Lab;只取 ΔTI(dB)和 slope(dB/s),未拟合模型 | 是(XML 全文) | +| T | Europe PMC 全文 XML,PMC12896552(MDPI PDF 被拦下) | A Preliminary Study on Contrast Enhanced Ultrasound Characteristics of Solid Pseudopapillary Neoplasms and Pancreatoblastoma in Children | 2026, Diagnostics 16(3):474 | 10.3390/diagnostics16030474 | 中国重庆儿童医院。经腹 CEUS,SonoVue,左右分屏。66 例中纳入 22 例(SPN 19、胰母细胞瘤 3),均为儿童 | Siemens Sequoia 机载 SonoLiver(TomTec Image-Arena 4.3);14 个相对参数;文中未写拟合模型 | 是(XML 全文) | + +### 1b. 读了全文,但只做定性 CEUS、没有 TIC(作为「这批文献不做定量」的反面证据) + +| 文件 | 标题 / 年份 / 期刊 | DOI | 说明 | +|---|---|---|---| +| `2015-fan-ceus-cystic-pancreatic-classification.pdf` | Application of CEUS in Cystic Pancreatic Lesions Using a Simplified Classification Diagnostic Criterion, 2015, BioMed Res Int | 10.1155/2015/974621 | 64 例,按形态分 I–IV 型,无 TIC。讨论部分引用 Vasile 2012 作为定量研究的先例 | +| `2019-wang-ceus-classification-pancreatic-cystic.pdf` | The Value of CEUS Classification in Diagnosis of Pancreatic Cystic Lesions, 2019, BioMed Res Int | 10.1155/2019/5698140 | 84 例,无 TIC | +| `2020-sun-ceus-ct-mri-pancreatic-cystic.pdf` | Comparative Diagnostic Evaluation with CEUS, CT and MRI in PCNs, 2020, Cancer Manag Res | — | 90 例,无 TIC | +| `2024-yuan-ceus-pcn-differential.pdf` | The differential diagnosis of PCNs with conventional US and CEUS, 2024, QIMS 14(7):4304 | 10.21037/qims-24-154 | 100 例,四类 PCN,只做定性特征的 logistic 回归,无 TIC | +| PMC5338980(XML) | Sun Y et al. Discrimination of serous cystadenoma from mucinous cystadenoma ... prospective study in 61 patients, 2017, OncoTargets Ther | 10.2147/OTT.S125497 | 定性特征,无 TIC | +| PMC9497750(XML) | Yamashita Y et al. Usefulness of CH-EUS for Diagnosis of Malignancy in IPMN, 2022, Diagnostics | 10.3390/diagnostics12092141 | 定性,只在讨论里引用 Yamamoto 2016 | +| WJG 2015;21(20):6252(WebFetch 读的全文页,内容经小模型转述,可信度低于自己读) | Harima H et al. Differential diagnosis of benign and malignant BD-IPMN using CE-EUS | — | 只看有无血流,无 TIC | + +### 1c. 只读到摘要(不作为依据) + +- Miyamoto K et al. *Efficacy of diagnosing IPMN with mural nodules by CE-EUS using TIC analysis with a new support program: a multicenter retrospective study*. Pancreatology 2025. DOI 10.1016/j.pan.2025.09.035。32 例,IPMN 壁结节的 TIC。付费墙。 +- Itoh T et al. *Usefulness of contrast-enhanced transabdominal ultrasonography in the diagnosis of IPMT*. Am J Gastroenterol 2005;100:144-152。21 例,Levovist 造影剂,用 HDI Lab 测强度变化。超出 15 年范围,未读全文。 +- Clin Hemorheol Microcirc ch231932(SPN 对比 pNET 的 CEUS)。页面抓不下来,连是否做了 TIC 都无法确认。 +- 排除:Omoto 2017 近畿大学学位论文(CH-EUS TIC)研究的是实性胰腺肿瘤,方法里写明 “Pancreatic cystic tumors with tumor solids content less than 25% were excluded”,不属于本组范围。 + +## 2. 逐条约束 + +### 约束 1:用 Lognormal 拟合胰腺病灶 TIC 是否有先例;用显示域灰度还是线性化数据 + +**Lognormal 拟合:未找到依据。** 4 篇做了 TIC 的研究都直接从原始曲线读参数,没有拟合任何参数模型: + +- V(`2012-vasile...pdf`,第 109 页,方法):"The quantitative analysis consisted of automatic plotting of time / intensity curves (TIC) in selected 5 mm areas situated in PCM, in the lesion wall and a proximity artery. The curves were drawn using the Origin 8 software." 第 109 页 Table I 给的参数定义是 "Peak Intensity (PI) Max(I(t))"、"Time to Peak (TTP) tm for which I(t)=Max"、"Area Under the Curve (AUC) ∫I(t)dt",都直接在原始曲线上计算。 +- Y(`2016-yamamoto...pdf`,作者稿第 7 页,"Time–intensity curve analysis"):"The echo intensity in the ROI was quantified, and the time–intensity curve was calculated using the software program built into the ultrasonography imaging system." 图 2 图注:"Ipeak − Ibase, echo intensity change from baseline to peak ... (Ipeak − I120)/Ipeak, echo intensity reduction rate"。 +- S(PMC5494864,Methods):"The chronological changes in the signal strength in the ROI set at the center of the solid part of the tumor were measured using Image Lab ver. 3.01 (Toshiba Medical Systems Corp., Tokyo, Japan)... The parameters of the increase in echo intensity (ΔTI) and echo intensity per unit of time (slope) were used to evaluate contrast enhancement." +- T(PMC12896552,2.5 Quantitative Analysis):"Regions of interest (ROIs) were manually delineated on dynamic images using Sonoliver software to obtain time–intensity curves (TICs) and quantitative parameters." 全文没有提到拟合模型的名字。 + +**显示域还是线性化:** 没有一篇写明是否做过线性化。只能看到强度单位用的是 dB,也就是对数域: + +- V,第 112 页 Table III 表头:"nPI (dB) ... nAUC (dBxs)"。 +- Y,作者稿图 3 图注:"(“Level” value × 0.173 = value in decibels [dB].)" +- S,Results:"IPMN-IC exhibited a significantly greater ΔTI than PDAC (IPMN-IC, 14.9±4.4 dB; PDAC, 8.8±6.0 dB; P=0.012)." +- T:未说明强度的域。 + +### 约束 2:参数范围与约束(峰高、峰时刻 ±5 s、σ 0.08–2.5、t0、基线),参数贴边界判失败 + +**未找到依据。** 4 篇都没有拟合模型,所以也就没有参数边界,没有「贴边界即失败」的规则。 + +### 约束 3:模型峰不能落在拟合区间头尾 + +**未找到依据。** 唯一沾边的是 Y 规定了固定的观察窗:作者稿第 6–7 页 "The nodule was then observed for 120 s continuously",参数之一定义为 "echo intensity reduction rate from peak to 120 s after injection"。这只是定义了取值窗口,不是对峰位置的检查。 + +### 约束 4:拟合优度门槛(R²、NRMSE),不合格病例怎么处理 + +**R²、NRMSE 门槛:未找到依据。** 4 篇都没有报告拟合优度。 + +**不合格病例怎么处理:4 篇都在纳入阶段直接剔除,没有人工复核后再纳入的做法。** +- V,第 109 页:"The exclusion criteria were: allergies to the i.v. contrast agent, inadequate ultrasound quality, lack of precision of quantitative measurements due to out-of-plane movements... four patients were finally excluded from the study (2 with inadequate ultrasound quality and 2 with lack of precision of quantitative measurements due to out-of-plane movements)." +- V,第 113 页(局限性):"By choosing smaller samples, the number of subjects rejected from our study may have increased due to out-of-plane movements, increasing the errors of the method we proposed." +- S,Methods:"For the quantitative analysis of contrast enhancement, three cases in which the contrast agent had already been injected in the initial frame or in which quantitative analysis was difficult due to poor respiratory control were excluded. Ultimately, 41 cases were included in the quantitative evaluation of contrast enhancement." +- T,2.1 排除标准第 (5) 条:"Insufficient image quality after software correction to complete TIC analysis and quantitative parameter assessment." +- Y,作者稿第 13 页(局限性):"it was sometimes difficult to obtain target images continuously with EUS during this procedure, which in turn made it difficult to measure the time–intensity curve." 纳入条件本身就要求 "IPMNs with mural nodules for which CH-EUS and time–intensity curve analysis had been performed"(作者稿 "Patients and study design" 节)。 + +### 约束 5:两个 ROI(整体 vs 只取增强部分)都要拟合成功;论文里 ROI 怎么画 + +**「两个 ROI 都成功才算」:未找到依据。** 下面是各篇 ROI 的实际画法: + +- 只画实性成分或壁结节、避开囊液(与我们的 roi_perf 思路一致): + - T,2.5:"Place the ROI within the most intensely enhanced solid region of the lesion, avoiding areas with grossly visible cystic changes, necrosis, and calcifications. Place an ROI of identical size within normal tissue at the same depth to minimize variability." + - S,Methods:"The ROI for IPMN-IC was placed in the center of the mural nodule in a way that enabled the exclusion of cystic lesions and branched pancreatic ducts from the ROI." + - Y,作者稿第 7 页:"Two circular regions of interest (ROI) were placed, on the mural nodule and normal pancreatic parenchyma, respectively. In most cases, we put the ROI on the base of the nodule. If there were multiple nodules in IPMNs, we performed time–intensity curve analysis for the largest nodule." +- 囊壁、囊腔各放一个固定大小的小 ROI,再用比值归一化(与「整体 + 增强部分」两 ROI 并用最接近,但不是同一回事): + - V,第 109 页:"in selected 5 mm areas situated in PCM, in the lesion wall and a proximity artery... Normalized Param = (Param. wall – Param. cavity)x(Param. artery/Param. wall)." + - V,第 113 页:"we were challenged for the quantitative analysis of PCM to find a single, common and relevant denominator which has been considered the contrast-enhancement within the cystic wall... the need of a standardization has imposed the use of a constant size of samples, which we have arbitrarily chosen to be 5 mm, size which may not be appropriate in all individual situations (e.g. thin cystic walls...)" +- 描整个病灶轮廓:只出现在 S 的**非增强**回声强度评估里("For the quantitative analysis, the entire shape of the tumor was traced as the region of interest (ROI)"),S 的增强 TIC 用的是放在实性部分中央的 ROI。在增强 TIC 上用整个病灶做 ROI 的做法:**未找到**。 +- 与约束 5 相关的反面信号:Y 第 13 页指出,单个 ROI 不一定代表整个病灶:"nodules may have components of both LGD/IGD and HGD/invasive carcinoma... it is difficult to correctly identify the area of HGD/invasive carcinoma when we decide the location of the ROI"。同页还提到深度效应:"the echo intensity is dependent on depth, and to take this into account, both the ROI of the tumor and the pancreatic parenchyma must be as near to the same depth as possible." +- 呼吸运动:Y 第 7 页 "The position of the ROI was manually corrected for the patient’s respiratory movements.";T 2.5 "Respiratory artifact effects were minimized using compensation techniques." + +### 约束 6:洗入期被截断(开始录制晚于造影剂到达)论文怎么处理 + +- **直接相关的只有一处,做法是剔除:** S,Methods:"three cases in which the contrast agent had already been injected in the initial frame or in which quantitative analysis was difficult due to poor respiratory control were excluded." +- S 对增强起点的定义:"the point in time when the contrast agent flowed into the abdominal aorta or the superior mesenteric artery in the vicinity of the tumor was set as the start of contrast enhancement." +- 其他研究都在注射时就开始录,所以不存在截断:Y 第 7 页 "The digital CH-EUS data generated for 120 s continuously after the injection of contrast agents were stored";T 2.3 "Timing commenced immediately after injection... CEUS data were recorded for 3–6 min and digitally stored on hard drives.";Fan 2015(`2015-fan...pdf` 第 2 页)"Real-time observation of the lesion should be no less than 120 s. Dynamic images were preserved for later analysis." +- 允许 t0 早于视频开头、再外推补回截断部分的做法:**未找到依据**。 + +## 3. 我没把握的地方 + +- **样本量很小,可能有漏检。** 我主要用 Europe PMC 的检索接口和几轮网页检索,共找到 4 篇有全文的胰腺囊性 TIC 原始研究。中文期刊(中华超声影像学杂志等)可能有用 SonoLiver 做囊性病变 TIC 的研究,但检索只能拿到摘要或什么都拿不到,没有覆盖到。 +- **Yamamoto 2016 读的是机构库作者稿,不是出版社正式版**,页码是作者稿 PDF 的页码。 +- **S、T 两篇读的是 Europe PMC 的 XML 全文**,出版社 PDF 被反爬拦下,所以没有放进 `reference-pdf/`,引文只能标到章节,标不到页码。Harima 2015 是 WebFetch 小模型转述的结果,我没亲眼读原文。 +- **SonoLiver 等商业软件内部是否做了拟合或线性化,文章里都没写。** T 用 SonoLiver 得到 14 个参数,软件内部可能用了某种参数模型(厂商资料是否写明我没核),但论文没写,不能当作「论文里用 Lognormal」的依据。约束 1 的 Lognormal 先例应交给负责通用 CEUS 定量或肝脏、软件文献的检索组去核。 +- **dB 单位只说明是对数域强度**,看不出是机器内部的原始回波数据还是显示灰度。4 篇都没有写「线性化」,不能据此推断它们用的是显示灰度。 +- 关于约束 4 的门槛数值(R² > 0.75、0.8 之类),本组文献完全没有,只能从其他器官或方法学文献里找。 diff --git a/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/B-pancreas-solid.md b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/B-pancreas-solid.md new file mode 100644 index 0000000..f85a2db --- /dev/null +++ b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/B-pancreas-solid.md @@ -0,0 +1,139 @@ +# B. 胰腺实性病变 CEUS / CE-EUS 定量(TIC)文献核查 + +核查日期 2026-10-17。范围是胰腺实性病变(PDAC、pNEN、肿块型胰腺炎、SPN 等)的经腹 CEUS 和 CE-EUS 定量研究。 + +**全文来源说明。** 本机访问 PMC、Europe PMC 的 `?pdf=render`、MDPI、Thieme 和 BMC 的 PDF 链接,全部返回 Cloudflare 或机器人验证页(`file` 识别为 HTML),所以**一份 PDF 都没能存进 `reference-pdf/`**。下表的全文都是从 Europe PMC REST 接口取得的出版社 JATS XML(`/europepmc/webservices/rest//fullTextXML`),转成文本后存在 `/tmp/claude-1000/-home-iomgaa-Projects-CADx-4/d2239309-a620-4197-8b4b-d4e97e3a3537/scratchpad/lit/txt/.txt`。Chen 2021 一篇是从出版社 HTML 转出的,存为 `txt/2021-chen-qims-venous-phase.txt`。XML 和 HTML 都没有页码,所以下文引文一律标**章节名**。 + +## 1. 文献清单 + +### 1a. 读过方法部分全文的原始研究(11 篇) + +| # | 文本文件(txt/) | 标题 | 年份 / 期刊 | DOI | 人群与例数 | 软件 / 模型 | +|---|---|---|---|---|---|---| +| 1 | PMC9689529.txt | Early Assessment of Chemoradiotherapy Response for Locally Advanced PDAC by Dynamic Contrast-Enhanced Ultrasound (Lu et al.) | 2022 Diagnostics | 10.3390/diagnostics12112662 | 局部晚期 PDAC 21 例(入组 23 例),经腹 | VueBox;拟合质量 >75% | +| 2 | PMC9858178.txt | Prediction of Pathological Grades of pNETs Based on DCE-US Quantitative Analysis (Yang et al.) | 2023 Diagnostics | 10.3390/diagnostics13020238 | pNEN 42 例,经腹 | VueBox;运动补偿;拟合质量 >75% | +| 3 | PMC12179939.txt | Noninvasive prediction of Ki-67 expression in pancreatic cancer via CEUS quantitative parameters (Yang et al.) | 2025 World J Gastrointest Oncol | 10.4251/wjgo.v17.i6.… | 胰腺癌 54 例,经腹 | SonoLiver(TomTec);拟合质量 ≥75% | +| 4 | PMC11580603.txt | Correlation of DCE-US and the Ki-67 labelling index in PDAC (Lin et al.) | 2024 World J Gastroenterol | 10.3748/wjg.v30.i44.4697 | PDAC 30 例,经腹 | GE NovoUltrasound Kit;运动补偿 | +| 5 | PMC10606620.txt | PDAC: CEUS characteristics correlated with the hypoxic microenvironment (Wang et al.) | 2023 Diagnostics | 10.3390/diagnostics13203270 | PDAC 102 例,其中 72 例拿到了定量参数,经腹 | VueBox 4.3 | +| 6 | PMC10240015.txt | PDAC with synchronous and metachronous hepatic metastasis predicted by CEUS (Jia et al.) | 2023 Quant Imaging Med Surg | 10.21037/qims-22-1132 | PDAC 133 例,经腹 | QLAB 4.2;人工剔除呼吸造成的错位帧 | +| 7 | 2021-chen-qims-venous-phase.txt | Enhancement patterns in the venous phase of CEUS: solid pancreatic lesions (Chen et al.) | 2021 Quant Imaging Med Surg | 10.21037/qims-20-1248 | 胰腺实性病变 57 例,经腹 | QLAB 10.8 曲线拟合;ROI 是 5 mm 方框 | +| 8 | PMC12896552.txt | CEUS of SPN and pancreatoblastoma in children (Tang et al.) | 2026 Diagnostics | 10.3390/diagnostics16030474 | 22 例(SPN 为主,胰母细胞瘤 3 例),经腹 | SonoLiver;呼吸补偿 | +| 9 | PMC13323896.txt | Quantitative CE-EUS in differential diagnosis of pancreatic solid neoplasms (Tacelli et al.) | 2026 iGIE | 见 PMC | 73 例(PDAC 51、pNEN 22),EUS | VueBox;ROI 包住整个病灶;运动校正 | +| 10 | PMC3548695.txt | Quantitative low MI CE-EUS for chronic pseudotumoral pancreatitis vs pancreatic cancer (Gheonea et al.) | 2013 BMC Gastroenterol | 10.1186/1471-230X-13-2 | 51 例(PDAC 32、假瘤性胰腺炎 19),EUS | Image Pro Plus 逐帧强度;**没有模型拟合** | +| 11 | PMC12618712.txt | Perfusion Assessment in CEUS Imaging for Estimating Pancreatic Cancer Response to Sonoporation-Enhanced Chemotherapy (Adler et al.) | 2025 Ultrasonic Imaging | 10.1177/01617346251367758 | 不可切除 PDAC 13 例,经腹,Sonazoid 输注 | 自写 MATLAB;按 NCC 选帧并配准;**没有 TIC 模型拟合** | + +另有一篇范围外但相关、也读了全文:PMC5952595.txt,Engjom et al. 2018 BMC Med Imaging(10.1186/s12880-018-0259-3)。研究对象是囊性纤维化患者的胰腺**实质**灌注,不是肿瘤,共 45 例。用的是 bolus-and-burst 药代模型(MATLAB DCE-US 软件),处理方式是人工运动校正加剔除帧。 + +### 1b. 读过全文但属于综述或病例报告,只作旁证 + +- PMC5331837.txt:Dietrich et al. 2017, Endosc Ultrasound, "Dynamic contrast-enhanced endoscopic ultrasound: A quantification method",综述,10.4103/2303-9027.193595。 +- PMC12346609.txt:Spadaccini et al. 2025, Cancers,综述。 +- PMC11419544.txt:Saima et al. 2024, Endosc Ultrasound,单例病例报告。 + +### 1c. 只有摘要 + +- Kersting et al. 2009, Gastroenterology, 10.1053/j.gastro.2009.08.049:PDAC 45 例、炎性肿块 15 例,用 Axius ACQ。 +- Săftoiu et al. 2015, Gastrointest Endosc, 10.1016/j.gie.2014.11.040:多中心研究,PC 112 例、CP 55 例,CEH-EUS 的 TIC 加人工神经网络。 +- Wang L et al. 2023, Eur Radiol, 10.1007/s00330-023-09393-7:89 例乏血供实性病变,含 SPN。 +- Stangeland et al. 2017, Ultrasound Int Open, 10.1055/s-0043-110475(PMC5605004):胰腺 bolus-and-burst 的观察者间一致性,10 例。这篇在 PMC 有全文,但 PMC 页面和 Thieme PDF 都抓不下来。 + +## 2. 逐条约束核查 + +### 约束 1:用 Lognormal 模型拟合胰腺病灶的 TIC 有没有先例;拟合用的是显示域灰度还是线性化数据 + +**Lognormal:在胰腺实性病变文献里未找到依据。** 读过的 11 篇全文中,没有一篇在方法里写出 "lognormal" 或 "log-normal"(对全部文本做过关键词检索)。用 VueBox 的几篇只写 "curve fitting",没写用的是哪个模型: + +- Lu 2022(PMC9689529.txt,§2.5 Quantitative Perfusion Analysis):"All CEUS images were analyzed with VueBox@ software (Bracco, Italy) … After curve fittings, results were considered credible when the quality of fit >75%." +- Yang 2023(PMC9858178.txt,§2.5 Quantitative Analysis):"After curve fitting, various CEUS quantitative parameters were obtained, including the rise time (RT), peak intensity (PE), time to peak (TP), mean transit time (mTT) and area under the curve (AUC)" +- Chen 2021(2021-chen-qims-venous-phase.txt,Methods / US and CEUS):"Curve fitting was performed, and the time-to-peak, peak intensity, and half-life time were estimated using the QLAB software." 文中没有写拟合函数。 +- 推断(不是原文):VueBox 的团注模型通常就是 lognormal,但这些胰腺论文里都没有这样写,不能把它当成「胰腺 lognormal 先例」引用。 + +**线性化还是显示域:** + +- 支持用线性化数据(来自综述,不是胰腺原始研究):Dietrich 2017(PMC5331837.txt,§Functional assessment of tumor response):"'Linear data' are uncompressed US data that are used to produce TICs, which are then analyzed for amplitude and temporal components. Linear data processing seems to be the only mathematically valid method for determining tumor response to antivascular drugs analyzing TIC." 同一节又写:"Despite studies published in the literature up to now, there is no consensus concerning the following. … The different principles transforming the raw US signals into the resulting curve to be analyzed (raw data – smoothing)" +- 支持用线性化数据(综述):Spadaccini 2025(PMC12346609.txt,§2 EUS and CH-EUS):"DCE-US is a functional imaging technique that allows quantitative estimation of the perfusion of a mass using raw linear data and calculation of objective parameters describing its vasculature" +- 在视频上近似线性化(原始研究):Gheonea 2013(PMC3548695.txt,Methods):"We manually exported recordings … in uncompressed audio-video interleaved (AVI) format at six frames per seconds … The software used for post-processing equalized the brightness, contrast and gamma levels on a frame-by-frame basis, thus linearizing the recording." +- 直接用显示域 8 位灰度(原始研究,没有拟合模型):Adler 2025(PMC12618712.txt,§Technical Details):"Images were captured … in a 4-D (Y, X, RGB, Time) uint8 … data format. For analysis, the three RGB color channels were converted into a single grayscale channel using the following formula: Gray=0.299*Red+0.587*Green+0.114*Blue" +- 显示域 dB 刻度:Chen 2021 图 2 图注:"peak intensity estimated to be 19.2 to 13.1 dB"(QLAB 输出,以 dB 为单位)。 + +### 约束 2:拟合参数的取值范围(峰高、峰时刻 ±5 s、σ 在 0.08–2.5、t0、基线),以及参数贴边界就判失败 + +**未找到依据。** 11 篇全文里都没有报告拟合参数的上下界、初值,也没有「参数贴边界即判失败」这类规则。检索过 constrain、bound、initial value、starting value、truncat 等词,命中的都与拟合无关。唯一和「参数取值不合理就剔除」沾边的是 Engjom 2018,对象是胰腺实质,模型是 bolus-and-burst,剔除的是**输出参数**,不是拟合参数贴边界: + +- Engjom 2018(PMC5952595.txt,§Exclusion of datasets):"Post analysis exclusions of outliers represented by MTT > 15sek were performed to exclude non-physiological values from the analysis." +- 同文 §Inclusion:"Further three analyses were excluded from the analysis performed by observer 2 due to non-physiological values (MTT > 15 s)" + +### 约束 3:模型的峰不能落在拟合区间的头尾 + +**未找到依据。** 所有文献都没有讨论模型峰的位置相对于拟合窗的约束。相关的只有分析窗起点由人工设定: + +- Tacelli 2026(PMC13323896.txt,图 1 图注):"The vertical red cursor indicates the user-selected contrast-arrival time, which is used to define the analysis windows." + +### 约束 4:拟合优度门槛,以及不合格怎么处理 + +**我们用的 R² ≥ 0.35 或「残差与噪声同量级」、NRMSE ≤ 0.45:未找到依据。** 胰腺文献里实际用的是 VueBox 或 SonoLiver 输出的「quality of fit」,门槛都是 75%: + +- Lu 2022(PMC9689529.txt,§2.5):"After curve fittings, results were considered credible when the quality of fit >75%." +- Yang 2023(PMC9858178.txt,§2.5):"The results were considered reliable when the quality of fitting exceeded 75%." +- Yang 2025(PMC12179939.txt,§Quantitative analysis of CEUS and related parameters):"To maintain study quality, we established a quality of fit threshold of ≥ 75% for the TIC." +- 胰腺文献里**没有找到 80% 的门槛**。 + +**不合格怎么处理。** 上面三篇都没写低于 75% 的曲线怎么办,是剔除、重画 ROI 还是别的做法。只有间接证据: + +- Wang 2023(PMC10606620.txt,§3.6):"A total of 72 of 102 lesions obtained the ROIs parameters." 同文局限性一段:"quantitative analysis parameters were not obtained for all lesions." 文中没写这 30 例为什么没拿到参数。 +- Lu 2022(§3.1):"Among these, two cases were excluded for lack of 2 min DICOM clips." + +### 约束 5:ROI 怎么画(整个病灶还是增强部分),两种 ROI 是否并用 + +**包住整个病灶:** +- Tacelli 2026(PMC13323896.txt,§CE-EUS postprocedural analysis):"manually selected a region of interest (ROI) in the healthy pancreatic parenchyma and an ROI encompassing the largest assessable surface area of the targeted focal lesion";图 1 图注:"the tumor ROI (yellow) completely encompasses the pNEN … ROIs are size-matched and positioned to avoid vessels and ducts." +- Gheonea 2013(PMC3548695.txt,Methods):"The whole lesion was taking into account when selecting the corresponding ROI. We used an irregular shape to trace the contour of the lesion whenever possible. Otherwise, we chose a significant portion of the lesion (in several chronic pancreatitis cases)." +- Adler 2025(PMC12618712.txt,§Polygon / §Ellipse):用多边形勾出整个病灶,外加一个 0.5 cm 宽的瘤周环。原文:"Lesion analysis employed a concentric ring system derived from an inscribed ellipse. … rings with a constant radial distance of 0.5 cm" + +**只取实性或增强最强的部分,避开坏死和囊变:** +- Yang 2023(PMC9858178.txt,§2.5):"A region of interest (ROI) was placed manually in a solid part of the pancreatic lesion and another ROI was placed in the surrounding pancreatic parenchyma." +- Lin 2024(PMC11580603.txt,§Quantitative analysis):"The regions of interest (ROI) were manually placed in the solid component of lesions and surrounding parenchyma. The ROIs for the lesion and parenchyma were selected at the same depth, as much as possible." +- Wang 2023(PMC10606620.txt,§2.3.2):"Regions of interest (ROI) were placed manually in the strongest enhancement of the suspected tumor." +- Tang 2026(PMC12896552.txt,§2.5):"Place the ROI within the most intensely enhanced solid region of the lesion, avoiding areas with grossly visible cystic changes, necrosis, and calcifications. Place an ROI of identical size within normal tissue at the same depth to minimize variability." +- Chen 2021(Methods):"The ROI was square shaped with a side length of 5 mm. The two ROIs for each case were located at a similar depth where possible. Representative areas were selected, avoiding blood vessels and interfaces." + +**用增强范围来定病灶边界,再在中心和周边各放一个 ROI:** +- Jia 2023(PMC10240015.txt,§Time-intensity curve analysis):"The first step was to delineate the actual size of the lesion, as the size of the lesion shown in the grayscale images may contain areas of necrosis, inflammation, and so on. We defined the area of fast wash-out in the venous phase of CEUS as the actual size of the pancreatic lesion. In the second step, regions of interest (ROIs) were placed in the center and around the lesion" + +**整个病灶和去掉暗区后的增强部分并用(对应我们的 roi_all 加 roi_perf):未找到依据。** 胰腺文献普遍并用的是「病灶 ROI 加同深度的胰腺实质参照 ROI」,再算比值。例如 Lin 2024 原文:"To minimize the influence of different ROI lesion depths on the results in different patients, the ratios of the quantitative parameters of a solid pancreatic lesion to those of surrounding normal pancreatic parenchyma were calculated." Yang 2023、Tang 2026、Jia 2023 也是同样做法。 + +### 约束 6:洗入期截断、呼吸运动造成曲线震荡,论文怎么处理 + +**洗入期截断:未找到处理方法。** 文献的做法是在采集时从注射开始录,并要求录满 2 分钟,不满足的病例剔除: +- Yang 2025(PMC12179939.txt,§CEUS instrument and method):"Timing began at the moment of injection. … Observation lasted over 2 minutes, and images were saved." +- Lu 2022(§2.2 排除标准):"(3) patients without complete 2 min DICOM clips for analysis.";§3.1:"two cases were excluded for lack of 2 min DICOM clips." +- Lin 2024(§The CEUS inspection process):"Timing was initiated immediately after contrast injection, and the digital imaging and communications in medicine images of CEUS were stored continuously for 150 seconds" + +**呼吸运动,做法一:用软件自带的运动补偿。** +- Yang 2023(§2.5):"The motion compensation function was applied to reduce the breath motion artifact." +- Lin 2024(§Quantitative analysis):"Motion compensation was used to minimize the effects of respiratory artefacts." +- Tang 2026(§2.5):"Respiratory artifact effects were minimized using compensation techniques." +- Tacelli 2026(图 1 图注):"Final VueBox output with motion-corrected and normalized TICs" + +**呼吸运动,做法二:剔除帧。** +- Jia 2023(§Time-intensity curve analysis):"each frame was examined using the QLAB software; frames where the lesion was out of the ROI due to the patient's respiratory movements were removed" +- Adler 2025(§Frames selection):"Frame selection was based on cross-correlation with the reference frame. … The top 10% of frames exhibiting the highest correlation values are retained. Subsequently, this subset of frames is further filtered to include only those with NCC values exceeding 0.66";作者自己承认:"these thresholds were not subjected to formal optimization through training due to the limited dataset.";§Registration:"Deformation fields are calculated based on the B-mode video (assumed less noisy) and then applied to the corresponding CEUS frames" +- Engjom 2018(胰腺实质,§Manual motion correction):"a manual single frame exclusion procedure and movement correction was performed" + +**呼吸运动,做法三:剔除病例。** +- Engjom 2018(§Subjects):"Subjects with insufficient sonographic visualisation of the pancreas, extensive respiratory movements or technical flaws in the recorded perfusion/reperfusion phases were excluded retrospectively.";§Inclusion:"We excluded 8 CF patients and 5 controls due to poor pancreatic ultrasound visualisation, or failure to track the same region of interest throughout the examination." +- Tacelli 2026(§Methods):"Patients who did not consent or had poor-quality or unstable videos were excluded." +- Gheonea 2013(Methods):"We excluded all patients with low quality examinations (n = 3)" + +**采集时的要求:** +- Lu 2022(§2.4):"Patients were required to breathe steadily during CEUS examinations." +- Chen 2021(Methods):"The patients were instructed to maintain smooth and regular breathing patterns during the observation time" + +## 3. 我没把握的地方 + +- PDF 一份都没下下来,原因见开头。引文核对的是 Europe PMC 提供的出版社 XML 全文,内容应当和 PDF 一致,但没有页码。如果需要页码,要人工在浏览器里下载 PDF。 +- VueBox 的拟合模型、「quality of fit」的定义,以及它是否在内部把视频线性化,在这几篇胰腺论文里都没有写。这些要查 Bracco 的技术文档或 VueBox 的验证论文(多为肝脏和体模研究),不在我负责的范围内。因此「胰腺 VueBox 研究等于 lognormal 先例」**不能**从这些论文推出。 +- Chen 2021 写了 QLAB 的「Curve fitting」,但没给函数形式。QLAB 默认是不是 gamma-variate 或其他函数,我没有核实。 +- Wang 2023 有 30/102 例没拿到定量参数,原文没写原因,不能把它当成「拟合质量不合格就剔除」的证据。 +- 只有摘要的几篇(Kersting 2009、Săftoiu 2015、Wang L 2023 Eur Radiol、Stangeland 2017)的方法细节没读到。其中 Săftoiu 2015 摘要写 "After excluding all of the recordings that did not meet the technical and procedural criteria",正文可能写了剔除标准或拟合门槛,值得设法取得全文。Wang L 2023 Eur Radiol 含 SPN,和我们的 SPN 类最相关。 +- 胰腺 CEUS 里明确写 lognormal 的研究,在我的检索范围内没找到(Europe PMC 关键词检索加两轮网页检索)。但检索不到不等于不存在,尤其是中文期刊和会议摘要我没有检索。 diff --git a/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/C-guidelines.md b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/C-guidelines.md new file mode 100644 index 0000000..3d30069 --- /dev/null +++ b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/C-guidelines.md @@ -0,0 +1,198 @@ +# C 组:DCE-US 定量方法学指南 / 共识 / 方法综述核查 + +结论先说:这些指南和方法学文献**都没有**给出 TIC 拟合参数的边界、峰位置约束或拟合优度的数值门槛(R²、NRMSE、拟合质量百分比)。它们明确要求、而我们做不到的是:在**线性化数据**上拟合;用**参考组织 ROI**(同一深度的正常组织)做归一化。胰腺章节(EFSUMB 2017、SIUMB 2020)只讲定性增强模式,没有 TIC 定量的条目。 + +文本抽取在 `/tmp/claude-1000/-home-iomgaa-Projects-CADx-4/d2239309-a620-4197-8b4b-d4e97e3a3537/scratchpad/lit/txt/`,文件名与 PDF 相同。 + +## 1. 文献清单 + +下表中带 `*` 的文件是用无头浏览器把开放获取的 HTML 全文页(PMC 或出版社页面)打印成的 PDF,**不是出版社排版的 PDF**,所以没有原刊页码,下文按章节标题定位。 + +| # | 文件名(reference-pdf/) | 标题 | 年份 / 期刊 | DOI | 类型 | 全文? | +|---|---|---|---|---|---|---| +| G1 | `2018-sidhu-efsumb-ceus-non-hepatic.pdf`(本地原有) | The EFSUMB Guidelines and Recommendations for the Clinical Practice of CEUS in Non-Hepatic Applications: Update 2017 (Short Version) | 2018, Ultraschall Med 39:154–180 | 10.1055/s-0044-101254 | 指南 | 是,读了胰腺、CE-EUS、Tumor Response Assessment(DCE-US)三节 | +| G1L | `2018-sidhu-efsumb-ceus-non-hepatic-long.pdf`(新下载,TU/e 机构库) | 同上,Long Version | 2018, Ultraschall Med 39:e2–e44 | 10.1055/a-0586-1107 | 指南 | 是。胰腺和 DCE-US 两节正文与短版相同,只多了参考文献编号,下文引短版页码 | +| G2 | `2024-dietrich-efsumb-dceus-update.pdf` * | EFSUMB Technical Review – Update 2023: Dynamic Contrast-Enhanced Ultrasound (DCE-CEUS) for the Quantification of Tumor Perfusion | 2024, Ultraschall Med 45:36–46 | 10.1055/a-2157-2587 | 指南级技术综述(EFSUMB 立场文件,取代 2012 版 introduction) | 是(出版社 OA 的 HTML 全文) | +| G3 | (未取得) | An EFSUMB introduction into Dynamic Contrast-Enhanced Ultrasound (DCE-US) for quantification of tumour perfusion(Dietrich 等) | 2012, Ultraschall Med 33:344–351 | 10.1055/s-0032-1313026 | 指南级技术文件 | **否**,付费,只读了摘要 | +| G4 | `2018-dietrich-how-to-perform-ceus.pdf` * | How to perform Contrast-Enhanced Ultrasound (CEUS)(Dietrich, Averkiou, Nielsen 等) | 2018, Ultrasound Int Open 4:E2–E15 | 10.1055/s-0043-123931 | 技术共识(被 G2 引作「consensus paper」,即 G2 的参考文献 [93]) | 是(PMC 全文) | +| G5 | `2020-donofrio-siumb-focal-pancreatic-lesions.pdf` * | SIUMB recommendations for focal pancreatic lesions | 2020, J Ultrasound 23:599–606 | 10.1007/s40477-020-00522-2 | 国家学会建议(胰腺专门) | 是(PMC 全文) | +| R1 | `2011-tang-quantitative-ceus-variability.pdf` * | Quantitative contrast-enhanced ultrasound imaging: a review of sources of variability | 2011, Interface Focus 1:520–539 | 10.1098/rsfs.2011.0026 | 综述 | 是(PMC 全文) | +| R2 | `2020-turco-ceus-quantification-kinetic-ml.pdf`(TU/e 机构库) | Contrast-Enhanced Ultrasound Quantification: From Kinetic Modeling to Machine Learning | 2020, Ultrasound Med Biol 46:518–543 | 10.1016/j.ultrasmedbio.2019.11.008 | 方法综述 | 是 | +| M1 | (未取得) | Indicator dilution models for the quantification of microvascular blood flow with bolus administration of ultrasound contrast agents(Strouthos 等) | 2010, IEEE TUFFC 57:1296–1310 | 10.1109/TUFFC.2010.1550 | 方法论文 | **否**,只读了摘要 | +| M2 | (未取得) | Contrast ultrasonography: necessity of linear data processing for the quantification of tumor vascularization(Peronneau 等) | 2010, Ultraschall Med 31:370–378 | 10.1055/s-0029-1245450 | 方法论文 | **否**,只读了摘要 | +| M3 | (未取得) | Evaluation of the Reproducibility of Bolus Transit Quantification With CEUS Across Multiple Scanners and Analysis Software Packages — A QIBA Study(Averkiou 等) | 2020, Invest Radiol | 10.1097/RLI.0000000000000702 | 方法论文(体模) | **否**,只读了摘要 | +| M4 | (未取得) | Standardization of DCE-US for the Evaluation of Antiangiogenic Therapies: the French Multicenter STIC Study(Lassau 等) | 2012, Invest Radiol 47:711–716 | 10.1097/RLI.0b013e31826dc255 | 方法 / 标准化(多器官肿瘤) | **否**,只读了摘要 | +| M5 | `2011-gauthier-dceus-intraoperator-variability.pdf` * | Estimation of intra-operator variability in perfusion parameter measurements using DCE-US | 2011, World J Radiol 3:70–81 | 10.4329/wjr.v3.i3.70 | 方法论文(体模与小鼠) | 是,但它用的是 IGR 模型(Gustave Roussy 研究所的专利拟合方程),不是 Lognormal,与我们的约束关系很弱,下文只引一处 | + +查过但没有找到的: +- 2020 年以后 WFUMB 或 EFSUMB 专门针对胰腺 CEUS 或 CEUS 定量的新指南。Europe PMC 标题检索加 WebSearch,只查到 EFSUMB 2023 DCE-US 技术更新(G2)和 2023–2024 年「Comments and illustrations of the EFSUMB guidelines」系列。后者讲罕见胰腺肿瘤的病例图示,不涉及定量。 +- Arditi/Rognin 关于 VueBox 线性化的论文:Rognin 2008 是 IEEE Ultrasonics Symposium 会议论文,没找到开放全文;Arditi 2006 讲的是破坏-再灌注(infusion),不是团注。两篇都没有下载。 + +## 2. 逐条约束 + +### 约束 1:团注 TIC 用 Lognormal 模型是否被推荐;显示域(对数压缩)数据能否直接拟合 + +**1a. Lognormal 模型** + +- G4,章节 "“Wash-in” and “wash-out”",Fig. 3 图注。这是指南级文件里唯一出现团注 Lognormal 的地方,但它只是体模示例,不是推荐条款: + > "Time-intensity curve for a bolus injection in a tissue mimicking flow phantom. A lognormal curve (solid line) is fitted to the data and it is used to calculate the important quantification parameters (44) (PI, RT, MTT, and AUC)." +- G2,章节 "Clinical aspects of a DCE-US protocol → How to perform DCE-US…"。只要求拟合,没有指定模型: + > "Next, a curve is fitted to the TIC data and the important perfusion parameters (rise time RT, mean transit time MTT, peak intensity PI, and area under the curve AUC) are extracted." +- G2,章节 "CEUS time intensity curve parameters": + > "Different from the other parameters, MTT can be calculated only in combination with a fitted mathematical model, while the other parameters are curve-descriptive parameters and thus can be derived also without a dedicated model." +- G2 里 "Lognormal perfusion model" 只出现在破坏-再灌注(infusion)的 Arditi–Hudson 模型描述中(同一章节),**不是团注模型**: + > "This model has 3 components that were not present in Wei’s model: accounts for tissue perfusion through realistic microvascular geometry (Lognormal perfusion model), …" +- G1 p.178–179(Tumor Response Assessment → Study procedure): + > "Analyses of the TIC, including wash-in and washout times, can be performed with curve fitting to determine functional indices." +- R2 p.524(TEMPORAL ANALYSIS)。综述,不是指南: + > "Among the non-compartmental models, the log-normal distribution is one of the models most commonly used to fit TICs measured by DCE-US (Wise 1966; Band et al. 1997; Krix et al. 2004; Strouthos et al. 2010; …)." + > "Fitting the measured TIC to a suitable mathematical model permits filtering out the noise and extracting the first pass of the contrast bolus." +- R1 §1.2: + > "Given the noisy nature of the data, models are commonly used to fit the data to remove the noise and extract relevant indices [8,10–12]." +- M1,**仅摘要**(数据来自肝转移瘤和绵羊黄体): + > "The models that best fit the experimental data are the lognormal function and the diffusion with drift." + +小结:没有任何指南把 Lognormal 写成团注 TIC 的推荐模型。G2 只说「拟合一条曲线」;G4 拿 Lognormal 作示例图;R2 说它「最常用之一」。 + +**1b. 显示域(对数压缩)数据能否直接拟合**:反对的证据明确,且来自指南级文件。 + +- G2,"CEUS time intensity curve parameters": + > "All time and intensity values should be calculated from a curve fitted to the linearized echo intensity values and not from image data." +- G2,Statement 11: + > "It is necessary to perform calculations on linearized data to maintain the linear relationship between microbubble concentration and signal intensity." +- G2,"General considerations": + > "The average CEUS signal intensity within a region of interest (ROI) is calculated in linear units and is displayed as a function of time, i.e., a time-intensity curve (TIC)…" +- G2,"How to perform DCE-US…": + > "Save the DICOM video loop in a format that allows data linearization." +- R1 §1.3 "Linear versus logarithmic data": + > "Early studies of quantification relied on video intensity data, to which logarithmic compression had been applied. It has been gradually recognized that linear echo data (sometimes called ‘raw data’) acquired before compression should be used instead [21,22]." + > "…a direct acquisition before log compression is preferred since the compression process may cause information loss that cannot be fully recovered by reversing the compression…" +- R1 §2.3 "Dynamic range and gain"。这一条对「时间参数」有利,但它比较的是「线性化后的压缩数据」与「原始线性数据」,不是我们这种未经线性化的显示灰度: + > "…the errors in the peak intensity and AUC derived from linearized log-compressed data, with linear data as references, were found to be 45 ± 18% and 39 ± 16%, respectively, under a typical clinical dynamic range setting of 30 dB and a gain of 55 dB. … Time-related parameters on the other hand were found to be much less affected." +- R2 p.523: + > "Thus, processing log-compressed video data without appropriate linearization induces quantification results, which are dependent on user and system settings." + > "…perfusion quantification based on linearized log-compressed video data can be equivalent to that based on raw data only under two conditions: (i) the gain settings should be adjusted in such a way to prevent data truncation or saturation in images, and (ii) a sufficiently high dynamic range of log compression (approx >45 dB) should be used." + > "…in many cases ultrasound systems apply non-linear and sometimes non-reversible signal processing or image processing … In such cases, the linearization endeavor becomes futile, and results are bound to be inaccurate." +- M2,**仅摘要**(小鼠黑色素瘤): + > "TPI was found to be similar with either data set (r = 0.98, p < 0.05, factor of 1.09)." + > "In conclusion, the use of linear data is the only mathematically valid methodology for determining a tumor's time-intensity curve…" +- M3,**仅摘要**(体模): + > "Currently, it is not possible to directly compare amplitude values from different scanners and analysis software packages owing to the arbitrary linearization algorithm used among manufacturers; however, it is possible for time parameters (RT and MTT)." +- G2,"Further technical and methodological aspects": + > "Time-related parameters (rise time) are robust since they do not depend on the acoustic signal level – if the bolus arrival time is subtracted to avoid circulation time dependencies." +- G4,"Dynamic range": + > "For perfusion quantification studies, a wide dynamic range should be used to avoid signal saturation." + +### 约束 2:参数边界(峰高、峰时刻在平滑曲线峰 ±5 s 内、σ 0.08–2.5、t0、基线);参数贴边判失败 + +**未找到依据。** 读过的全文里,没有一份给出 Lognormal(或任何团注模型)参数的取值范围、初值策略,或「参数贴边即判失败」的规则。最接近的两句话只要求记录拟合质量: +- G2,"Further technical and methodological aspects": + > "However, the quality of the fit must be recorded to avoid misinterpretation." +- R2 p.526 提到最小二乘之外的方法,同样没有边界: + > "Next to standard least-squares approaches, several authors have introduced maximum-likelihood approaches that account for the statistics of arrival times (measured TIC) as well as noise, which has non-stationary characteristics depending on the UCA concentration levels…" + +### 约束 3:模型峰不能落在拟合区间头尾 + +**未找到直接依据。** 相关但不等同的证据: +- G4,"CEUS phases"。要求录像包含峰: + > "A useful sequence is to scan continuously and record a cine loop from the earliest arrival of the microbubbles to include the peak of arterial enhancement, and up to 60 s." +- M4,**仅摘要**。「是否完整采到洗入期」是一项质量判据: + > "Five criteria were found to have a major impact on quality: lesion size, motion, loss of target, borders, and total acquisition of wash-in." +- R1 §3.2.3。尾部受再循环影响,有人只用洗入段: + > "The effect of recirculation on the TIC would manifest itself as a small increase in contrast intensity approximately 60 s following the start of agent administration." + > "To address the problems associated with recirculation, some researchers have considered for bolus injection only the wash-in phase of the curve [33,34], or limited the time window post-injection during which scanning takes place [66]." + +### 约束 4:拟合优度门槛(R²、NRMSE、拟合质量百分比);不合格怎么处理 + +**没有数值门槛,未找到依据。** 指南只要求记录拟合质量。 +- G2,"Further technical and methodological aspects": + > "However, the quality of the fit must be recorded to avoid misinterpretation." +- R2 p.526,Fig. 6 图注。这是参数图(逐像素)的做法,例子是前列腺,不是规则: + > "Gaps in the color map correspond to time–intensity curve fits with poor determination coefficients." +- G1 p.179。这里的质量评分针对**采集质量**,不针对拟合: + > "A quality score was proposed in a standardized acquisition, with AUC being the best parameter." +- M4,**仅摘要**。0–5 分的采集质量分,0 分视为不可解读: + > "The final quality score, ranging from 0 to 5, was defined according to the value of coefficient of variability for each criterion." + > "Only 3% of examinations carried out at these centers were considered not interpretable." + +### 约束 5:ROI 怎么画(整个病灶 vs 增强部分),能否并用 + +**有依据支持「整病灶 ROI 为主,可加增强区 ROI」。** 但同一出处写明尚无共识,而且指南还要求一个参考组织 ROI。 +- G2,"How to perform DCE-US…": + > "One ROI should cover the whole tumor, and the placement of optional additional ROI(s) should follow representative areas of the “whole tumor” guided by highly vascularized parts of the tumor. For early relapse prediction, focusing on highly vascularized ROIs may be useful. In partially necrotic tumors, this guidance can make an important difference. For some of the mentioned recommendations, no consensus has been reached so far." +- G2,"General considerations": + > "Additional ROIs can be placed in a reference tissue for comparison purposes or in different areas of the lesion." +- G2,"Perspectives": + > "Placing more than one ROI in a tumor, e.g., in the periphery and the center, is the simplest approach to add a spatial analysis." + > "For instance, the size of the AUC above a certain threshold/size of the whole tumor can reflect the vascularization – similar to “% of vascularized tumor”." +- 参考 ROI 与归一化(我们目前没有): + - G2,Statement 6: + > "Relative quantification of perfusion using a reference area at the same depth should be preferred to absolute evaluation of contrast enhancement." + - G2,"Further technical…": + > "The second ROI should be placed at the same depth." + > "Due to signal linearization, large vessels should not be used as the standard ROI for comparison." +- R1 §3.3: + > "For example, a large vessel full of bubbles moving in and out of the ROI could cause intensity variations of hundreds of per cents." +- **胰腺专门条目**: + - G1 p.162(Pancreas → Pancreatic Masses),定性增强,要求视野同时包含病灶和邻近胰腺: + > "The enhancement pattern of focal pancreatic lesions is compared with the adjacent pancreatic tissue. The field of view should include both. This is mandatory with an isovascular mass but not essential with a hypovascular (hypoenhanced with few internal microbubbles) or hypervascular (hyperenhanced) mass." + - G1 p.162(Mucin-producing cystic tumors)。「有灌注区 vs 无灌注区」的区分,与 roi_perf 的思路相近,但这一段是定性的: + > "CEUS is helpful for differentiating between perfused (nodules) and non-perfused (mucin plugs) areas." + +### 约束 6:洗入期截断、运动伪影、采集时长、录制起点 + +**采集时长** +- G2,Statement 5: + > "The bolus technique quantifies the entire course of contrast kinetics, from wash-in to wash-out. The analysis is carried out along one single plane for each injection and a cineloop of at least one minute in duration is recommended." +- G2,"How to perform DCE-US…": + > "Scan continuously for 2 up to 5 minutes (depending on the clinical application) avoiding bubble destruction." +- G2,"CEUS time intensity curve parameters": + > "Most studies focusing on AUC and wash-out recorded 3-minute loops [68]." +- 帧率: + - G2,"General considerations": + > "…single-plane imaging at a low mechanical index (MI) is usually performed at about 10 frames per second for the duration of the enhancement. Frame rates that are too high should be avoided to prevent bubble destruction." + - G1 p.178: + > "Single plane imaging is usually performed at 10 – 20 frames per second for the duration of the enhancement." +- 胰腺时相,出自 G1 p.162。G5 的 "Approval > 95%" 一段有基本相同的文字: + > "Enhancement begins immediately after aortic enhancement, with an arterial phase (10 to 30 s), a venous phase (30 to approximately 120 s)." + +**录制起点 / 洗入期截断** +- 没找到「录制必须在注射前开始」的原句。最接近的有三条: + - G4,"CEUS phases": + > "…record a cine loop from the earliest arrival of the microbubbles to include the peak of arterial enhancement…" + - G4,"Contrast timer"。这里讲的是计时器,不是录像: + > "This timer should be started at the time of the beginning of the UCA injection for SonoVue™/Lumason™." + - M4,**仅摘要**:"total acquisition of wash-in" 是影响质量的主要判据之一(原句见约束 3)。 +- 对「截断后怎么补救」(例如外推 t0、丢弃该例),**未找到依据**。 + +**运动** +- G2,Statement 10: + > "Suitable planning and choice of a representative imaging plane is crucial to avoid respiratory motion of the ROI which is a major source of error in the quantification of DCE-US. Especially out-of-plane motion cannot be corrected, and out-of-plane acquisitions must be excluded from the DCE-US analysis, which is a time-consuming and demanding process." +- G2,"Clinical Applications": + > "Techniques such as respiratory gating [59][66][67] and motion correction have been shown to improve the reproducibility of DCE-US measurements." +- G2,"How to perform DCE-US…": + > "In order to keep the probe stationary, be aware of and compensate for any motion." +- R1 §3.3: + > "Various motion correction algorithms are available that can deal with translation, rotation or non-rigid deformation of tissues. While most quantification packages have already incorporated such algorithms, they are only able to deal with in-plane motion. Out–of-plane motion means different tissues are imaged at different times, and this type of motion is impossible to correct for with scans on only a single plane. One way to deal with this is to track the motion and only use a subset of the image sequence that corresponds to the same anatomical cross section." +- R2 p.537: + > "As DCE-US recording can take up to several minutes, several sources of intrinsic (e.g., breathing) and extrinsic (e.g., probe tilting) motion unavoidably corrupt DCE-US data. As a result, motion-compensation strategies should be employed prior to quantitative analysis." +- G4,"Background signal (noise)" 节(双幅显示段落): + > "For quantitative studies, it is critical to maintain the transducer at the same place and avoid motion." +- G4,"Pre-contrast examination": + > "…the optimal scan plane along the axis of the respiratory movements (usually longitudinal) to minimize out-of-plane motion from respiration." + +**胰腺指南对定量的立场** +- G5,Methods。SIUMB 在纳入文献时明确**排除了定量研究**: + > "studies providing a qualitative evaluation of the contrast agent (we excluded studies providing a quantitative evaluation based on wash in/wash out times or image interpretation using software such as Photoshop etc.);" +- G1 p.169。唯一提到胰腺 TIC 的地方,针对的是超声内镜造影(CEH-EUS)下的实性病灶,不是经腹 CEUS,也不是囊性病灶: + > "With this technique, microvasculature and perfusion comparative qualitative or quantitative (time intensity curves, TIC) analysis may be performed." + +## 3. 我没把握的地方 + +- **EFSUMB 2012 introduction(G3)没读到全文**,它是付费文献,只读了摘要。我用 2023 更新版(G2)代替。G2 说参数定义 "are explained in detail [3]",也就是 2012 版里可能有 T0、TP 等参数的定义细节,甚至拟合注意事项,我没核到。 +- **Strouthos 2010、Peronneau 2010、Averkiou 2020、Lassau 2012 只读了摘要**。其中 Lassau 2012 的质量评分各项判据怎么定义(例如 "total acquisition of wash-in" 怎么判),只有全文里有。 +- 带 `*` 的 PDF 是 HTML 打印件,没有原刊页码,引用按章节标题定位。G1 用的是出版社 PDF 页码(短版 154–180)。R2 用的是 TU/e 机构库副本上印的原刊页码。 +- R1 §2.3 和 M2、M3 都说「时间参数受线性化影响小」,但它们比较的都是「(线性化后的)视频数据 vs 原始线性数据」,或「不同厂商的线性化」。没有一篇直接检验「完全不线性化的显示灰度上拟合 Lognormal,得到的时刻参数是否可靠」。这一点能否外推到我们的数据,我判断不了。 +- G2 和 R1 讲的运动、ROI、时长要求,主要来自肿瘤疗效评估和肝脏场景。它们是一般方法学要求,没有专门针对胰腺囊性病灶的版本。 +- 2020 年后若有 WFUMB 胰腺 CEUS 指南,我的检索(Europe PMC 标题检索加两次 WebSearch)没找到,但不能排除检索遗漏。 +- 本地下载目录 `scratchpad/lit/dl/` 里有其他并行任务的文件,我用的是 `scratchpad/lit/dlC/`。`reference-pdf/INDEX.md` 没有改。 diff --git a/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/D-old-sources.md b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/D-old-sources.md new file mode 100644 index 0000000..e97371b --- /dev/null +++ b/research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/D-old-sources.md @@ -0,0 +1,64 @@ +# Lognormal 拟合质量门参数:旧项目溯源 + +路径前缀:`OLD` = `/home/iomgaa/Projects/CADx-4/reference/CADx-4-CAD`。旧代码行号指当前 HEAD 的 `OLD/app/domain/ceus_roi/tic_fitting.py`。 + +## 结论 + +`tic_analysis.fitting` 里的每一个数,旧项目里都找不到论文出处,也找不到临床方出处,全部是工程侧在第一轮四段视频工程验收时定的占位值。旧 design/0043、0044 明确写了:这些数**不进决策记录**,要等「代表性开发集」标定后才锁定;而旧项目直到结束也没有做这次标定。两个引入提交(`6630872`、`5d83603`)的提交说明只有标题,没有正文。现在 yaml 注释写的「出自旧项目 design/0044」只说明这些数是在 0044 那次提交引入的,0044 正文里一个数都没有。 + +旧仓库的临床规范抄本(`535c387` 里的 08-16 重写稿)给多峰判据和主峰判据定了**另一组数**(0.80 / 3.0 秒),和拟合段的 `multi_peak_*`、`minimum_peak_distance_s` 对不上。见第 6 行和「没把握的地方」。 + +## 一、逐条溯源表 + +| # | 约束 | 当前值 | 引入提交 | 出处原文(文件:行号) | 出处类别 | +|---|---|---|---|---|---| +| 1a | 峰高上界 = 幅度 × 10 | `height_upper = max(amplitude*10.0, 1.0)` | `5d83603`(2026-09-18,「收紧双曲线拟合与截图就绪门」,无正文)。v1 `6630872` 用的是面积上界 `amplitude*duration*100`(`git show 6630872:app/domain/ceus_roi/tic_fitting.py` 第 352 行) | 旧代码 `tic_fitting.py:457`,没有注释。0043:154-155「约束至少保证 `A > 0`、`σ > 0`……边界的数值不在本文重复,最终进入工程配置并由标定数据决定」 | 工程侧自定(写死在代码里,没进配置) | +| 1b | 峰时刻窗:候选峰 ±`candidate_long_window_s`(5 s),并且离拟合区间头尾各 `boundary_margin_s`(0.25 s) | 5.0 / 0.25 | `candidate_long_window_s` 是 `5d83603` 引入的;`boundary_margin_s` 是 `6630872` 引入的,`5d83603` 起才用作峰窗 | 旧代码 `tic_fitting.py:807-814`。旧 yaml 注释:`candidate_long_window_s: 5.0 # 宏观 bolus 候选,抑制逐帧掩膜与压缩波动`(`OLD/config/ceus_roi_default.yaml:117`)。0044:133-134「峰值必须位于第一遍 bolus 的实际观察区间」只讲原则,没有给数 | 工程侧自定 | +| 1c | σ 区间 [0.08, 2.5] | 0.08 / 2.5 | `6630872` | `OLD/config/ceus_roi_default.yaml:127-128`,没有注释。0044:141-142「否决"放宽形状参数上界直到现有样本通过"。贴边解说明参数空间或数据支持有问题」。0049:18-20 记录一次 `roi_pan` 拟合「`sigma` 到达配置上限,质量门以 `parameter_on_boundary` 拒绝」;0049:47「不提高 `sigma_max`,不为参考区另造一套未标定的拟合阈值」 | 工程侧自定(0049 自己写了「未标定」) | +| 1d | t0 区间:观察到基线时不早于拟合起点;估计基线时可早 `estimated_baseline_lookback_s`(10 s) | 10.0 | `5d83603` | 旧代码 `tic_fitting.py:815-819`。旧 yaml `:136` `estimated_baseline_lookback_s: 10.0 # 允许 t0 位于视频起点前,但截图不外推`。**注意**:旧 `research_config.py:488` 里 pydantic 的默认值是 `5.0`,和 yaml 的 10.0 不一致(yaml 覆盖默认值,所以实际跑的是 10.0)。0044:90-93 讲联合估计基线的道理,没有给数 | 工程侧自定 | +| 1e | 基线区间:观察基线 ±max(3×噪声, 5%幅度);估计基线时下界 max(0, P1−0.25×幅度),上界 min(P45, 基线+0.35×幅度);正则尺度 max(0.2×幅度, 噪声) | 3.0 / 0.05 / P1 / P45 / 0.25 / 0.35 / 0.2,全写死在代码里 | `5d83603`(`amplitude*0.05` 最早出现在 `6630872`,当时用作残差尺度) | 旧代码 `tic_fitting.py:458-469`,没有注释。0044:91-92「估计范围由曲线低分位、局部噪声和显示灰度范围共同约束,并用正则项阻止基线……任意漂移」只讲原则。这里的 3×噪声和临床契约的到达判据 3×σ0 是两回事(契约见 `ceus.yaml` 的 `anchor_frames.arrival`),代码里没有任何地方把两者关联起来 | 工程侧自定 | +| 2 | `parameter_boundary_fraction=0.001`:参数贴边即拒绝 | 0.001 | `5d83603` | 旧 yaml `:138` `# 形状参数贴边判据占允许区间的比例`。拒绝这一规则的出处是 0044:138-140「形状参数贴近边界、峰值落在观察边缘时,即使残差门通过也不能成为正式拟合」。0.001 这个数本身找不到出处 | 规则:工程侧设计(0044)。数值:工程侧自定 | +| 3 | 模型峰不得落在拟合区间头尾(`model_peak_on_boundary`,余量 0.25 s) | 0.25 | `6630872`(v1 已有这一拒绝;`5d83603` 起改用拟合区间头尾) | 旧代码 `tic_fitting.py:864-870`。0043:206-207 失败语义「峰值落在观测边界」;0043:154「模型峰值落在观测到的有效时间范围」;0044:138-139。0.25 s 的数值找不到出处 | 规则:工程侧设计(0043/0044)。数值:工程侧自定 | +| 4 | `minimum_r2=0.35`、`maximum_nrmse=0.45`、`maximum_residual_noise_ratio=2.0`;判据是 nRMSE 必须过,R² 和残差噪声比二者过一个即可 | 0.35 / 0.45 / 2.0 | `minimum_r2`、`maximum_nrmse` 是 `6630872` 引入的;`maximum_residual_noise_ratio` 是 `5d83603` 引入的 | 旧代码 `tic_fitting.py:871-876`。旧 yaml `:133` `# 残差不高于基线噪声同量级时允许低 R²`。0043:248-250「`1.5 s` 平滑窗、某个固定 `R²`、`nRMSE` 或信噪比门槛都可以作为实验起点,不能在只有一例真实交付时成为正式口径」。0044:168-170「具体数值进入版本化配置并由代表性开发集锁定,不在决策记录中复制」。旧 `explanation/tic-quantification-encoding.md:594`「Lognormal 的 `fit_R2`、`fit_nRMSE` 与残差质量门 \| 工程侧占位,代表性开发集标定后固定 \| 工程侧」。「二者过一个」的理由见旧 `explanation/ceus-roi-pipeline.md:510-512`「让低动态范围但残差已落入观测噪声的曲线不因 `R²` 单项被误杀」。临床规范抄本只要求「`fit_R2` 与 `fit_nRMSE` 各自过门槛时记 1」,没有给门槛值(`git show 535c387:"research-wiki/scratch/2026-08-16-ceus-tic规范重写稿.md"` 第 899 行) | 工程侧自定(文档自己写明是占位)。临床方只定了这两个字段,没给数值 | +| 5 | `roi_all` 和 `roi_perf` 两条都成功,才取 D1–D4 | — | `5d83603`(`lesion_fit_ready` 由它引入) | 0044:30-31「项目负责人确认了本轮交付目标:`roi_all` 与 `roi_perf` 都要得到可用于取值的 Lognormal 拟合,关键截图由 `roi_perf` 的连续拟合曲线定位」。0044:53-54「一次病灶截图任务只有在两条拟合都通过后才进入关键时刻提取」。旧代码 `OLD/app/domain/ceus_roi/service.py:482`、`OLD/debugs/tic_lognormal_replay.py:514`。本仓库对应位置是 `src/cadx/ceus/_pipeline.py:300` 和 `_anchor_frames.py:234`,不在 `_tic.py` | 负责人决定(工程侧 design 记录),不是临床方,也不是论文 | +| 6a | `candidate_window_s=1.5`、`candidate_polyorder=2`、`max_candidate_gap_s=0.5`、`minimum_valid_samples=20`、`duplicate_mean_absdiff_threshold=0.25`、`max_nfev=4000`、`robust_loss=soft_l1` | 同左 | 全部是 `6630872` | 旧 yaml `:116-130`。0043:126-128「阶数固定为 2,因为一阶导数需要表达峰附近的曲率;具体窗口时长必须通过代表性视频标定」。0043:100-101 重复帧阈值「属于待标定参数」。0043:109-110 短缺口「不能在没有批量素材时拍一个固定秒数」。0043:157-158 损失函数「Huber 或 `soft_l1`……实现前的开发集比较负责在两者中固定一个」,但找不到任何比较记录。旧 encoding.md:595-597 把候选窗、重复帧、短缺口列为「工程侧占位」 | 工程侧自定(文档自己写明待标定) | +| 6b | `minimum_peak_distance_s=1.0`、`minimum_relative_peak_height=0.10` | 1.0 / 0.10 | `6630872` | 旧 yaml `:122-123`,没有注释。**对照临床规范抄本 §7.1**:「候选峰的高度要达到全局峰值的 0.80」「峰的突出度要超过"峰高的 0.10 倍"与"基线噪声 σ0 的 3 倍"中较大的那一个」「多个候选彼此要隔开多远才算两个峰,规范给的是 3.0 秒」(`535c387` 重写稿第 213-219 行)。拟合段的候选检测没有用这组数 | 工程侧自定,和临床规范 §7.1 的数不一致 | +| 6c | `multi_peak_minimum_separation_s=5.0`、`multi_peak_minimum_relative_height=0.50`、`multi_peak_maximum_valley_fraction=0.25` | 5.0 / 0.50 / 0.25 | `6630872` | 旧 yaml `:124-126`,没有注释。**对照临床规范抄本 §15**:「第二峰高度达到第一主峰的 0.80、且两峰间距达到 3.0 秒时,记下一条"这条曲线有两个峰"的提示」(`535c387` 重写稿第 448 行)。旧 encoding.md:578-579 把「多峰判据:第二峰占第一主峰的高度比例 / 两峰最小间距」的取值权威列为《临床口径契约》(临床方原规范 §15)。谷深比 0.25 是工程侧另加的条件,理由见 ceus-roi-pipeline.md:506-507「否则呼吸和 ROI 跟踪造成的周期振荡会被误判成再次推注」 | 工程侧自定,和临床规范 §15 的数不一致 | +| 6d | `estimated_baseline_percentile=15.0`(另有写死的 `min(2×15, 45)` 分位低值集) | 15.0 | `5d83603` | 旧 yaml `:135` `# 无稳定开头时的有界基线先验`。旧代码 `tic_fitting.py:245-248` | 工程侧自定 | +| 6e | `maximum_perf_area_step_fraction=0.15` | 0.15 | `5d83603` | 旧 yaml `:137`。0044:71-73 讲规则(相邻帧去暗区面积比例突变就排除),没有给数 | 规则:工程侧设计。数值:工程侧自定 | + +旧文档里明确写出「这些数是占位」的总括引文: +- 0043:268-269「拟合质量门槛、Savitzky-Golay 候选窗口、重复帧阈值、短缺口上限和参数边界只在开发集上确定一次,锁定后用于整个队列」 +- 0043:281-282「参数在更大开发集上锁定前不得描述成临床阈值」 +- 0044:193-194「正式门槛仍需在代表性开发集上评价……」 +- 旧 `explanation/tic-quantification-encoding.md:600-603`「当前值是首轮工程占位,四段本地 MP4 只验证失败可见性、帧率差异和回放链路,不能代替代表性开发集标定」 +- 旧 `explanation/ceus-roi-pipeline.md:727-728`「尚未在代表性开发集上锁定,不能视为临床标定」 +- 旧 `research_config.py:456-459` docstring「这些值只用于第一轮工程验收,不是临床阈值」 +- 旧 `guides/replaying-lognormal-tic.md:167`「四例只构成工程冒烟集,不足以锁定候选窗口、重复帧、多峰和质量阈值」 + +临床方唯一规定过的拟合相关内容:曲线处理方法从四种里选一种(gamma-variate 拟合、lognormal 拟合、Savitzky-Golay、local regression),全队列统一、参数固定(旧 design/0030:288、encoding.md:521;原规范 §3.5);另外列了 `fit_QC` / `fit_R2` / `fit_nRMSE` 三个字段(原规范 §17)。临床方没有给任何门槛值。 + +## 二、旧项目提到过的 TIC 相关文献 + +全部集中在旧 `research-wiki/design/0043-mp4-tic-lognormal-fitting.md` §13(289-310 行)。没有一篇被引来支撑具体数值,只用来支撑路线选择。下表年份是我从 URL 和期刊 ID 推的,文件里没有写年份。 + +| 作者 / 来源 | 年份(推断) | 被引位置 | 引来支撑什么 | +|---|---|---|---| +| Bracco,VueBox® Instructions for Use(v7.7,VBO.8.20) | 2025-06-06(0042:22-23 写明) | 0043:291-292;0042:22-25;原件在 `OLD/debugs/VueBox说明书.pdf` | 删重复帧、bolus/replenishment 两种模型、保留拟合信号、输出 QOF。0043:62-63 明说说明书没有公开函数、优化器、初始化、边界和 QOF 公式 | +| Bracco 产品页 VueBox Quantification Toolbox | — | 0043:293-294 | bolus 与 replenishment 用的是专有拟合模型 | +| Cooley 等,nanobubble 微流控(RSC Lab Chip,D3LC00514C) | 约 2023 | 0043:295-297 | 能从 MP4 灰度矩阵生成 TIC(体外实验,0043:65-66) | +| Hoyt 等,pixel-by-pixel CEUS perfusion kinetics(PMC3463888) | 约 2012 | 0043:298-300 | 有损压缩 CEUS 视频可以做半定量时序分析,同时说明压缩带来的局限(0043:68-70) | +| Gheonea 等,quantitative low-MI CE-EUS,胰腺(PMC3548695) | 约 2013 | 0043:301-303 | 胰腺 CE-EUS 视频逐帧 ROI 灰度并加参照曲线,作为临床先例(0043:72-74) | +| Harabis 等,indicator dilution models for UCA bolus(PMID 23348425) | 约 2013 | 0043:304-305 | 拟合残差最小,不代表参数最接近真值(0043:76-78) | +| Kuenen 等,multi-model framework(PMC6615468) | 约 2019 | 0043:306-308 | Lognormal、Gamma-variate、LDRW 等模型之间的差异,以及逐模型的拟合比较 | +| Fujioka 等,Ceusia-Breast(PMC10466705) | 约 2023 | 0043:309-310 | 被否决的 Logistic 洗入加指数洗出方案的来源(0043:240-244) | + +本仓库 `reference-pdf/INDEX.md`(50 个 PDF)里没有一篇 TIC、Lognormal 或灌注建模方法学论文。2018 年的 EFSUMB 非肝 CEUS 指南只是临床检查规范,也没有被引来支撑拟合参数。旧仓库的 `research-wiki/reference/roi-tic-parameters.md` 和 `glossary.md` 里完全没有 Lognormal 拟合的内容。 + +## 三、我没把握的地方 + +1. **临床规范抄本只到 08-16 重写稿为止。** 旧 yaml 里的 anchor_frames 镜像的是《临床口径契约》2026-08-25 版,而契约本身在 Linear 上,旧仓库没有它的全文。我拿来对照的 §7.1 / §15 数值(0.80、3.0 秒)出自 `535c387` 的 08-16 重写稿。08-25 版或之后有没有改这几个数,我没有核到;要核得去 Linear 读契约原文。拟合段的 `multi_peak_*` 和 `minimum_peak_distance_s` 是不是有意偏离临床口径(只用于找候选、不直接当临床多峰判据),旧文档没有写;我在旧文档里只看到 encoding.md:578-579 把多峰判据的权威归到契约。 +2. **`fit_quality ≥ 85%` 的来历查不出。** 旧 `debugs/TIC关键帧与定量质检指标_计算方式.md:78` 和 `debugs/TIC指标_LLM输入清单.md:42` 都写着「当前质量门不是单一的 `R² ≥ 85%`」,看上去有人(可能是临床方)提过 85% 这个口径,但旧仓库里找不到最早出处。最早出现在提交 `2351e69`,提交说明没有正文。VueBox 说明书里 QOF 的单位是 %,我在它的文本里没有找到 85% 这个门槛。 +3. **`6630872` 和 `5d83603` 两个提交的说明都只有标题**,所以「为什么取 0.35 / 0.45 / 2.0 / 0.001 / ×10」只能从 design 和代码注释里推断。四段工程视频上有没有试过别的取值,旧仓库没有留下记录;我也没有翻 `debugs/` 下的日志。 +4. 上表的年份是从 URL 和 ID 推断的,没有逐篇打开核对。 +5. 旧 `research_config.py:488` 里 `estimated_baseline_lookback_s` 的默认值 5.0 和 yaml 的 10.0 不一致。按 pydantic 的读法实际生效的是 yaml 的 10.0,但我没有在旧项目里跑代码确认。 diff --git a/research-wiki/任务书/03-医生核对包.md b/research-wiki/任务书/03-医生核对包.md new file mode 100644 index 0000000..7caa70f --- /dev/null +++ b/research-wiki/任务书/03-医生核对包.md @@ -0,0 +1,154 @@ +# 任务书 03:医生核对包 + +## 目标 + +把一次构建(`library/` + `answers/`)和它装入的那次 CEUS 运行,整理成医生不用写代码就能看懂的一个文件夹:表格一律 CSV,文字一律 PDF,图和视频原样。负责人把文件夹打成压缩包、用 U 盘拷给医生,请医生核对我们的处理结果。 + +这是一项**长期功能**:以后医生每交一版数据,跑完 `ceus_quant` 和 `build`,再跑一次本入口,就得到新的核对包。所以按正式模块写,带测试和 guide,不写成一次性脚本。 + +来源:负责人 2026-10-17「我们把处理完的结果……整理一份給医生看看」「不需要问医生问题」「文本文件尽可能 pdf,表格尽可能 csv」「需要作为一项长期的功能……有一个入口能执行这个」;视频不压缩(「本来视频就模糊,你压缩不是更模糊」);病例目录用医生的病例号、问题清单只写现象、没进库的病例只在表里出现(负责人 2026-10-17 认可)。 + +## 不做什么 + +- 不向医生提问,不做反馈表。 +- 问题清单只写程序观察到的现象,不写原因推测、不写我们查过的文献、不写建议。 +- 不改 CEUS 算法、不改质量门、不改资料库的内容。质量门的去留等医生看过之后再定(文献核查记录在 `research-wiki/scratch/2026-10-17-TIC拟合约束文献核查/`,本任务不用读)。 +- 不压缩视频,不缩放、不重新编码任何图片和视频。 + +## 核对包的内容 + +``` +runs/review_pack/<运行号>/ + snapshot/ 快照(不给医生,打包时由负责人去掉;见下文) + 医生核对包_<构建号>/ 负责人整个打包的就是这个目录 + 说明.pdf + 问题清单.csv + 病例总表.csv + 标准答案/ + 化名对照.csv + 诊断.csv + 跳过病例.csv + 报告复核句.csv + 病例/ + <病例号>/ 只有进了资料库的病例,目录名用医生的病例号(如 P001) + 临床信息.csv + 超声报告.pdf + MR报告.pdf + 关键图.png + 关键帧/<槽位>_第<秒>秒.png 例如 B0_第1.6秒.png;秒数保留一位小数;没定位的槽位没有文件 + TIC曲线.png + TIC结果.csv + 回放视频.mp4 +``` + +逐项要求: + +- **CSV**:UTF-8 带 BOM(Excel 双击打开中文不乱码),列名用中文。缺失值留空,不写 null、NaN。 +- **`病例总表.csv`**:这次构建涉及的全部病例一例一行(进库的加跳过的;40 例交付包就是 40 行),按病例号排序。列:病例号、视频号、化名(没进库的留空)、是否进入资料库、没进的原因(检查编号和说明)、CEUS 定量是否成功、CEUS 失败在第几步、7 个槽位各一列(取到写视频时间秒数,没取到写「未取到」,CEUS 失败或没装 CEUS 时留空)。 +- **`问题清单.csv`**:列为病例号、视频号、环节、问题。按病例号排序,一个病例可以多行。来源和写法见下文「问题清单的来源」。 +- **`标准答案/`**:答案库的 4 张表照原样转成上面的 CSV 规格,列名不改。诊断编码和其他编码列照原值写;说明文件里写明编码含义(诊断 1 IPMN、2 SPN、3 MCN、4 SCN,出自交付包表头;其他编码列写「未解码」,解码开关见 `build.yaml`)。 +- **`临床信息.csv`**:资料库临床一路的字段,一行;列名用交付包原列名。 +- **`超声报告.pdf`、`MR报告.pdf`**:资料库里的报告原文(就是 AI 专家看到的那段,结论段已被程序去掉),PDF 第一行写「病例号 Pxxx 超声描述(结论段已去除)」之类的标题,正文照抄不改字。 +- **`关键图.png`、`关键帧/`**:从资料库拷贝(已去附加数据的那份),逐字节不变,只改文件名。 +- **`TIC曲线.png`、`回放视频.mp4`**:从 CEUS 运行目录逐字节拷贝。 +- **`TIC结果.csv`**:把资料库的 `tic.json` 摊平成「项目、值」两列的长表:四条曲线各自的拟合是否成功和 R²、灌注指标逐项、紫圈曲线是否可用、7 个槽位的状态与时间或原因。项目名用中文加原字段名,例如「病灶整体曲线 拟合成功(roi_all.success)」。 +- 没装 CEUS 结果的构建(`ceus_run` 为 null)也能出包:没有关键帧、TIC 曲线、TIC 结果、回放视频,病例总表里 CEUS 各列留空,说明文件写明这次没有 CEUS 结果。 + +### 问题清单的来源 + +每条都能追到某个已有文件里的某个值,不另做判断: + +| 环节 | 来源 | 写法 | +| --- | --- | --- | +| 装配资料库 | 答案库的跳过清单 | 检查说明 + 涉及的文件、列和值,原样写 | +| CEUS 第 N 步 | CEUS 运行的 `failed.csv` | 「第 N 步失败:」+ 原因原文 | +| TIC 拟合 | `tic.json` 里病灶整体、病灶去暗区两条曲线 `success` 为 false | 「病灶整体曲线未完成拟合」(去暗区同理);原因码(如 `parameter_on_boundary`)照写在括号里,并在说明文件里逐个解释每个原因码的意思 | +| 关键帧 | `tic.json` 里没定位的槽位 | 「B0 未取到:」+ `reason` 原文 | +| 紫圈 | `pan_curve_usable` 为 false | 「紫圈曲线不可用」 | + +报告复核句(`标准答案/报告复核句.csv`)不进问题清单,单独成表。 + +### 说明.pdf + +源文件是仓库里的一份版本化 Markdown 模板(放在 `src/cadx/review/` 下,随代码走),出包时填入这次的构建号、CEUS 运行号、病例计数,再转成 PDF。至少写清: + +1. 这个包是什么、从哪次交付数据处理来(构建号、CEUS 运行号、生成日期);包里含患者资料,只在临床方与我们之间传递。 +2. 目录结构,每个文件是什么。 +3. 每张 CSV 每一列的意思。 +4. 我们的处理流程,用医生能懂的话分步讲(读交付包和检查 → CEUS 的第 1–9 步各做什么 → 装进资料库),问题清单里「环节」一列的每种取值对应哪一步。 +5. 7 个关键帧各代表什么时刻、怎么取(B0、D1–D4 来自拟合曲线,F1、F2 按推注时间取),以及「未取到」的几种原因。 +6. TIC 曲线图怎么看:每条线是什么(图上标注是英文,在这里逐个对照成中文)、竖线是什么。 +7. 化名是什么、为什么有;报告里的结论段为什么被去掉(AI 专家不能看到医生的诊断倾向);资料库只放「所见」。 +8. 编码列的含义(诊断编码,以及「未解码」的列)。 +9. 跳过病例为什么整例跳过、每例只记第一项没过的检查。 + +转换工具:`pandoc` 把 Markdown 转成 docx,再用 `soffice --headless --convert-to pdf` 转 PDF(本机都有,中文字体用已装的 Noto CJK)。报告 PDF 用同一条路。两个工具的版本记进快照。工具缺失直接报错。 + +## 怎么实现 + +### 模块 + +新建组织层模块 **review**(`src/cadx/review/`),藏住「核对包长什么样」这个决定:目录布局、每个文件的格式、问题清单的来源与写法、说明模板。 + +- 依赖:library(按化名读出各路)、answers(读 4 张表)、runs(读快照、读 CEUS 运行,见下)。不依赖 build、delivery、ceus。 +- 它读的是已经构建好的 `library/` 和 `answers/`,不碰交付包。病例总表里的 40 例 = 答案库的化名对照 + 跳过清单。 +- 只有 library 能引用 PIL:review 拷图片只按字节拷,不打开图片。 + +**CEUS 运行目录的读取挪进 runs。** 现在 build 的 `_ceus.py` 自己读 `runs/ceus/<运行号>/` 的布局(`failed.csv`、`summary.json`、关键帧),review 也要读。按 `结构.md` 第三部分「出现第二个使用者再收进模块」,把**读 CEUS 运行目录**(打开运行、读 `failed.csv`、按视频号找结果目录和其中的文件)收进 runs,build 和 review 都经 runs 读。tic.json 挑哪些字段仍只在 build 里列(可见性的唯一决定处不动)。挪完 build 的行为不变,原有测试照过。 + +### 入口 + +`scripts/review_pack.py --config config/review_pack.yaml`。配置(字段定义在 review,全部必填): + +- `library_dir`、`answers_dir`:某次构建的资料库和答案库目录,两者目录名(构建号)必须相同,不同就报错; +- `output_root`:`runs/review_pack`。 + +CEUS 运行从资料库 `manifest.json` 的 CEUS 来源字段读,不另配。 + +运行目录先写 `.partial`,跑完改名,已存在报错(规则同前两份任务书)。快照记 git 状态、配置原文、构建号、CEUS 运行号、pandoc 和 soffice 版本。快照放在 `医生核对包_<构建号>/` 外面,负责人只打包里面那个目录。 + +终端只打印计数:病例数、问题清单行数(按环节分)、PDF 份数、拷贝的视频总大小、耗时。不打印病例号。 + +### 规模 + +| 部分 | 预期行数 | +| --- | --- | +| review(含说明模板以外的代码) | 300–500 | +| `scripts/review_pack.py` | ≤ 80 | +| runs 增量(读 CEUS 运行) | ≤ 150,build 相应减少 | + +## 测试 + +预期值照本任务书写,不从实现里推。用现有的假交付包和假 CEUS 运行(`tests/fake_delivery.py`、`tests/fake_ceus_run.py`)构建一次,再出包: + +- 目录结构与上面一致;进库病例每例一个目录、名为病例号;跳过的病例没有目录、在病例总表和问题清单里有。 +- 每张 CSV 以 BOM 开头、列名与本任务书一致、缺失值为空串。 +- 问题清单:每种来源至少各造一例,断言行数和「环节」「问题」原文。 +- 关键图、关键帧、TIC 曲线、回放视频与源文件逐字节相同;关键帧文件名的秒数等于 `tic.json` 里的 `video_time_s` 保留一位小数。 +- `TIC结果.csv` 的值与 `tic.json` 逐项相同。 +- `ceus_run` 为 null 的构建也能出包,CEUS 相关文件都不存在。 +- 资料库与答案库构建号不同时报错。 +- 说明和报告 PDF 生成成功、非空(这条依赖 pandoc 和 soffice,照常进 `make check`;如果让 `make check` 多出 30 秒以上,在报告里写明耗时,不自行加标记跳过)。 +- build 原有测试全部照过(CEUS 运行读取挪进 runs 之后)。 + +## 真跑 + +用当前真实构建 `20261016-094248-1de88a5-dirty` 出一次包。报告:运行号、病例数、问题清单按环节分的行数、包的总大小、耗时;挑 1 个病例目录和 `说明.pdf` 的路径供负责人目视检查。不在报告里写病例号以外的任何病例内容。 + +## 文档 + +- 新写 `research-wiki/guides/医生核对包.md`:什么时候跑、怎么跑、产物在哪、打包前去掉 `snapshot/`。过一轮「硕士生阅读」。 +- `结构.md`:第三部分加 review(组织层,可依赖 library、answers、runs),依赖表和 import-linter 契约同步;第四部分加核对包一节(指向本任务书和 guide,不抄布局);第五部分配置表加 `review_pack.yaml`;第六部分加规模;第八部分加对外接口。 +- `WORK_LOG.md`。 + +## 审阅 + +「其余部分」那一档,写完派一个全新上下文的子 Agent 审一轮:只给本任务书、`结构.md` 第三到第五部分和 diff。重点:问题清单有没有漏掉某个来源、有没有写进推测性的话;拷贝是否逐字节;CEUS 运行读取挪进 runs 后 build 行为是否不变;review 有没有写进 `library/` 或 `answers/`(不许)。Codex 连不上就跳过。 + +## 报告 + +1. 提交号;各部分行数。 +2. `make check` 完整输出。 +3. 真跑结果(见上)。 +4. 审阅意见和处理。 +5. 和本任务书、`结构.md`、`AGENTS.md` 不一致的地方,以及为什么。