毕业设计-前期数据预处理

这篇博客记录了作者在毕业设计中进行MRI数据预处理的过程,包括图像配准、裁剪及归一化。作者遇到了文件路径处理问题,通过重命名和批量处理解决了文件存储问题。在配准过程中,作者对比了单张配准的时间,并探讨了批量处理的可能性。此外,还介绍了数据下载、文件整理和使用TMUX在后台处理数据的方法,以及后续的裁剪和背景去除步骤。
摘要由CSDN通过智能技术生成

前言

这个步骤其实拖沓了很久了,一直没有真正解决,这个礼拜由于老师的要求,必须完成数据的收集以及处理步骤,因此这也使得毕设成为了每天的重头戏。

之前上周以及上上周已经在linux服务器上安装了fsl,但是由于部分配置问题,导致原来写好的脚本无法使用,但是单张配准倒是可以实现,今天的实现思路如下:

  1. 按照之前的范例试着将其输出到特定文件夹内。
  2. 使用matlab实现配准,配准的程序另外实现。

工作内容

按照之前的范例将其输出到特定文件夹内

主要问题是之前在运行程序的过程中,输出的文件没有存储到指定的路径中,而是直接命名为该路径,那么如何解决这个问题呢?我猜测是文件无法识别路径而是需要我们输入一个特定的文件,输出的文件就命名如此,那么我们需要:

  1. 提取每次处理的文件的名称
  2. 加上路径,因此名称不变,存储到另外一个文件夹(路径)

初始代码:

import nibabel as nib
import numpy as np
from glob import glob
import nipype
from nipype.interfaces import fsl
from subprocess import call
import sys
import os

def registration(in_file, out_file, reference):
    fsl.FSLCommand.set_default_output_type('NIFTI')
    flt = fsl.FLIRT(bins=640, cost_func='mutualinfo')
    flt.inputs.in_file = in_file
    flt.inputs.out_file = out_file
    flt.inputs.reference = reference
    result = flt.run()

if __name__ == "__main__":

 raw_folder = sys.argv[1]  # where the raw data is saved
 out_folder = sys.argv[2]  # where you want to save processed scans

for file in glob(raw_folder+'/*.nii'):
    reference = 'MNI152_T1_1mm.nii'
    out_folder = file
    registration(file, out_folder, reference)



bash registration.sh folder_of_raw_nifti/ test1.nii output_folder_for_processed_data/

再谈一谈其配准的性能,单张配准的时间在三分钟左右,那么就算只有五百张,也需要1500分钟,即25个小时。这样就会导致我有25个小时基本没法使用服务器。

目前最差的情况就是我手动配准,每三分钟配一张,那么计算4分钟一张,一天也只能配准150张左右。(而且手动配准实在太蠢了,还是在后台让服务器自己跑吧)

目前为了研究各种MRI成像之间的差异,我下载了一位ID为“S1203”的患者的四种MRI的图像,基本是靠观察看图像的成像质量:

  1. MPRAGE
    MPRAGE

  2. MPRAGE-REPEAT
    在这里插入图片描述

  3. Calibration-body
    在这里插入图片描述

  4. Calibration-head
    在这里插入图片描述
    明显calibration系列的清晰度很低,基本没有结构细节,所以一概采用MPRAGE系列的成像。没有该系列成像的ID将被抛弃。

笔者手动挑选好(指逐个点击添加)后,目前已经处于下载的阶段了,下载好之后基本就是测试配准。只希望校园网别断。。。
在这里插入图片描述
又发现一个新问题,也就是名字太长居然显示无法配准?实在没法弄懂其逻辑,但是目前好像最好的办法是我挨个重命名后配准,大概需要花两天?如果没有猜错的话repeat是四维图像,而MPRAGE是三维版本,因此速度还是快不少的。现在我再配准个mprage试下就知道了,如果控制在单个一分钟内,300-400分钟也不是不能接受。

所以目前得到的步骤是:

(1)数据下载以及名称处理

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值