The difference arises because spm_slice_vol only samples the points using
whatever interpolation method you specify. In order to sample an image at a
lower resolution, and do it properly, then some kind of low pass filtering is
needed in order to prevent aliasing effects. This is not done by
spm_slice_vol.
When you call blkproc(slice,[4 4],'mean(x(:))'); ), you are actually doing a
low pass filtering of the data (although it may not be the best one to use).
Best regards,
-John
On Monday 29 October 2001 15:16, rvalabre wrote:
> Hello
>
> I would like to get from a 3D volume (256,256,124) the mean slices
> corresponding to the
> functional resolution (64*64*10).
>
> I trie to use spm_slice_vol but I don(t know if it's possible.
> Any way I get some problem to understand what does spm_slice_vol exactly
> does
>
> if Vol is the structure given by spm_vol for the anatomic volume
>
> if M = 1 0 0 0
> 0 1 0 0
> 0 0 1 30
> 0 0 0 1
>
>
> slice = spm_slice_vol(Vol,M,[256 256,0)
> gives me the slice 30. That's ok.
>
>
> if M = 4 0 0 0
> 0 4 0 0
> 0 0 1 30
> 0 0 0 1
>
> spm_slice_vol(Vol,M,[64 64],0)
> gives me something which loocks likes the anatomical images with a 64*64
> resolution
>
> But it is sligthly different from the 64*64 matrix obtain from the 256*256
> matrix where I do a 4*4 block mean . Why ?
>
> (I used a function from image toolbox s = blkproc(slice,[4
> 4],'mean(x(:))'); )
>
>
> if M = 1 0 0 0
> 0 1 0 0
> 0 0 5 30
> 0 0 0 1
>
> slice = spm_slice_vol(Vol,M,[256 256,0)
> gives me exactly the slice 30
>
> Is it normal ?
>
> Thank you very much for your help
>
> Romain
--
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]
|