0001 function [pname,fname,udir] = select_nii_ras_fname(logname, udir)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 ext1 = '.hdr';
0026 ext2 = '.img';
0027
0028 pname = '';
0029 fname = '';
0030 reorient = false;
0031 cropped = false;
0032
0033 fid = fopen(logname,'rt');
0034 while(1)
0035 line = fgetl(fid);
0036
0037 if ~ischar(line), break; end
0038
0039 ix = strmatch('Reorienting as', line);
0040 if ~isempty(ix), reorient = true; end
0041
0042 ix = strmatch('Cropping', line);
0043 if ~isempty(ix), cropped = true; end
0044
0045
0046 if ~isempty(strfind(line, '->')) && ~isempty(strfind(line, '.img'))
0047 ix = strfind(line, '->');
0048 pname = line(ix(end)+2:end);
0049 end
0050 end
0051 fclose(fid);
0052 if isempty(pname)
0053 warning('Cannot get subject name from dicom file.');
0054 end
0055
0056
0057 [fpath, flist] = vb_get_ext_fname(udir, ext1);
0058 Nfile = length(flist);
0059
0060
0061 fn0 = pname(1:end-4);
0062
0063 for n=1:Nfile
0064 switch flist{n},
0065 case fn0
0066 if reorient
0067
0068 fprintf('Delete %s\n',[udir filesep fn0 ext1]);
0069 delete([udir filesep fn0 ext1]);
0070 delete([udir filesep fn0 ext2]);
0071 else
0072
0073 pname = '';
0074 fname = [fn0 ext1];
0075 end
0076 case ['co' fn0]
0077 if cropped
0078
0079 fprintf('Delete %s\n',[udir filesep 'co' fn0 ext1]);
0080 delete([udir filesep 'co' fn0 ext1]);
0081 delete([udir filesep 'co' fn0 ext2]);
0082 end
0083 case ['o' fn0]
0084 if reorient
0085
0086 fprintf('Rename %s\n',[udir filesep 'o' fn0 ext1]);
0087 movefile([udir filesep 'o' fn0 ext1], [udir filesep 'RAS_' fn0 ext1], 'f');
0088 movefile([udir filesep 'o' fn0 ext2], [udir filesep 'RAS_' fn0 ext2], 'f');
0089
0090 pname = [udir filesep 'RAS_' fn0 ext1];
0091
0092 fname = [fn0 ext1];
0093 end
0094 end
0095 end