JiscMail Logo
Email discussion lists for the UK Education and Research communities

Help for SPM Archives


SPM Archives

SPM Archives


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

LISTSERV Archives

SPM Home

SPM Home

SPM  2004

SPM 2004

Options

Subscribe or Unsubscribe

Subscribe or Unsubscribe

Log In

Log In

Get Password

Get Password

Subject:

Re: PSTH once more: get_psth error

From:

Darren Gitelman <[log in to unmask]>

Reply-To:

Darren Gitelman <[log in to unmask]>

Date:

Wed, 20 Oct 2004 11:31:32 -0500

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (447 lines)

Dear, Bas, Alexa, List:

At 08:05 AM 10/20/2004, you wrote:
>Dear Darren, List,
>
>thanks for the comments to your code.
>I ran an example using my own GUI, and plotted the FIR design matrix X 
>that is created at line 313. See attached PDF. I scheduled two conditions 
>for removal from the matrix (your iX), and corrected for the remaining 
>conditions, i.e. 'nuisance events', 2 of which were parametrically 
>modulated. They are visible in the design matrxi X, see PDF (column 22 and 
>23 are the parametrically modulated events). I plotted column 20-23 (hrf, 
>dhrf/dt, and their parametric counterparts) in a second panel. Therefore, 
>I would say the code does adjust for parametrically modulated events, only 
>not for the events of interest. But perhaps we talked about different 
>things ...

Yes exactly. The code does model parametric effects based on events of no 
interest because it uses that part of the design matrix. My comments only 
referred to when one has an event of interest and there are also parametric 
effects tied to that event. Then the code does not deal with those 
parametric effects (nor does spm_graph)



>I have been digging through these lines well, and added a correction 
>options (in my original version, see attached), as you might have guessed 
>from the above. I allowed removal from the FIR+ model (not correct for) 
>more than just the conditions the PSTH is calculated for. I.e., when one 
>wants to compare PSTHs for condition A and B, one might want to remove A 
>and B from the FIR+ model. My idea behind that was that one might not want 
>the PSTH for condition A becoming dependent on how well B was modelled. 
>When correcting for B when creating the PSTH for A, this is the case. A 
>more 'neutral' way of looking at (possibly different) PSTHs for condition 
>A and B whould be to correct for neither of them. What's you opinion about 
>this idea?

I agree with Alexa's comments about this issue.


>When I find the time I am happy to implement the above additional 
>correction options and the "parametric histogram bin approach" I wrote you 
>about in the most recent get_psth.m function. I already did in the older 
>version, that I attached to this email. I'll notify you when I'm ready 
>with the new one.

thanks,
Darren

