> I wonder if "imcalc" could be used for calculations leading to an > "multiple file" output ( input i1... i100, output i1´ ... i100´ for > example linear "detrended")... I'm afraid there is no multiple file output from imcalc. To do something like detrending, you would need code something like the untested stuff below: ___________________________________________________________________________ % get a handle for each image... V = spm_vol(spm_get(Inf,'*.img')); % Create output images... VO = V; for k=1:length(V), [pth,nm,xt,vr] = fileparts(deblank(V(k).fname)); VO(k).fname = fullfile(pth,['detrended_' nm xt vr]); VO(k) = spm_create_image(VO(k)); end; dat = zeros([VO(1).dim(1:2) length(VO)]); % Loop over planes... for i=1:V(1).dim(3), % Read a plane for each image... M = spm_matrix([0 0 i]); for k=1:length(V), dat(:,:,k) = spm_slice_vol(V(k),M,V(1).dim(1:2),0); end; % do the detrending on dat, something like... dat = reshape(dat,[prod(V(1).dim(1:2)) length(V)])'; A = [ones(length(V),1) [1:length(V)]']; % Design matrix dat = dat - A*(A\dat); % Residuals after fitting a straight line dat = reshape(dat',[V(1).dim(1:2) length(V)]); % Write a plane for each image... for k=1:length(V), VO(k) = spm_write_plane(VO(k),dat(:,:,k),i); end; end; ___________________________________________________________________________ best regards, -John -- Dr John Ashburner. Wellcome Department of Cognitive Neurology. 12 Queen Square, London WC1N 3BG, UK. tel: +44 (0)20 78337491 or +44 (0)20 78373611 x4381 fax: +44 (0)20 78131420 http://www.fil.ion.ucl.ac.uk/~john mail: [log in to unmask]