使用 CC-359 数据集进行 MRI 重建(三)

上一篇中,我们观察了 CC-359 数据集。

本篇,我们将利用 CC-359 数据集进行 MRI 的重建。关于 MRI 的重建,我将提供两种方法:

方法一:直接建立 零填充的欠采样图像 到 全采样图像 之间的映射,具体操作如下,对于 CC-359 数据集中的原始数据(target-k-space,256x256x2),经欠采样得到(under-K-space,256x256x2),对它们进行逆傅里叶变换,分别得到 全采样图像(target-img,256x256) 和 零填充的欠采样图像(under-img,256x256),然后直接训练从 under-img 映射到 target-img 的网络,网络的输入为 under-img(256x256),输出为 rec-img(256,256),目标为 target-img(256x256)。这种方法将 MRI的重建 退化成一个普通的图像问题,操作简单,但是在网络结构中并没有很好的用到 MRI 的频域信息。

方法二:网络的输入是 under-K-space(256x256x2) 与 under-img(256,256),输出为 rec-img(256,256),目标为 target-img(256x256)。这种方法在网络结构上会有图像频域信息与时域信息之间的融合。

本篇将介绍方法一,下一篇介绍方法二。

这里主要是将 fastMRI 的代码进行了一些改写,我感觉他们的代码比较方便扩展,可以让我们只关注于网络的结构,其它的部分都是通用的。

改写后的代码放在我的 github 上,代码组织结构上与 fastMRI的代码一致,主要内容如下:

checkpoints文件夹 是 “模型保存” 和 “tensorboard 记录训练过程”的地方。

data文件夹 存放了相关的数据处理函数。

evaluate_result文件夹 存放了重建图像的重建效果指标(PSNR 与 SSIM),由 utils/evaluate_from_i.py 生成。

mask文件夹 存放了一些欠采样所用的模板。

reconstructions_val文件夹 是用训练好的网络对 欠采样后的Val数据 进行重建时,生成的重建图像,由下图中的 run.py 生成。

utils文件夹 存放了一些辅助函数。

models文件夹 存放了网络模型以及训练网络的文件,如下:

其中 unet_model.py  是扩展自己的模型时,需重点改动的地方。

注:

1、本代码使用了  Tensorboard 与 visdom 两种方法记录训练时的情况,其中 Tensorboard 是默认使用的,visdom 可以通过输入参数 use-visdom 选择是否使用,visdom 对于使用远程服务器训练的情况比较方便(若使用 visdom,请先在服务器上开启 visdom 服务)。

2、在 第一幅图所在的目录下,使用如下命令,进行训练(train),测试Val(run),评价重建效果(evaluate):

(1)、train

python models/Unet/train.py --data-path /home/jinfeng/Desktop/Brain_workplace/Brain_datasets  --exp-dir checkpoints/unet  --use-visdom True

(2)、run

python models/Unet/run.py  --data-path '/home/jinfeng/Desktop/Brain_workplace/Brain_datasets' --checkpoint 'checkpoints/unet/best_model.pt'  --out-dir reconstructions_val/unet

(3)、evaluate

python utils/evaluate_from_i.py --target-path /home/jinfeng/Desktop/Brain_workplace/Brain_datasets/Val --predictions-path reconstructions_val/unet --name unet  --i 0

当在训练过程中按下 Ctrl+c 中断训练后,可用如下命令恢复训练:

python models/Unet/train.py --data-path /home/jinfeng/Desktop/Brain_workplace/Brain_datasets  --use-visdom True  --resume  --checkpoint checkpoints/unet/model.pt

3、 使用 Val 进行 零填充重建 ,用如下命令:

python models/zero_filled/run_zero_filled.py --out-path reconstructions_val/zero_filled

 

下图是在训练过程中,visdom 所显示的图像:

 

 

 

 

 

 

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值