renaming NII files according to a string of values

1 visualizzazione (ultimi 30 giorni)
I have a string:
cond = [string('CSRA_Rcon'); string('CSRA_Rinc'); string('CSRA_Ucon')];
and .NII files (betas from the spm fmri: beta0001.nii, beta0002.nii, beta0003.nii) that I want to rename according to the string, so the names would be: CSRA_Rcon.nii, CSRA_Rinc.nii, CSRA_Ucon.nii.
What's the optimal way of doing it?
  2 Commenti
Guillaume
Guillaume il 8 Feb 2018
I would think that
cond = string({'CSRA_Rcon'; 'CSRA_Rinc'; 'CSRA_Ucon'});
would be an easier way to create your string array.
How do you determine that 'beta0001.nii' has to be renamed to 'CSRA_Rcon.nii' ? How are the original names obtained in the first place? Is it another string array that you create or are they retrieved by dir? If the latter what defines the order?
Mariam Kostandyan
Mariam Kostandyan il 9 Feb 2018
The files are retrieved by dir. So, I just set the path to the folder where the files are. The order of the files is defined by their names: beta0001, beta0002, beta0003, beta0004, etc. Importantly, the order of the files corresponds to the order of the values in the string array.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 9 Feb 2018
cond = {'CSRA_Rcon', 'CSRA_Rinc', 'CSRA_Ucon'};
dinfo = dir('beta*.nii');
nfiles = length(dinfo);
if nfiles ~= length(cond)
error('Number of available files does not match number of available names, nothing renamed');
end
for K = 1 : nfiles
movefile(dinfo(K).name, cond{K});
end

Più risposte (0)

Categorie

Scopri di più su File Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by