Dump demographics
Here's a matlab script that dumps the age & sex of a list of subjects.
% Dumps sexes and ages of a list of subjects, extracted from the DICOM files in /mridata/cbu
% Also produces mean +/- sd of ages across group
subjs={'CBU090515','CBU090516','CBU090518','CBU090519','CBU090520','CBU090829','CBU090830','CBU090837','CBU090838','CBU090842'};
rawpath='/mridata/cbu';
age=[];
for subjind=1:length(subjs)
fn=dir(fullfile(rawpath,[subjs{subjind} '*']));
try
daydir=dir(fullfile(rawpath,fn(1).name,'20*'));
seriesdir=dir(fullfile(rawpath,fn(1).name,daydir(1).name,'Series*'));
dicomfn=dir(fullfile(rawpath,fn(1).name,daydir(1).name,seriesdir(1).name,'*.dcm'));
dicomfn=fullfile(rawpath,fn(1).name,daydir(1).name,seriesdir(1).name,dicomfn(1).name);
fprintf('%s\t',subjs{subjind});
H=spm_dicom_headers(dicomfn);
fprintf('%s\t%s\n',H{1}.PatientsSex,H{1}.PatientsAge);
age=[age str2num(H{1}.PatientsAge(1:end-1))];
catch
fprintf('Cannot find %s\n',subjs{subjind});
end;
end;
fprintf('Age %f +/- %f\n',mean(age),std(age));
