Views
No views yet
code/
├── run.py # 启动入口
├── ui_main.py # 主界面、事件调度、数据加载、处理分发
└── demo_app/
├── __init__.py
├── config.py # 模型路径、窗宽窗位预设、输出目录
├── widgets.py # Matplotlib 画布组件
├── ct_processing.py # CT 去噪处理器
├── mri_processing.py # MRI 处理器(去噪/Gibbs/SuperRes)
├── image_utils.py # 窗宽窗位、归一化、类型转换工具
├── io_utils.py # NIfTI / DICOM / PNG 读写
└── model_utils.py # TorchScript 模型加载| 包 | 用途 |
|---|---|
| PyQt5 | GUI 框架 |
| torch | 模型推理 |
| numpy | 数值计算 |
| pydicom | DICOM 读写 |
| Pillow | 图像保存 |
| matplotlib | 图像显示 |
| nibabel | NIfTI 读写 |
pip install PyQt5 torch numpy pydicom Pillow matplotlib nibabelcode/ 目录下运行:python run.py| 输入方式 | 支持格式 | 行为 |
|---|---|---|
| 选择图像文件 | .dcm / .nii / .nii.gz | 单个 DCM → 2D 直接处理;NIfTI → 按维度自动识别 |
| 选择 DICOM 文件夹 | 含多个 .dcm 的目录 | 自动堆叠为 3D volume,按 InstanceNumber / SliceLocation 排序 |
weights/ireal_ct_denoise_model/ 下的模型文件weights/mri_DLModels/ 下)weights/ 和 data/ 加载。可通过环境变量覆盖:| 环境变量 | 默认值 | 说明 |
|---|---|---|
CT_MODEL_DIR | ../weights/ireal_ct_denoise_model/ | CT TorchScript 模型目录 |
MR_MODEL_DIR | ../weights/mri_DLModels/ | MR TorchScript 模型目录 |
MR_OUTPUT_DIR | ~/demo_results/mri/ | MR 结果输出目录 |
CT_OUTPUT_DIR | ~/demo_results/ct/ | CT 结果输出目录 |
demo_app/config.py 的 CT_WINDOW_CONFIGS 中配置,按部位 → 预设名 → (窗宽, 窗位) 组织。~/demo_results/mri/~/demo_results/ct/demo/
├── code/ # 源代码(本目录)
├── weights/ # 预训练模型
│ ├── ireal_ct_denoise_model/ # CT 去噪模型(6 个 .pt)
│ └── mri_DLModels/ # MR 模型(3 个 .pt + 配置文件)
└── data/ # 测试数据
├── ct_denoise/5S_abdomen/ # 腹部 CT NIfTI 样本
└── mri/DGREx_TRA_bh (out)/ # MR DICOM 序列样本