2015-05-28 3 views
1

Я новичок в python или, более конкретно, в ipython. Я выполнял шаги, чтобы запустить то, что должно быть очень простым преобразованием Dicom в статистическом пакете под названием SPM для файла изображений MRI, как описано в NiPype. Я не могу заставить его работать, и мне было интересно, что я делаю неправильно. Я не получаю сообщение об ошибке, вместо этого нет изменения файла или вывода. Он просто висит. Кто-нибудь знает, что я могу делать неправильно? Вполне вероятно, что я пропускаю что-то очень простое здесь (извините :(SPM Dicom Преобразование в python (Ipython/Nipype)

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) 
+0

Попробуйте добавить в свой код некоторые операторы 'print()', чтобы вы могли видеть, как далеко оно доходит до повешения - это поможет вам сузить проблему. –

+0

Действительно ли '/ sdata/images/projects/ASD_MM/1/datafiles/restingstate_files' действительно каталог, который вы хотите? то есть sdata является потомком корня? если sdata находится в каталоге ниже того, в котором работает ваш скрипт, затем удалите ведущий '/' –

ответ

0

Вы создаете интерфейс DicomImport, но вы на самом деле не запустить его. Вы должны иметь res = di.run().

Кроме того, вы лучше сказать интерфейс, куда бежать, используя di.base_dir = '/some/path' перед запуском.

Наконец, вы также можете распечатать содержимое restingstate_files_list, чтобы проверить, что вы правильно найти каталоги DICOM.

Смежные вопросы