Hi Doug and the list,
I think I still have a problem understanding what cesvar.nii contains. As a sanity check, I tried to create 95% confidence intervals around my CES. I found that in some voxels (or ROIs in my case) that had a p-value of less than 0.05, my 95% confidence interval for my CES included zero. Here's one example:
clear cesNii = MRIread('ces.nii'); cesVol = cesNii.vol; cesVarNii = MRIread('cesvar.nii'); cesVarVol = cesVarNii.vol; sigNii = MRIread('sig.nii'); sigVol = sigNii.vol; pValue = 10^-abs(sigVol(4,1,1))
pValue =
0.0199
ces = cesVol(4,1,1)
ces =
-0.0028
cesVar = cesVarVol(4,1,1)
cesVar =
6.4511e-06
ces95pctCI = ces + [ -1 +1 ] .* sqrt(cesVar) * 1.96
ces95pctCI =
-0.0078 0.0022
Are the p-values calculated in a way that assumes non-Gaussian error of the ces, or am I otherwise doing something wrong?
Thanks, Clark
Douglas N Grevehttp://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=from:%22Douglas+N+Greve%22 Wed, 13 Feb 2013 15:11:27 -0800http://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=date:20130213
1). Yes 2) Right, pull the scale outside of the sqrt()
doug
On 02/13/2013 03:36 PM, Clark Fisher wrote:
Hi Doug,
Thanks for the help, that seemed to worked great. I have a few follow up questions about how to process the resulting statistics.
I'm still using v4.5 (can't switch to v5 yet), as I mentioned, and would like to get the % signal change for certain contrasts with error bars. Looking through the listserv, I see that the values in cespct.nii require correction by a scale factor in this version of fsfast. The most recent conversation I could find on this comes from 2010, when you told Thomas Janssens:
Hi Thomas, you may have found a bug in my scale factor calculation. Can you compute the new scale factor as described below? BTW, these issues are fixed in version 5.
cd bold/analysis x = load('X'); tirf = x.flac0.ev(3).tirf; Xirf = x.flac0.ev(3).Xirf; scalefOld = sum(Xirf .* repmat(tirf,[1 size(Xirf,2)])); TR = x.flac0.TR; dt = tirf(2)-tirf(1); scalefNew = sum(Xirf)*TR/dt;
I can't find a follow up to this message. 2 questions.
- The results with scalefNew look reasonable to me; do you still think that
this is the proper way to adjust cespct.nii in v4.5? 2) If I want to put error bars on my % signal change, how do I scale the values in cesvarpct.nii? I would guess that if I wanted to put a 95% CI on my % signal change, it would be: (cespct * scalefNew) +/- ( sqrt(cesvarpct) * scalefNew * 1.96) and NOT (cespct * scalefNew) +/- ( sqrt(cesvarpct * scalefNew) * 1.96) Does this sound right, or am I misinterpreting what cesvarpct.nii contains? Thanks again, Clark
Hi Clark,
On 02/06/2013 05:55 PM, Clark Fisher wrote:
Hi everyone,
In a previous discussion on this list (http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg17681.html), Pablo Polosecki was asking the best way to perform hypothesis testing using functional data within an ROI. The final opinion was that it was best to average all of the time courses in the ROI, and re-run the analysis from scratch, so that all of the appropriate whitening, etc. occurred.
I was considering doing this, creating a small volume (say, 10 voxels total) that had each voxel holding the average time course from one of 10 ROIs. I would then set up and run a usual fsfast analysis using these tiny volumes. I am using freesurfer 4.5. I have a few questions.
- Is this reasonable?
In general, it is reasonable. Though I'm curious what you are ultimately trying to do. Do you want p-values for each subject in each ROI? Or will you be combining the ROI beta values across subject in a group analysis? If so, then the whitening will probably make little, if any, difference, especially if this is a blocked design. In expectation, the whitening does not affect the beta values.
- One area where I expect to run into problems is with the whitening.
If I set -acfbins to the total number of my dummy voxels, and -acffwhm to 0, will this use the autocorrelation function of the average timecourse within each individual ROI? Is that an appropriate approach? How sensitive will this be to the number of actual voxels averaged to get each ROI (for instance, would this bias me to finding more significant results in ROIs containing fewer voxels?).
That might work, but no promises! It is an appropriate approach. It might be sensitive to the number of voxels if the number is small (say, less than 100).
- Are there other steps that depend upon the spatial arrangement of
voxels that I am forgetting, and will these steps choke on these small volumes (or worse, fail in silent but pernicious ways).
Nothing I can think of off the top of my head. doug
Thanks for all of the help, Clark
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop:www.nmr.mgh.harvard.edu/facility/filedrop/index.html http://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing:ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail.
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop: www.nmr.mgh.harvard.edu/facility/filedrop/index.htmlhttp://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing: ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
You can compute the t = ces/sqrt(cesvar) and from that (and the DOF) you can compute the p to see if it is consistent with pValue. doug ps. I don't know that your conf interval formula is correct. I don't have a reason to think it is wrong, I just don't know, so you might want to double check it
On 02/14/2013 07:25 AM, Clark Fisher wrote:
Hi Doug and the list,
I think I still have a problem understanding what cesvar.nii contains. As a sanity check, I tried to create 95% confidence intervals around my CES. I found that in some voxels (or ROIs in my case) that had a p-value of less than 0.05, my 95% confidence interval for my CES included zero. Here's one example:
clear cesNii = MRIread('ces.nii'); cesVol = cesNii.vol; cesVarNii = MRIread('cesvar.nii'); cesVarVol = cesVarNii.vol; sigNii = MRIread('sig.nii'); sigVol = sigNii.vol; pValue = 10^-abs(sigVol(4,1,1))
pValue =
0.0199ces = cesVol(4,1,1)
ces =
-0.0028
cesVar = cesVarVol(4,1,1)
cesVar =
6.4511e-06
ces95pctCI = ces + [ -1 +1 ] .* sqrt(cesVar) * 1.96
ces95pctCI =
-0.0078 0.0022
Are the p-values calculated in a way that assumes non-Gaussian error of the ces, or am I otherwise doing something wrong?
Thanks, Clark
Douglas N Greve http://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=from:%22Douglas+N+Greve%22 Wed, 13 Feb 2013 15:11:27 -0800 http://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=date:20130213
1). Yes 2) Right, pull the scale outside of the sqrt()
doug On 02/13/2013 03:36 PM, Clark Fisher wrote:
Hi Doug,
Thanks for the help, that seemed to worked great. I have a few follow up questions about how to process the resulting statistics.
I'm still using v4.5 (can't switch to v5 yet), as I mentioned, and would like to get the % signal change for certain contrasts with error bars. Looking through the listserv, I see that the values in cespct.nii require correction by a scale factor in this version of fsfast. The most recent conversation I could find on this comes from 2010, when you told Thomas Janssens:
Hi Thomas, you may have found a bug in my scale factor calculation. Can you compute the new scale factor as described below? BTW, these issues are fixed in version 5.
cd bold/analysis x = load('X'); tirf = x.flac0.ev(3).tirf; Xirf = x.flac0.ev(3).Xirf; scalefOld = sum(Xirf .* repmat(tirf,[1 size(Xirf,2)])); TR = x.flac0.TR; dt = tirf(2)-tirf(1); scalefNew = sum(Xirf)*TR/dt;
I can't find a follow up to this message. 2 questions.
- The results with scalefNew look reasonable to me; do you still think that
this is the proper way to adjust cespct.nii in v4.5? 2) If I want to put error bars on my % signal change, how do I scale the values in cesvarpct.nii? I would guess that if I wanted to put a 95% CI on my % signal change, it would be: (cespct * scalefNew) +/- ( sqrt(cesvarpct) * scalefNew * 1.96) and NOT (cespct * scalefNew) +/- ( sqrt(cesvarpct * scalefNew) * 1.96) Does this sound right, or am I misinterpreting what cesvarpct.nii contains? Thanks again, Clark
Hi Clark,
On 02/06/2013 05:55 PM, Clark Fisher wrote:
Hi everyone,
In a previous discussion on this list (http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg17681.html), Pablo Polosecki was asking the best way to perform hypothesis testing using functional data within an ROI. The final opinion was that it was best to average all of the time courses in the ROI, and re-run the analysis from scratch, so that all of the appropriate whitening, etc. occurred.
I was considering doing this, creating a small volume (say, 10 voxels total) that had each voxel holding the average time course from one of 10 ROIs. I would then set up and run a usual fsfast analysis using these tiny volumes. I am using freesurfer 4.5. I have a few questions.
- Is this reasonable?
In general, it is reasonable. Though I'm curious what you are ultimately trying to do. Do you want p-values for each subject in each ROI? Or will you be combining the ROI beta values across subject in a group analysis? If so, then the whitening will probably make little, if any, difference, especially if this is a blocked design. In expectation, the whitening does not affect the beta values.
- One area where I expect to run into problems is with the whitening.
If I set -acfbins to the total number of my dummy voxels, and -acffwhm to 0, will this use the autocorrelation function of the average timecourse within each individual ROI? Is that an appropriate approach? How sensitive will this be to the number of actual voxels averaged to get each ROI (for instance, would this bias me to finding more significant results in ROIs containing fewer voxels?).
That might work, but no promises! It is an appropriate approach. It might be sensitive to the number of voxels if the number is small (say, less than 100).
- Are there other steps that depend upon the spatial arrangement of
voxels that I am forgetting, and will these steps choke on these small volumes (or worse, fail in silent but pernicious ways).
Nothing I can think of off the top of my head. doug
Thanks for all of the help, Clark
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop:www.nmr.mgh.harvard.edu/facility/filedrop/index.html http://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing:ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail.
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop:www.nmr.mgh.harvard.edu/facility/filedrop/index.html http://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing:ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Thanks - it turned out that the zero voxels I put in my fake ROI volumes were causing the cesvar voxels to be misaligned relative to the ces voxels. All seems to be right for the moment.
-Clark
On Feb 14, 2013, at 12:47 PM, Douglas N Greve wrote:
You can compute the t = ces/sqrt(cesvar) and from that (and the DOF) you can compute the p to see if it is consistent with pValue. doug ps. I don't know that your conf interval formula is correct. I don't have a reason to think it is wrong, I just don't know, so you might want to double check it
On 02/14/2013 07:25 AM, Clark Fisher wrote:
Hi Doug and the list,
I think I still have a problem understanding what cesvar.nii contains. As a sanity check, I tried to create 95% confidence intervals around my CES. I found that in some voxels (or ROIs in my case) that had a p-value of less than 0.05, my 95% confidence interval for my CES included zero. Here's one example:
clear cesNii = MRIread('ces.nii'); cesVol = cesNii.vol; cesVarNii = MRIread('cesvar.nii'); cesVarVol = cesVarNii.vol; sigNii = MRIread('sig.nii'); sigVol = sigNii.vol; pValue = 10^-abs(sigVol(4,1,1))
pValue =
0.0199
ces = cesVol(4,1,1)
ces =
-0.0028
cesVar = cesVarVol(4,1,1)
cesVar =
6.4511e-06
ces95pctCI = ces + [ -1 +1 ] .* sqrt(cesVar) * 1.96
ces95pctCI =
-0.0078 0.0022
Are the p-values calculated in a way that assumes non-Gaussian error of the ces, or am I otherwise doing something wrong?
Thanks, Clark
Douglas N Greve http://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=from:%22Douglas+N+Greve%22 Wed, 13 Feb 2013 15:11:27 -0800 http://www.mail-archive.com/search?l=freesurfer@nmr.mgh.harvard.edu&q=date:20130213
1). Yes 2) Right, pull the scale outside of the sqrt()
doug On 02/13/2013 03:36 PM, Clark Fisher wrote:
Hi Doug,
Thanks for the help, that seemed to worked great. I have a few follow up questions about how to process the resulting statistics.
I'm still using v4.5 (can't switch to v5 yet), as I mentioned, and would like to get the % signal change for certain contrasts with error bars. Looking through the listserv, I see that the values in cespct.nii require correction by a scale factor in this version of fsfast. The most recent conversation I could find on this comes from 2010, when you told Thomas Janssens:
Hi Thomas, you may have found a bug in my scale factor calculation. Can you compute the new scale factor as described below? BTW, these issues are fixed in version 5.
cd bold/analysis x = load('X'); tirf = x.flac0.ev(3).tirf; Xirf = x.flac0.ev(3).Xirf; scalefOld = sum(Xirf .* repmat(tirf,[1 size(Xirf,2)])); TR = x.flac0.TR; dt = tirf(2)-tirf(1); scalefNew = sum(Xirf)*TR/dt;
I can't find a follow up to this message. 2 questions.
- The results with scalefNew look reasonable to me; do you still think that
this is the proper way to adjust cespct.nii in v4.5? 2) If I want to put error bars on my % signal change, how do I scale the values in cesvarpct.nii? I would guess that if I wanted to put a 95% CI on my % signal change, it would be: (cespct * scalefNew) +/- ( sqrt(cesvarpct) * scalefNew * 1.96) and NOT (cespct * scalefNew) +/- ( sqrt(cesvarpct * scalefNew) * 1.96) Does this sound right, or am I misinterpreting what cesvarpct.nii contains? Thanks again, Clark
Hi Clark,
On 02/06/2013 05:55 PM, Clark Fisher wrote:
Hi everyone,
In a previous discussion on this list (http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg17681.html), Pablo Polosecki was asking the best way to perform hypothesis testing using functional data within an ROI. The final opinion was that it was best to average all of the time courses in the ROI, and re-run the analysis from scratch, so that all of the appropriate whitening, etc. occurred.
I was considering doing this, creating a small volume (say, 10 voxels total) that had each voxel holding the average time course from one of 10 ROIs. I would then set up and run a usual fsfast analysis using these tiny volumes. I am using freesurfer 4.5. I have a few questions.
- Is this reasonable?
In general, it is reasonable. Though I'm curious what you are ultimately trying to do. Do you want p-values for each subject in each ROI? Or will you be combining the ROI beta values across subject in a group analysis? If so, then the whitening will probably make little, if any, difference, especially if this is a blocked design. In expectation, the whitening does not affect the beta values.
- One area where I expect to run into problems is with the whitening.
If I set -acfbins to the total number of my dummy voxels, and -acffwhm to 0, will this use the autocorrelation function of the average timecourse within each individual ROI? Is that an appropriate approach? How sensitive will this be to the number of actual voxels averaged to get each ROI (for instance, would this bias me to finding more significant results in ROIs containing fewer voxels?).
That might work, but no promises! It is an appropriate approach. It might be sensitive to the number of voxels if the number is small (say, less than 100).
- Are there other steps that depend upon the spatial arrangement of
voxels that I am forgetting, and will these steps choke on these small volumes (or worse, fail in silent but pernicious ways).
Nothing I can think of off the top of my head. doug
Thanks for all of the help, Clark
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop:www.nmr.mgh.harvard.edu/facility/filedrop/index.html http://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing:ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail.
-- Douglas N. Greve, Ph.D. MGH-NMR Center gr...@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop:www.nmr.mgh.harvard.edu/facility/filedrop/index.html http://www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing:ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
-- Douglas N. Greve, Ph.D. MGH-NMR Center greve@nmr.mgh.harvard.edu Phone Number: 617-724-2358 Fax: 617-726-7422
Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting FileDrop: www.nmr.mgh.harvard.edu/facility/filedrop/index.html Outgoing: ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/
freesurfer@nmr.mgh.harvard.edu