Как прочитать несколько файлов nifti в Matlab с помощью spm_select?

Я хочу использовать spm_select в цикле в Matlab, чтобы выбрать несколько файлов NIFTI. Тем не менее, кажется, что цикл не может работать правильно.

В каждой папке темы (всего 18 субъектов в subjList = {'2','3','6',...}, в каждой папке темы есть 4 прогона (в runList = {'run1','run2','run3','run4'}. И в каждом цикле нужно выбрать 254 файла nitfi. Использование spm_select выглядит так:

tmp = spm_select('expand',fullfile(SCAN_dir, 'SCAN.nii'));
tmp = cellstr(tmp(6:180,:));  

Когда мой код выглядит следующим образом

if preprocess == 1
disp('------Preprocessing started------');
for subj = subjList
    disp(strcat('Subject:   ',subj));
    clear matlabbatch;
    cd(dataDir);
    cd(char(strcat(dataDir,subj)));        
    files = {};
    funFiles = {};
    filename = {};
    func = {};
    for i = 1: length(runList)

        files{i} = char(strcat(dataDir,subj,'/',runList{i}));
        filename{i} = dir(fullfile(files{i}, '*.nii'));
        funFiles{i} = strcat(filename{i}.folder,'/',filename{i}.name);
        %read multiple nii files 
         func{i} = spm_select('expand',funFiles{i});
         func{i} = cellstr(func{i}(1:254,:));       
    end; 
    funFiles = funFiles';
    func = func';
    preprocessing_job(funFiles);
end; 
disp('------Preprocessing ended------');
end;

Когда сценарии запускаются перед предложениями spm_select, все хорошо. Однако при полном запуске этой части кода появляются следующие ошибки:

ошибка при использовании read_hdr (строка 36)

Ошибка чтения заголовочного файла "/".

ошибка nifti (строка 26)

vol = read_hdr (fname);

ошибка spm_select>spm_select_get_nbframes (строка 268)

N = nifti (файл);

ошибка spm_select>spm_select_expand (строка 254)

n = spm_select_get_nbframes (ifiles {i});

ошибка spm_select (строка 130)

varargout {1} = spm_select_expand (varargin {2});

ошибка main_analysis_script (строка 40)

func {i} = spm_select ('раскрыть',funFiles{i});

Я хочу знать причину первой ошибки о read_hdr. Есть ли проблемы с заголовочным файлом? Функциональный файл в формате 4D NIFTI. Я новичок в Matlab, хотя я знаю больше о пакете SPM. Я использую SPM12 и MatlabR2018b. Может ли кто-нибудь помочь мне цикл или предложения SPM? Большое спасибо и жду любых ваших слов.

0 ответов

Другие вопросы по тегам