123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- % Expand a multiple-scan NIFTI file into multiple single-scan NIFTI files
- %
- % Usage: expand_nii_scan(multi_scan_filename, [img_idx], [path_to_save])
- %
- % NIFTI data format can be found on: http://nifti.nimh.nih.gov
- %
- % - Jimmy Shen (jimmy@rotman-baycrest.on.ca)
- %
- function expand_nii_scan(filename, img_idx, newpath)
- v = version;
- % Check file extension. If .gz, unpack it into temp folder
- %
- if length(filename) > 2 & strcmp(filename(end-2:end), '.gz')
- if ~strcmp(filename(end-6:end), '.img.gz') & ...
- ~strcmp(filename(end-6:end), '.hdr.gz') & ...
- ~strcmp(filename(end-6:end), '.nii.gz')
- error('Please check filename.');
- end
- if str2num(v(1:3)) < 7.1 | ~usejava('jvm')
- error('Please use MATLAB 7.1 (with java) and above, or run gunzip outside MATLAB.');
- else
- gzFile = 1;
- end
- end
- if ~exist('newpath','var') | isempty(newpath), newpath = pwd; end
- if ~exist('img_idx','var') | isempty(img_idx), img_idx = 1:get_nii_frame(filename); end
- for i=img_idx
- nii_i = load_untouch_nii(filename, i);
- fn = [nii_i.fileprefix '_' sprintf('%04d',i)];
- pnfn = fullfile(newpath, fn);
- if exist('gzFile', 'var')
- pnfn = [pnfn '.nii.gz'];
- end
- save_untouch_nii(nii_i, pnfn);
- end
- return; % expand_nii_scan
|