一个用于开源推理/预处理的一键管道(不包含训练代码):
- DICOM → NIfTI(可选)
- nnUNetv2 推理(2D/3D,可选)+ ensemble(可选)
- 生成推理所需 CSV
- 调用
project-lighter/lighter推理(VM / Prognosis,可选) - 无标签病例级汇总分析(多数表决 + 置信度统计)
说明:本仓库只负责“流程编排 + 数据准备 + 结果汇总”。 本仓库内置 fmcib 源码(非 pip 安装),用于与
project-lighter的配置对接;权重文件不随仓库分发。
推荐 conda:
conda env create -f environment.yml
conda activate vm-pipeline-lite
# 让本仓库里的 vm_pipeline + fmcib 可被 import(建议)
pip install -e .如果你希望一次性装齐 DICOM/CSV/预测/分析 的所有依赖(不含 nnUNet),用下面两个文件之一:
- CPU:
conda env create -f environment-inference-cpu.yml
conda activate vm-pipeline-infer
pip install -e .- GPU(CUDA 12.1 示例):
conda env create -f environment-inference-cu121.yml
conda activate vm-pipeline-infer
pip install -e .如果你的 CUDA 版本不是 12.1,请在 environment-inference-cu121.yml 中把 pytorch-cuda=12.1 改成你的版本。
如果你只想跑 CSV/分析(不做 DICOM 转换与 nnUNet),也可以用:
pip install -r requirements.txt
# 同样建议可编辑安装,确保 import 路径稳定
pip install -e .VM/Prognosis 预测需要 project-lighter 以及深度学习依赖(torch/monai/lightning)。
pip install -r requirements-predict.txttorch 请按你的 CUDA/驱动版本自行安装匹配版本(避免冲突)。
nnUNet 通常单独环境,参考 environment-nnunet.yml 自行调整(Torch/CUDA 需匹配)。
假设你已有:
- 图像 NIfTI:
data/nii_images/*.nii.gz(例如CASE123_0000.nii.gz) - 分割 mask NIfTI:
data/nii_masks/*.nii.gz(例如CASE123.nii.gz)
运行:
python -m vm_pipeline.pipeline_full \
--nii_dir ./data/nii_images \
--ensemble_dir ./data/nii_masks \
--csv_path ./outputs/dataset.csv \
--run_csv \
--run_analysis你需要:
- 安装
project-lighter(提供lighter.utils.cli.interface) - 安装/提供你的模型代码(例如
fmcib)与权重文件 - 修改/提供配置:
configs/get_predictions_VM.yaml、configs/get_predictions_Prognosis.yaml
运行:
python -m vm_pipeline.pipeline_full \
--csv_path ./outputs/dataset.csv \
--vm_yaml ./configs/get_predictions_VM.yaml \
--prognosis_yaml ./configs/get_predictions_Prognosis.yaml \
--vm_pred_csv ./outputs/preds_vm.csv \
--prognosis_pred_csv ./outputs/preds_prognosis.csv \
--run_vm_pred --run_prognosis_pred --run_analysis- 不要提交任何真实患者数据与推理结果(DICOM/NIfTI/CSV/logs)。
- 不要在代码/配置里硬编码你本机的绝对路径(本仓库已默认使用相对路径)。
- 权重文件建议通过 HF/Zenodo 等提供下载链接,并在 README 写清楚放置位置。