news 2026/8/25 8:52:44

DeepInverse深度成像物理全景 tour:如何模拟MRI、CT、PET与衍射成像

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepInverse深度成像物理全景 tour:如何模拟MRI、CT、PET与衍射成像

DeepInverse深度成像物理全景 tour:如何模拟MRI、CT、PET与衍射成像

【免费下载链接】deepinvDeepInverse: a PyTorch library for solving imaging inverse problems using deep learning项目地址: https://gitcode.com/gh_mirrors/de/deepinv

DeepInverse(DeepInverse)是一个基于 PyTorch 的开源库,专为求解深度成像逆问题而设计。它的核心理念是:任何成像过程都可以抽象成"信号 → 物理前向模型 → 含噪测量 → 重建"的链条。在本文的 tour 中,你将快速上手 DeepInverse 内置的前向算子,一行代码即可模拟 MRI(磁共振)、CT(计算机断层扫描)、PET(正电子发射断层)和衍射成像(相位恢复)四大经典成像系统,并了解如何用深度学习把它们重建回来。

一、为什么需要"物理前向模型"?

深度学习重建的关键前提,是先准确地模拟成像过程。DeepInverse 把所有成像系统统一封装在 deepinv/physics/ 模块中,每个成像设备对应一个Physics类:

成像系统对应类物理含义
磁共振成像 MRIMRI/MultiCoilMRI/DynamicMRIk 空间欠采样(傅里叶子采样)
CT 断层扫描TomographyRadon 变换(稀疏角度投影)
PET 分子影像PET投影 + 泊松噪声 + 衰减建模
衍射成像PhaseRetrieval/Ptychography只测强度、丢失相位

统一的接口意味着:换成像设备只需要换一个类,而训练器、损失函数、优化器全部复用。

二、MRI 模拟:欠采样的 k 空间魔法 🧲

磁共振采集的不是图像,而是**傅里叶域(k 空间)**的离散采样。DeepInverse 的MRI算子定义在 deepinv/physics/mri.py 中,其前向模型就是y = M·F·x(F 为傅里叶变换,M 为掩膜)。

上手三步走

  1. 生成采样掩膜:用GaussianMaskGenerator生成高斯欠采样掩膜(支持 4x 加速),无需手写任何傅里叶代码
  2. 定义物理模型dinv.physics.MRI(mask=mask, noise_model=GaussianNoise(...))
  3. 前向测量:对复数输入(实部/虚部各占一个通道)调用physics(x)即得含噪 k 空间数据

💡亮点功能

  • 内置GaussianMaskGeneratorRandomMaskGeneratorEquispacedMaskGenerator三种笛卡尔采样策略(见 deepinv/physics/generator/mri.py)
  • 支持DynamicMRI(k-t 动态成像)与MultiCoilMRI(多线圈并行采集)
  • 与 FastMRI 数据集无缝对接,配套完整教程在 examples/physics/demo_mri_tour.py,涵盖单线圈、多线圈、动态与 3D MRI 全流程

三、CT 模拟:稀疏角度的 Radon 变换 🩻

CT 的核心是Radon 变换——把图像积分到一系列平行射线上,得到"正弦图(sinogram)"。DeepInverse 的 deepinv/physics/tomography.py 提供了Tomography类:

  • 稀疏角度模拟angles=40即可生成 40 个投影角度(远少于临床的数百个),天然模拟欠采样 CT
  • 扇束几何支持fan_beam=True可模拟锥形/扇束束几何(真实 CT 设备常用)
  • 一键 FBP 重建physics.fbp(y)直接调用滤波反投影作为初始重建
  • 3D 进阶TomographyWithAstra支持 2D/3D 任意几何,适合研究稀疏角度 CT

在 examples/physics/demo_physics_tour.py 中,一个Tomography实例配合PoissonGaussianNoise混合噪声,就能复现真实 CT 的稀疏角度测量——包括漂亮的条纹伪影。

四、PET 模拟:泊松噪声 + 衰减校正 ✨

PET 是分子影像的核心,其前向模型比 CT 更复杂:

$$ y \sim \gamma , \mathcal{P}\left(\frac{c \circ H(g * x) + b}{\gamma}\right) $$