>Cheers,
>
>Bas
>
>--------------------------------------------
>Dr. S.F.W. Neggers
>dept. of Psychonomics,Helmholtz Institute
>Utrecht University
>Heidelberglaan 2
>3584 CS, Utrecht, room 17.09
>the Netherlands
>Tel: (+31) 30 253 4582 Fax: (+31) 30 2534511
>E-mail: [log in to unmask]
>Web: http://www.fss.uu.nl/psn/pionier
>--------------------------------------------
>
>
>
>-----Oorspronkelijk bericht-----
>Van: SPM (Statistical Parametric Mapping)
>[mailto:[log in to unmask]]Namens Darren Gitelman
>Verzonden: dinsdag 19 oktober 2004 18:41
>Aan: [log in to unmask]
>Onderwerp: Re: [SPM] PSTH once more: get_psth error
>
>
>At 03:46 AM 10/19/2004, Neggers, S.F.W.  \(Bas\) wrote:
>Dear Bas:
>
>Regarding this issue:
> >Our sessions have the same conditions modelled, so that limitation is no
> >problem. When I understand your code well, it does correct for events that
> >are parametrically modulated, but cannot extract PSTHs for parametrically
> >modulated events, or at least does not take into account the modulation?
>
>No the code doesn't deal with removing effects from parametric events at
>all. However, I see neither does spm_graph.
>
>The way my code and (I believe spm_graph) works is that first you identify
>an event-type. The first column of that event (in SPM.Sess.U.u) is always
>the onsets (stimulus function) in microtime. Other columns, if present,
>will represent parametric effects but these are ignored. The first column
>column plus information such as the TR (bin size), the order of the FIR set
>and the length are forwarded to spm_volterra to make the FIR basis and then
>down-sampled to scan time  (lines 240 ~ 260).
>
>Assuming that you select to adjust for all effects except for the one you
>are modeling. Line 277 then identifies the columns of the original design
>matrix that should NOT be adjusted for.
>   iX          = SPM.Sess(ses).col(SPM.Sess(ses).Fc(ev).i);
>
>So let's say you have a design with 3 events and no parametric effects and
>you want to model event 1. Then iX will contain a 1, i.e., you don't want
>to remove signal correlated with event 1 since that is what you are
>modeling. However, now let's say you have 2 parametric effects on each of
>your events then the example iX will contain [1 2 3]. (Similarly if you
>have an HRF + TD then iX would contain [1 2] for event 1.
>
>Line 301 identifies all the columns in your design as iX0. Then line 302
>says remove the members of that vector that you DO NOT want to adjust for.
>So in our example let's say we have 3 events, hrf only, no parametric
>effects and a constant term. iX0 = [1 2 3 4]  at line 301. Then at line
>302, iX0 = [2 3 4]; Similarly for our parametric events.
>
>Line 309 then places the columns for the events you want to estimate in
>front of the rest of the design for the events of no interest (i.e., iX0).
>Thus, when you model a set of onsets the parametric effects for those
>onsets are NOT even modelled in the design for graphing purposes.
>
>The parametric effects and event onset vector were orthogonalized in
>spm_get_ons when the design was specified, but that does leave the issue
>that any signal correlated with the parametric effects ends up in the
>residuals during graphing. I guess since one isn't estimating statistics at
>this point it may not matter.
>
>As to your last question:
> >What I tried (because I use parametric events) was to construct a
> >histogram for the parametric factors disctribution, divide the events in N
> >(3 or 4 worked well for me) groups according to (wide) time bins, and then
> >extract PSTHs for these groups separately. That way one can plot the PSTHs
> >for each group, and see the amplitude of evoked responses change from
> >group to group. I could implement this in get_psth.m when I find the time.
> >Do you think that is a good idea?
>
>I'm not sure I'm qualified to comment on this in any formal way, but it
>seems reasonable to me. I guess you get a kind of contrast estimates plot
>with broad groups of the parametric effect (averages) on the abscissa and
>the corresponding parameter estimate for each group on the ordinate. Yes if
>you can add it that would be great.
>
>Cheers,
>Darren
>
> >Dear Darren,
> >
> >Thanks for the comments.
> >
> >I used the version from may 2004, the last line of the comments say:
> >
> >% $Id: get_psth.m 1.2 2004-06-30 23:45:02-5 drg Exp drg $
> >
> >I do not remember anymore whether I got your function from your website or
> >somewhere else, perhaps the version was altered.
> >
> >It indeed looks quite different around the lines where I found an error, I
> >can't explain that either.
> >
> >I'll try marsbar as well. I do like to have a sole function (no GUI
> >elements) for PSTH extraction though, it is easier to use in our own
> >automated scripts than a whole GUI like the marsbar. That's why I started
> >using your code, and also to educate myself regarding the details of PSTH
> >calculations using FIR estimates. I'll have a look at Marsbar though,
> >perhaps it has some nice functions too.
> >
> >Our sessions have the same conditions modelled, so that limitation is no
> >problem. When I understand your code well, it does correct for events that
> >are parametrically modulated, but cannot extract PSTHs for parametrically
> >modulated events, or at least does not take into account the modulation?
> >
> >What I tried (because I use parametric events) was to construct a
> >histogram for the parametric factors disctribution, divide the events in N
> >(3 or 4 worked well for me) groups according to (wide) time bins, and then
> >extract PSTHs for these groups separately. That way one can plot the PSTHs
> >for each group, and see the amplitude of evoked responses change from
> >group to group. I could implement this in get_psth.m when I find the time.
> >Do you think that is a good idea?
> >
> >Cheers,
> >
> >Bas
> >
> >
> >-----Original Message-----
> >From: SPM (Statistical Parametric Mapping) on behalf of Darren Gitelman
> >Sent: Tue 10/19/2004 07:57
> >To: [log in to unmask]
> >Cc:
> >Subject: Re: [SPM] PSTH once more: get_psth error
> >
> >Dear Bas:
> >
> >Thanks for the vote of support. I'm glad you're using the function, but I
> >don't recognize the code below at all. The get_psth function changed quite
> >a bit since its first incarnation. What version are you using? 0.1? The
> >version is now 1.11.
> >
> >I don't know if this is an issue but the get_psth code will not deal with
> >either parametric events, or sessions if the events types are not the same
> >in each session. Sorry I can't be of more help about this. You might see if
> >the newest version does what you want. If the newest version also bails out
> >then I can probably be of more help.
> >
> >Also, a plug for Matthew Brett's program marsbar- it really is vastly
> >superior and the ROI and other tools are outstanding.
> >
> >Cheers,
> >Darren
> >
> >At 09:11 AM 10/18/2004, Neggers, S.F.W. (Bas) wrote:
> > >Dear Darren and others,
> > >
> > >I have been succesfully using your function get_psth.m for a couple of
> > >studies now, using single session design. Works great. I made some minor
> > >(logistic) alterations and have also built a GUI around it allowing one to
> > >select ROIs and even calculate average PSTHs for selected events and
> > >models within these ROIs, and average over subjects. I'll share it on my
> > >sourceforge page as soon as I think it is ready and easy enough to use.
> > >
> > >
> > >Currently I am analysing a 2 session design, and I ran into an error. The
> > >functions get_psth bails out at line 209 saying:
> > >
> > >----
> > >iu=find(SPM.Sess.U(events(n,n2)).u>0);
> > >??? Field reference for multiple structure elements that is followed by
> > >more reference blocks is an error.
> > >----
> > >
> > >I had a look at the code, and I think I have found the error. The code
> > >around line 209:
> > >
> > >202:    for m = 1:length(sessions)
> > >203:        ses = sessions(m);
> > >204:
> > >205:        xBF          = SPM.xBF;
> > >206:        U            = SPM.Sess(ses).U(ev(1));
> > >207:        % event vector in microtime, pool over columns in 'events'
> > >208:        for n2 = 1:size(events,2) %loop columns in 'events'
> > >209:            iu=find(SPM.Sess.U(events(n,n2)).u>0);
> > >210:            U.u(iu)=SPM.Sess.U(events(n,n2)).u(iu);
> > >211:        end
> > >
> > >I suspect that one has to specify the session (variable 'ses' in the four
> > >loop) for which the 'find' function has to calculate the indices. This
> > >present code works for 1 session, but for more session the code tries to
> > >index a field directly at an array, which leads to the error.
> > >
> > >I think that the correct code at line 209 should be:
> > >
> > >209:            iu=find(SPM.Sess(ses).U(events(n,n2)).u>0);
> > >210:            U.u(iu)=SPM.Sess(ses).U(events(n,n2)).u(iu);
> > >
> > >Could you indicate whether this is OK? Perhaps I am not understanding the
> > >procedure well, and my patch leads to unwanted results....
> > >The code now executes fine and I obtain a matrix with 2 columns in
> > >PSTH.events(..).psth, one column per session I think.
> > >
> > >Is this correct?
> > >
> > >Thank you in advance,
> > >
> > >Bas
> > >
> > >--------------------------------------------
> > >Dr. S.F.W. Neggers
> > >dept. of Psychonomics,Helmholtz Institute
> > >Utrecht University
> > >Heidelberglaan 2
> > >3584 CS, Utrecht, room 17.09
> > >the Netherlands
> > >Tel: (+31) 30 253 4582 Fax: (+31) 30 2534511
> > >E-mail: [log in to unmask]
> > >Web: http://www.fss.uu.nl/psn/pionier
> > >--------------------------------------------
> > >
> > >
> > >
> > >
> > >-----Oorspronkelijk bericht-----
> > >Van: SPM (Statistical Parametric Mapping)
> > >[mailto:[log in to unmask]]Namens Darren Gitelman
> > >Verzonden: donderdag 12 augustus 2004 18:57
> > >Aan: [log in to unmask]
> > >Onderwerp: Re: [SPM] FW: [SPM] refs on PSTH
> > >
> > >
> > >Alexa/List/Russ:
> > >
> > >Thank you for this information.
> > >
> > >Alexa, in relation to your question below my code allows the user to 
> choose
> > >whether to adjust for various columns in the design matrix- essentially
> > >either for other sessions or for other events within the same sessions. I
> > >added this because we were trying to compare our results with results
> > >obtained from AFNI. To my understanding, which is based on a discussion
> > >with an AFNI user and not my direct first-hand experience, AFNI does not
> > >adjust for other events, but this could be incorrect. Answering, yes to
> > >both the adjustment questions will produce results as in SPM2 - spm_graph.
> > >
> > >Cheers,
> > >Darren
> > >
> > >
> > >At 11:28 AM 8/12/2004, Alexa Morcom wrote:
> > > >Hello list & Bas/ Russ
> > > >
> > > >It might be worth pointing out that although Russ's page is a good
> > > >introduction to how these kinds of plots work, the PSTH plot works
> > > >differently in SPM2 to SPM99, and it's the SPM99 method that Russ's page
> > > >discusses. In SPM2, spm_graph fits an FIR model for the event of 
> interest
> > > >and it's this code that Darren & I have hacked.
> > > >
> > > >For more about the use of an FIR model to make inferences, see Rik
> > Henson's
> > > >HBM 2001 abstract 
> at  http://www.fil.ion.ucl.ac.uk/~rhenson/refs.html. See
> > > >also http://www.fil.ion.ucl.ac.uk/spm/data/ for Rik's sample datasets
> > which
> > > >include examples of the use of an FIR basis in the main model.
> > > >
> > > >Nobody's done anything formal to my knowledge on different ways of
> > > >implementing code to make these FIR-PSTH plots, but the main 
> decisions to
> > > >make, as I undestand them, are a/ whether plots of more than one event
> > type
> > > >should deal with each separately and b/ whether one should adjust at the
> > > >same time (or beforehand) for all other event types in the model.
> > These are
> > > >matters for individual choice but saying yes to a/ and b/ is to my
> > mind the
> > > >most consistent with spm_graph, and should mean that PSTH plots 
> don't vary
> > > >according to whether event type A is plotted against B or against C. 
> With
> > > >non-orthogonal regressors there are various ways that these choices can
> > > >affect the results. I believe that Darren's program implements a choice
> > > >about b/, but Darren please correct me if I'm wrong.
> > > >
> > > >I hope this helps!
> > > >
> > > >Alexa
> > > >
> > > >
> > > >
> > > >| -----Original Message-----
> > > >| From: SPM (Statistical Parametric Mapping) 
> [mailto:[log in to unmask]]On
> > > >| Behalf Of Russ Poldrack
> > > >| Sent: 03 August 2004 16:25
> > > >| To: [log in to unmask]
> > > >| Subject: Re: [SPM] refs on PSTH
> > > >|
> > > >|
> > > >| you can find a little more information here:
> > > >|
> > > >| 
> http://sourceforge.net/docman/display_doc.php?docid=6217&group_id=13529
> > > >|
> > > >| the code in my roi toolbox (available at the same web site) implements
> > > >| this kind of PSTH averaging based on an FIR model.
> > > >|
> > > >| cheers
> > > >| russ
> > > >|
> > > >| On Aug 3, 2004, at 8:20 AM, Neggers, S.F.W. (Bas) wrote:
> > > >|
> > > >| > Dear SPMers,
> > > >| >
> > > >| > I'd like to read a little bit more about the theory behind 
> extracting
> > > >| > a PSTH from your data based on the estimates of a simple FIR 
> model. I
> > > >| > read through the code in spm_graph.m and get_psth.m from Darren, 
> and I
> > > >| > think I get the basic idea, but that's just not enough. Is there a
> > > >| > more formal description of the PSTH approach followed in SPM, 
> perhaps
> > > >| > in the form of a paper doing some kind of validation?
> > > >| >
> > > >| > I plan to implement get_psth in an activation cluster based PSTH
> > > >| > extractor, and really exactly like to know what I'm doing here.
> > > >| >
> > > >| > Kind regards,
> > > >| >
> > > >| > Bas
> > > >| >
> > > >| >
> > > >| > --------------------------------------------
> > > >| > Dr. S.F.W. Neggers
> > > >| > dept. of Psychonomics,Helmholtz Institute
> > > >| > Utrecht University
> > > >| > Heidelberglaan 2
> > > >| > 3584 CS, Utrecht, room 17.09
> > > >| > the Netherlands
> > > >| > Tel: (+31) 30 253 4582 Fax: (+31) 30 2534511
> > > >| > E-mail: [log in to unmask]
> > > >| > Web: http://www.fss.uu.nl/psn/pionier
> > > >| > --------------------------------------------
> > > >| >
> > > >| >
> > > >| ---
> > > >| Russell A. Poldrack, Ph.D.
> > > >| Assistant Professor of Psychology, UCLA
> > > >| Franz  Hall, Box 951563
> > > >| Los Angeles, CA 90095-1563
> > > >| email: [log in to unmask]
> > > >| phone: 310.794.1224
> > > >| fax: 310.206.5895
> > > >| web: http://www.poldracklab.org/
> > > >|
> > >
> > >
> > >-------------------------------------------------------------------------
> > >Darren R. Gitelman, M.D.
> > >Cognitive Neurology and Alzheimer¹s Disease Center
> > >Northwestern Univ., 320 E. Superior St., Searle 11-470, Chicago, IL 60611
> > >Voice:   (312) 908-9023     Fax:  (312) 908-8789
> > >-------------------------------------------------------------------------
> >
> >
> >-------------------------------------------------------------------------
> >Darren R. Gitelman, M.D.
> >Cognitive Neurology and Alzheimer¹s Disease Center
> >Northwestern Univ., 320 E. Superior St., Searle 11-470, Chicago, IL 60611
> >Voice:   (312) 908-9023     Fax:  (312) 908-8789
> >-------------------------------------------------------------------------
> >
> >
>
>
>-------------------------------------------------------------------------
>Darren R. Gitelman, M.D.
>Cognitive Neurology and Alzheimer¹s Disease Center
>Northwestern Univ., 320 E. Superior St., Searle 11-470, Chicago, IL 60611
>Voice:   (312) 908-9023     Fax:  (312) 908-8789
>-------------------------------------------------------------------------
>


-------------------------------------------------------------------------
Darren R. Gitelman, M.D.
Cognitive Neurology and Alzheimer¹s Disease Center
Northwestern Univ., 320 E. Superior St., Searle 11-470, Chicago, IL 60611
Voice:   (312) 908-9023     Fax:  (312) 908-8789
------------------------------------------------------------------------- 

Top of Message | Previous Page | Permalink

JiscMail Tools


RSS Feeds and Sharing


Advanced Options


Archives

May 2024
April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
2006
2005
2004
2003
2002
2001
2000
1999
1998


JiscMail is a Jisc service.

View our service policies at https://www.jiscmail.ac.uk/policyandsecurity/ and Jisc's privacy policy at https://www.jisc.ac.uk/website/privacy-notice

For help and support help@jisc.ac.uk

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager