Email discussion lists for the UK Education and Research communities

SPM@JISCMAIL.AC.UK

View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font
 LISTSERV Archives SPM Home SPM 2000

Options

Subject:

Re: BASIS FUNCTIONS

From:

Date:

Mon, 27 Mar 2000 15:54:20 +0100 (BST)

Content-Type:

TEXT/plain

Parts/Attachments:

 TEXT/plain (49 lines)
 | These questions are about spatial normalization. | | 1) Is this correct: the more basis functions are used the better the result | ? In theory, the best results can be obtained with the most basis functions, although the amount of regularisation may need to be tweeked to achieve this. | | 2) Why is the default ( 7 8 7 ) , not for example ( 7 7 7 ) ? In other | words, why not a same number for each axis? The dimensions of the SPM template images are 91x109x91. With the 7th lowest frequency basis function, there are 3 whole cycles((n-1)/2) over the 91 voxels, meaning that a period covers 30.333 voxels. The 8th basis function has 3.5 cycles, so a whole period lasts for 31.142 voxels. | | 3) How does the choice of basis functions ( x y z ) affect the spatial | normalization of each axis ? This is a very difficult one to explain without pictures. Basically, the choice of basis functions determines the types of deformations that can be modelled. Displacements in all three directions are modelled by the same number of parameters. The dimensions (e.g., [7 8 7]) reflect how many low frequency coefficients of a 3D DCT are used to model displacements in each of the directions. It is difficult to explain, but I have included a few lines of Matlab that may illustrate the point. The effect of the regularisation is not modelled though. To change the number of basis functions in the different directions, you would modify the first line, before copying and pasting into Matlab. d = [8 3]; [X1,X2]=ndgrid(1:64,1:64); B1=spm_dctmtx(64,d(2)); B2=spm_dctmtx(64,8); Y1=X1+B2*randn(d(1),d(2))*20*B1'; Y2=X2+B2*randn(d(1),d(2))*20*B1'; plot(Y1,Y2,'k',Y1',Y2','k'); axis image xy off Regards, -John %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%