DeepInverse 的 deepinv/physics/pet.py 完整实现了这条公式:

  • 物理模糊:高斯核g模拟探测器点扩散(FWHM 可配)
  • 本底建模:参数background加入本底计数
  • 衰减校正:传入 CT 扫描得到的 μ 图,自动计算c = exp(-Hμ)
  • 泊松统计normalize_counts=False时输出真实整数计数

该算子基于parallelproj库,同时支持 2D 图像与 3D 体积。官方示例 examples/physics/demo_pet2d.py 与 examples/physics/demo_pet3d.py 演示了从模拟测量到 MLEM/优化重建的完整流程,非常适合 PET 深度学习重建研究入门。

五、衍射成像:相位恢复与层析成像 🔬

衍射成像的最大挑战是相机只能记录光强、丢失相位,即y = |Bx|²。DeepInverse 在 deepinv/physics/phase_retrieval.py 中提供了:

  • RandomPhaseRetrieval:随机矩阵相位恢复,附带谱方法初始化(A_dagger自动给出高质量初值)
  • Ptychography:分层(重叠照明)衍射层析成像线性算子
  • VJP 支持:内置向量-雅可比积A_vjp,梯度下降重建天然高效

配合PGD优化器 + PnP 先验,examples/physics/demo_phase_retrieval.py 展示了四种重建策略的对比;examples/physics/demo_ptychography.py 则演示了纳米级显微的照明重叠扫描。下面的显微去噪对比图直观展示了"测量含噪 → 重建清晰"的成像链路:

六、组合物理与噪声:构建真实场景

真实成像从来不是单一设备。DeepInverse 提供强大的组合能力(deepinv/physics/forward.py):

  • ComposedPhysics:串联多个物理模型(如"模糊 + 下采样 + 噪声")
  • StackedPhysics:堆叠测量(如"高斯灰度 + 低分辨率 RGB"的泛锐化问题)
  • 14 种噪声模型:泊松、高斯、泊松-高斯、里奇、椒盐……在 deepinv/physics/noise.py 中任选

只需一行dinv.physics.compose(physics1, physics2)即可得到复合前向算子,自动维护精确的伴随算子与伪逆。

七、快速上手:从 Tour 到训练 🚀

推荐学习路径

  1. 跑通 examples/physics/demo_physics_tour.py——20 多种前向算子的 5 分钟巡礼
  2. 深入目标模态:MRI 看demo_mri_tour.py,PET 看demo_pet2d.py
  3. 搭配 deepinv/optim/ 中的优化器(PnP、LISTA、ADMM)或 deepinv/unfolded/ 中的展开网络完成重建

社区持续活跃,Hackathon 2025 汇聚了全球研究者共同推进逆问题深度学习的边界:

小结:DeepInverse 把 MRI、CT、PET、衍射成像等复杂物理过程封装成即插即用的 PyTorch 算子——统一的接口、精确的伴随、丰富的噪声模型,让你可以把全部精力放在重建算法与深度学习模型本身。从一行physics(x)开始,开启你的成像逆问题之旅吧!

【免费下载链接】deepinvDeepInverse: a PyTorch library for solving imaging inverse problems using deep learning项目地址: https://gitcode.com/gh_mirrors/de/deepinv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 8:52:38

MacVim用户必看:winresizer如何一键调整GUI窗口大小的完整指南

MacVim用户必看:winresizer如何一键调整GUI窗口大小的完整指南 【免费下载链接】winresizer very simple vim plugin for easy resizing of your vim windows 项目地址: https://gitcode.com/gh_mirrors/wi/winresizer winresizer 是一款极简的 Vim 插件&am…

作者头像 李华
网站建设 2026/8/25 8:52:33

图吧工具箱 TubaWinUI3:把 82 款硬件检测工具装进 WinUI 3 界面

图吧工具箱 TubaWinUI3:把 82 款硬件检测工具装进 WinUI 3 界面 【免费下载链接】tubatools 图吧工具箱 winUI3 版 项目地址: https://gitcode.com/gh_mirrors/tu/tubatools 给新组装的电脑做验收,我的习惯是依次打开 CPU-Z、CrystalDiskMark 和 …

作者头像 李华