【问题标题】:SPM Dicom Convert in python (Ipython/ Nipype)python 中的 SPM Dicom 转换 (Ipython/Nipype)
【发布时间】:2015-05-28 13:29:16
【问题描述】:

我是 python 的新手,或者更具体地说是 ipython。如NiPype所述,我一直在运行一个名为SPM的统计包中应该是非常简单的Dicom转换的步骤,用于MRI图像文件。我无法让它运行,并且想知道我做错了什么。我没有收到错误消息,而是没有文件更改或输出。它只是挂起。有谁知道我可能做错了什么?我很可能在这里遗漏了一些非常简单的东西(对不起:(

import os
from pylab import *
from glob import glob
from nipype.interfaces.matlab import MatlabCommand as mlab
mlab.set_default_paths('/home/orkney_01/s1252042/matlab/spm8')
from nipype.interfaces.spm.utils import DicomImport as di

os.chdir('/sdata/images/projects/ASD_MM/1/datafiles/restingstate_files')
filename = "reststate_directories.txt"
restingstate_files_list = [line.strip() for line in open(filename)]

for x in restingstate_files_list:
    os.chdir( x )
    y = glob('*.dcm')
    conversion = di(in_files = y))
    print(res.outputs)

【问题讨论】:

  • 尝试在您的代码中添加一些print() 语句,这样您就可以看到它在挂起之前有多远 - 这将帮助您缩小问题所在。
  • /sdata/images/projects/ASD_MM/1/datafiles/restingstate_files 真的是您想要的目录吗?即 sdata 是 root 的孩子吗?如果 sdata 位于运行脚本的目录下的目录中,则删除前导 '/'

标签: python dicom nipype matlab-spm


【解决方案1】:

您正在创建一个DicomImport 接口,但实际上并没有运行它。你应该有res = di.run()

另外,你最好在运行前使用di.base_dir = '/some/path'告诉界面在哪里运行。

最后,您可能还想打印restingstate_files_list 的内容以检查您是否正确找到了 DICOM 目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    相关资源
    最近更新 更多