Azzera filtri
Azzera filtri

grabbing specific/not all files in a folder

3 visualizzazioni (ultimi 30 giorni)
Hi everyone,
I'm doing a fMRI analysis with a script I got from a collegue and adapted it for my purpose. Unfortunately, I stuck on one problem, so I would like to ask you for help. I have 320 .IMA files for each participant in a folder called "CUE*". Since the first 5 files are dummy scans, I only want to grab file 6 to 320 and ignore the first five. This is how the files are called: e.g. CBM210.MR.STUDIES_PSYCHOLOGY.0008.0001.2022.04.14.14.06.28.254369.304708762 with the 0001 in bold showing the numbers, running until 0320.
This is the respective part in the script, were I grab the .IMA files and work with them:
f
MRI_dir = fullfile(raw_dir, subFolder.name, 'STU*', 'CUE*');
func_files = dir(fullfile(fMRI_dir,'*.IMA'));
func_files_cell = orderFiles4SPM(func_files);
fprintf('%d func input files found...\n',length(func_files_cell))
matlabbatch{2}.spm.util.import.dicom.data = func_files_cell';
matlabbatch{2}.spm.util.import.dicom.outdir = {out_dir_func};
I was thinking about doing something like *[0006;0320]*.IMA or for i=1:nimg with i+5 but I could not make it so far...
Any help is more then welcome!
Best,
Franzi

Risposta accettata

Walter Roberson
Walter Roberson il 10 Ago 2022
Unfortunately the wildcards that MATLAB accepts are only a subset of what is generally supported by the operating system. You will need to use other ways, such as
[~, basenames, ~] = fileparts({func_files.name});
prefixpattern = '(?<=\w+\.\w+\.\w+\.\w+\.)(\d+)';
prefixes = regexp(basenames, prefixpattern, 'match', 'once');
wanted = ~ismember(prefixes, {'0001', '0002', '0003', '0004', '0005'});
func_files = func_files(wanted);
  1 Commento
Franziska Motka
Franziska Motka il 11 Ago 2022
Hi Walter,
thank you very much, it worked and saved me tons of time and clicking :)
Best,
Franzi

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by