开发者: Xiaoxiao Zhang
这是一个基于PyQt5的 Philips CEST (Chemical Exchange Saturation Transfer) MRI 图像处理工具。提供直观的GUI界面,支持完整的CEST数据分析流程。
- 支持NIfTI格式的CEST数据加载 (*.nii, *.nii.gz)
- 支持ROI mask加载
- 支持Chemical Shift Offset (ppm)文本文件导入
- PCA降噪: 可配置主成分保留比例
- 图像配准: 刚体配准(平移和旋转)
- B0不均匀性校正: 高斯或Lorentzian峰值检测
- 空间滤波: 高斯平滑和中值滤波
-
2-Step Lorentzian拟合
- Step 1: Water和MT峰拟合及B0校正
- Step 2: 代谢产物拟合(可选组件)
-
支持的代谢产物:
- Water (水峰)
- MT (Magnetization Transfer)
- NOE (-3.5 ppm)
- NOE (-1.6 ppm)
- Creatine (肌酸)
- Amide (酰胺)
- Amine (胺基)
- Hydroxyl (羟基)
- Z-Spectroscopy曲线: 原始数据和多种拟合曲线
- 参数图: 代谢产物百分比分布
- ROI分析: ROI内平均Z谱及拟合结果
- 结果表格: 各ROI的拟合参数汇总
- CSV格式导出拟合结果
- Excel格式导出(可选)
- 参数图保存
- Python 3.8+
- Windows / macOS / Linux
- 4GB+ RAM (推荐8GB以上)
- GPU: 可选,用于加速大规模图像处理
# 克隆或下载项目
cd pyCESTgui
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 运行应用
python main.py双击 CESTGui.exe 直接运行(无需Python环境)
# 安装PyInstaller
pip install pyinstaller
# 运行打包脚本
python build_exe.py生成的可执行文件位于 dist/ 目录下。
- 点击"CEST数据"旁边的"浏览..."按钮选择NIfTI格式的CEST MRI文件
- 点击"Mask"旁边的"浏览..."按钮选择ROI mask文件
- 点击"Offset"旁边的"浏览..."按钮选择化学位移文本文件
- 勾选"启用PCA降噪"并设置保留比例(默认80%)
- 勾选"启用高斯平滑"并调整平滑因子
- "B0校正"默认启用,选择检测方法
- 在"选择代谱产物"中勾选要分析的组份
- 选择分析模式:"ROI平均"或"逐像素分析"
- 点击"执行预处理"进行数据预处理
- 点击"执行拟合"进行CEST拟合分析
- 在"Z谱"选项卡中查看拟合曲线
- 在"结果表格"中查看定量参数
点击"导出结果"将分析结果保存为CSV或Excel文件
pyCESTgui/
├── main.py # 应用入口
├── requirements.txt # Python依赖
├── build_exe.py # 打包脚本
├── README.md # 本文件
├── src/
│ ├── __init__.py
│ ├── modules/ # 核心算法模块
│ │ ├── __init__.py
│ │ ├── nifti_loader.py # NIfTI文件处理
│ │ ├── preprocessing.py # 预处理算法
│ │ ├── fitting.py # CEST拟合算法
│ │ └── visualization.py # 可视化显示
│ └── gui/ # GUI相关文件
│ ├── __init__.py
│ └── main_window.py # PyQt5主窗口
├── resources/ # 资源文件(图标等)
└── dist/ # 打包输出目录
Z-Spectroscopy频谱可以分解为多个Lorentzian峰:
其中:
-
$A_i$ : 峰振幅 -
$FWHM_i$ : 半高宽 -
$\omega_i$ : 峰中心位置 -
$\Delta\omega$ : 化学位移偏移
- Step 1: 拟合Water和MT峰,获得B0校正值
- Step 2: 使用校正后的偏移量拟合其他代谢产物
A: 首次加载需要初始化环境,这是正常的。如果持续缓慢,检查:
- 是否有病毒扫描程序干扰
- 磁盘空间是否充足
- 系统资源使用率
A: 检查以下几点:
- 数据格式是否正确(确保是NIfTI格式)
- offset顺序是否正确
- 是否有异常值或坏像素
- 尝试调整预处理参数
A: 当前版本支持单个ROI分析。批量处理功能计划在下一版本实现。
- 使用逐像素分析前,建议先用ROI平均模式验证参数
- 启用PCA降噪可显著加速处理
- 可选启用GPU加速(需支持CUDA)
- 对3D数据进行切片处理
- 及时清理不需要的中间结果
如果出现"ModuleNotFoundError",请确保:
- 已安装所有依赖:
pip install -r requirements.txt - Python版本>=3.8
- 虚拟环境已激活
- Windows: 更新显卡驱动
- Linux: 安装
python3-tk和python3-pyqt5 - macOS: 确保安装了最新的PyQt5
- 首个发布版本
- 完成基础功能实现
- 支持2-step Lorentzian拟合
- GUI可视化展示
- 数据导入导出
如果在学术研究中使用本工具,请引用:
pyCESTgui: A Python-based CEST MRI Analysis Tool
Version 1.0.0
MIT License
如有问题或建议,请联系开发团队。
感谢所有贡献者和使用者的支持!
更新时间: 2024年3月 联系方式: [your contact info]