Print

Print


The key error is this one:
> Too many output arguments.

> Error in ==> spm_list_nS at 275
> [P Pn Em En EN] = spm_P(1,k,u,df,STAT,R,n,S);

I keep all versions of SPM as I download them.  Here's what I have for the changes in spm_P, using the Linux/UNIX diff command:
1c1
< function [P,p,Em,En,EN] = spm_P(c,k,Z,df,STAT,R,n,S)
---
> function [P,p,Ec,Ek] = spm_P(c,k,Z,df,STAT,R,n,S)
3c3
< % FORMAT [P p Em En EN] = spm_P(c,k,Z,df,STAT,R,n,S)
---
> % FORMAT [P p Ec Ek] = spm_P(c,k,Z,df,STAT,R,n,S)
19,23c19,22
< % P     - corrected   P value  - P(n > kmax}
< % p     - uncorrected P value  - P(n > k}
< % Em    - expected total number of maxima {m}
< % En    - expected total number of resels per cluster {n}
< % EN    - expected total number of voxels {N}
---
> % P     - corrected   P value - P(C >= c | K >= k}
> % p     - uncorrected P value
> % Ec    - expected total number of clusters
> % Ek    - expected total number of resels per cluster
39c38
< % $Id: spm_P.m 2690 2009-02-04 21:44:28Z guillaume $
---
> % $Id: spm_P.m 3824 2010-04-19 19:23:35Z karl $
46c45
< if (nargin < 8), S = []; end
---
> if nargin < 8, S = []; end
48c47
< [P,p,Em,En,EN] = spm_P_RF(c,k,Z,df,STAT,R,n);
---
> [P,p,Ec,Ek] = spm_P_RF(c,k,Z,df,STAT,R,n);

So...to fix this, you'd need to see how spm_P_RF has changed, then see how these changes affect the toolbox code.  I doubt it would be that hard.  FWIW, here are the changes in spm_P_RF (ignoring likes that differ only in whitespace):

1c1
< function [P,p,Em,En,EN] = spm_P_RF(c,k,Z,df,STAT,R,n)
---
> function [P,p,Ec,Ek] = spm_P_RF(c,k,Z,df,STAT,R,n)
3c3
< % FORMAT [P p Em En EN] = spm_P_RF(c,k,Z,df,STAT,R,n)
---
> % FORMAT [P p Ec Ek] = spm_P_RF(c,k,z,df,STAT,R,n)
7c7
< % Z     - height {minimum over n values}
---
> % z     - height {minimum over n values}
17,21c17,20
< % P     - corrected   P value  - P(n > kmax}
< % p     - uncorrected P value  - P(n > k}
< % Em    - expected total number of maxima {m}
< % En    - expected total number of resels per cluster {n}
< % EN    - expected total number of voxels {N}
---
> % P     - corrected   P value  - P(C >= c | K >= k}
> % p     - uncorrected P value
> % Ec    - expected number of clusters (maxima)
> % Ek    - expected number of resels per cluster
26c25
< % k voxels in volume process of R RESELS thresholded at u.  All p values
---
> % k resels in volume process of R RESELS thresholded at u.  All p values
29,30c28,29
< % spm_P_RF(1,0,Z,df,STAT,1,n) = uncorrected p value
< % spm_P_RF(1,0,Z,df,STAT,R,n) = corrected p value {based on height Z)
---
> % spm_P_RF(1,0,z,df,STAT,1,n) = uncorrected p value
> % spm_P_RF(1,0,z,df,STAT,R,n) = corrected p value {based on height z)
53c52
< % $Id: spm_P_RF.m 3627 2009-12-09 18:41:01Z guillaume $
---
> % $Id: spm_P_RF.m 3994 2010-07-13 15:53:30Z guillaume $
65c64
< EC      = max(EC([1:D]), eps);
---
> EC  = max(EC(1:D),eps);
72,74c71,73
< Em      = sum(EM);          % <maxima>
< EN      = P(1)*R(D);        % <voxels>
< En      = EN/EM(D);         % En = EN/EM(D);
---
> Ec  = sum(EM);          % <maxima>
> EN  = P(1)*R(D);        % <resels>
> Ek  = EN/EM(D);         % Ek = EN/EM(D);
89c88
<     beta = (gamma(D/2 + 1)/En)^(2/D);
---
>     beta = (gamma(D/2 + 1)/Ek)^(2/D);
94c93
<     beta = (gamma(D/2 + 1)/En)^(2/D);
---
>     beta = (gamma(D/2 + 1)/Ek)^(2/D);
99c98
<     beta = (gamma(D/2 + 1)/En)^(2/D);
---
>     beta = (gamma(D/2 + 1)/Ek)^(2/D);
104c103
<     beta = (gamma(D/2 + 1)/En)^(2/D);
---
>     beta = (gamma(D/2 + 1)/Ek)^(2/D);
111c110
< P        = 1 - spm_Pcdf(c - 1,(Em + eps)*p);
---
> P        = 1 - spm_Pcdf(c - 1,(Ec + eps)*p);
125d123
<