Print

Print


I never use spm_read_vols myself.  Are the nifti routines any faster?

N=nift('file.nii');
tic = X=N.dat(:,:,:,:); toc

It's unlikely that we're going to re-code this stuff to make it work
faster on the kind of device we don't have access too.

Best regards,
-John


On 27 July 2011 22:00, Welsh, Robert <[log in to unmask]> wrote:
> Hi authors of SPM8,
>
> I've noticed a horrendous performance hit when accessing time-series data
> when that data sits on a NAS device.
>
> Let's call it an SPM8 x NAS interaction.
>
> If I read the 4D dataset with spm_read_vols from our 48TB NAS it takes
> about 250 seconds, however if I read that 4D dataset with some homegrown
> matlab code to just open the file, skip over the header and read the data
> in, then it only takes about 2.5 seconds, or 100 times shorter! This is on
> the exact same file on the exact same NAS device. When I run spm_read_vols
> through the system profiler of course the time is pretty much evenly split
> between spm_matrix and spm_slice_vol. The impact on our throughput is
> high, that is processes are being IO limited when indeed they should not
> be. In fact for some custom functional connectivity processing I forego
> the use of the spm_read_vols to get my time-series data.
>
> Can I ask the authors to examine writing a different piece of code for
> reading time-series data that could jump around the spm_slice_vol and
> spm_matrix given that the data has to already be resliced on disk and thus
> the application of spm_matrix maybe is redundant, if having statistics
> performed? Given that NAS devices are becoming more popular it seems that
> this will be having an impact for others eventually.
>
> I've seen this on both linux and mac os x systems running both matlab 2007
> and matlab 2009.
>
> Have others noticed this issue?
>
> -Robert Welsh
>
> **********************************************************
> Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
>