Dear Jin
This is an issue discussed on the list last year at this time (for you SPM historians) , and I guess probably not fixed in spm2. You can search for messages by Jan Glascher (6/20/2005, 8/24/2005, 8/25/2005), Christope Phillips (6/23/2005, 8/22/2005), Karl Friston (6/23/2005), and I (contained within the above posts as I do not receive back my own posts). The bottom line is the design matrix used to adjust the data may contain columns of 0's. Please also look at the posts from 8/22-25/2005 which discuss the problem of "real effects of interest" vs. "effects of interest" as defined by SPM2. In your case for example, spm2 probably includes the movement covariates in the default "effects of interest" contrast. This is incorrect if you are adjusting your data by the "effects of interest" since the movement covariates are presumably not really of interest.
As to the NaN's the fix implemented by Karl was put into spm5 but not spm2. I think it will work for you to include the following code around line 207 of spm_regions.m (assuming you have version 2.17). Otherwise just put this code just before the section that starts "compute regional response in terms of first eigenvariate" in spm_regions.
% Remove null space of X0
%-----------------------------------------------------------------------
xY.X0 = xY.X0(:,~~any(xY.X0));
NOTE: This fix is not guaranteed to be correct as I have not tested it within the context of the spm2 version of spm_regions. It does work within spm5. So you may want to make sure it does what you want (i.e., remove columns of 0's from X0). Or your may want to remove those columns yourself (see the referenced emails).
Good luck,
Darren
>-----Original Message-----
>From: Fan, Jin [mailto:[log in to unmask]]
>Sent: Friday, July 28, 2006 7:41 AM
>To: [log in to unmask]
>Subject: RE: [SPM] PPI multiple sessions
>
>Dear Darren,
>
>When I check the values of PPI.Y, I found out that they are
>'NaN'. Do you have any idea about this? Is this related to
>multiple sessions?
>
>I got the warning:
>Warning: Matrix is singular to working precision.
>(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
>> In /usr/local/spm2/spm_peb_ppi.m at line 204
>
>The line 204 is:
>Yc = Y - X0*inv(X0'*X0)*X0'*Y;
>
>Best,
>Jin
>
>-----Original Message-----
>From: [log in to unmask] [mailto:[log in to unmask]]
>Sent: Thursday, July 27, 2006 10:25 AM
>To: Fan, Jin
>Cc: [log in to unmask]
>Subject: Re: [SPM] PPI multiple sessions
>
>Dear Jin
>
>SPM is not setup to transparently deal with multisession
>studies. This is the reason that many times people will
>concatenate multisession runs into a single session (and
>include user defined block effects) as it makes plotting
>graphs, extracting VOI data, etc. much easier.
>
>However, it is possible with a bit of extra work to analyze
>multisession data. In your case, SPM requires you to save
>VOI's from each session in your design. Thus you have to
>select the SPM.mat file 6 times in order to save 6 VOI_#.mat
>files as you have done.
>
>The PPI machinery then requires you to run the PPI algorithm 6
>times. Each time you will select one of the VOI_# files and it
>will save a PPI_# file. Once you have done this you can setup
>your PPI design. You will need to load each of the PPI files
>into the matlab workspace, for example.
>
>PPI1 = load('PPI_1.mat');
>PPI2 = load('PPI_2.mat');
>.... etc.
>
>Choose a multiple regression fMRI design. You will have 18
>user defined variables if you set this up as separate
>sessions. The covariates for each session will be PPI.Y,
>PPI.P, PPI.ppi x 6 sessions = 18
>
>So for the first few variables the columns of your design will be
>
>PPI1.PPI.Y PPI1.PPI.P PPI1.PPI.ppi PPI2.PPI.Y PPI2.PPI.P
>PPI2.PPI.ppi ... etc.
>
>The ppi inferences will be based on the ppi colums, [0 0 1 0
>0 1 .... ]
>
>good luck,
>darren
>
>
>
>
>
>
>==============Original message text=============== On Thu, 27
>Jul 2006 8:20:41 am CDT "Fan, Jin" wrote:
>
>Dear SPM and PPI experts,
>
>When I perform the PPI analysis using SPM2 with 6 sessions for
>each subject, I select a ROI and the VOI_1.mat … VOI_6.mat
>are saved out after pressing the VOI button and selecting each
>session one by one. When I conduct the PPI analysis, I repeat
>6 times and select the VOI_1.mat … VOI_6.mat files one by
>one in order to save the 6 PPI output files. SPM2 asks to
>load the SPM.mat file each time. My question is that: does
>the PPI analysis for each VOI need to match to its
>corresponding session in the SPM.mat. As I read from the ppi
>matlab code, it matches the sessions automatically.
>Am I correct?
>
>I have an event related cue-target paradigm with cue (3 types)
>appears a couple of seconds before the target (2 types). I am
>just interested in the connectivity for the target related
>activation.
>I modeled the cue and target events with different vectors and
>used motion correction parameters as
>covariates. My question is that: after I create the PPI.mat
>file with PPI.ppi, PPI.P, and PPI.Y
>for the target (target type 1 – target type 2), when I model
>the connectivity, do I still need to put in the vectors for
>cues and/or the motion related vectors?
>
>Thank you!
>Jin
>===========End of original message text===========
>
>
>
>--------------------------------
>Darren R. Gitelman, M.D.
>Cognitive Neurology and the Alzheimer's Disease Center
>Northwestern Univ., 320 E. Superior St., Searle 11-470,
>Chicago, IL 60611
>Voice: (312) 908-9023 Fax: (312) 908-8789
>--------------------------------
>
>
>
>
|