Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
---
1. Compile/smooth CBF data on surface for all subjects. mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
2. Compile/smooth thickness data on surface for all subjects. mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
3. GLM fit of CBF maps, including thickness as a regressor. mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
4. Multiple comparisons correction mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
---
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote:
Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
- Compile/smooth CBF data on surface for all subjects.
mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
- Compile/smooth thickness data on surface for all subjects.
mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
- GLM fit of CBF maps, including thickness as a regressor.
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
- Multiple comparisons correction
mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
OK, I see. How would you recommend correcting for multiple comparisons if the perm option does not work with PVR?
Also, are you saying that I should only use the glm.osgm.lh/eres.mgh file as a pvr argument? Does this look correct:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr glm.osgm.lh/eres.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Best, Asim ________________________________ From: freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu Sent: Sunday, February 13, 2022 5:29 PM To: freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote: Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
---
1. Compile/smooth CBF data on surface for all subjects. mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
2. Compile/smooth thickness data on surface for all subjects. mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
3. GLM fit of CBF maps, including thickness as a regressor. mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
4. Multiple comparisons correction mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
---
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Hello Doug, just following up on my questions below on how/if I can correct for multiple comparisons with PVR. Thanks again.
Best, Asim ________________________________ From: Dhungana, Asim ADHUNGANA@mgh.harvard.edu Sent: Monday, February 14, 2022 11:45 AM To: Freesurfer support list freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
OK, I see. How would you recommend correcting for multiple comparisons if the perm option does not work with PVR?
Also, are you saying that I should only use the glm.osgm.lh/eres.mgh file as a pvr argument? Does this look correct:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr glm.osgm.lh/eres.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Best, Asim ________________________________ From: freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu Sent: Sunday, February 13, 2022 5:29 PM To: freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote: Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
---
1. Compile/smooth CBF data on surface for all subjects. mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
2. Compile/smooth thickness data on surface for all subjects. mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
3. GLM fit of CBF maps, including thickness as a regressor. mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
4. Multiple comparisons correction mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
---
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
I just updated the code to accept PVRs. I'm not sure what I have to do to test it; I guess I need to run the null test like I did for the non-PVR version. This will take a while. In the mean time, can you download the development version and just try it on your data to see if it crashes or gives results that don't seem to make sense? You'll have to wait until the development version is updated (probably tomorrow).
On 2/17/2022 5:22 PM, Dhungana, Asim wrote:
Hello Doug, just following up on my questions below on how/if I can correct for multiple comparisons with PVR. Thanks again.
Best, Asim
*From:* Dhungana, Asim ADHUNGANA@mgh.harvard.edu *Sent:* Monday, February 14, 2022 11:45 AM *To:* Freesurfer support list freesurfer@nmr.mgh.harvard.edu *Subject:* Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness OK, I see. How would you recommend correcting for multiple comparisons if the perm option does not work with PVR?
Also, are you saying that I should only use the glm.osgm.lh/eres.mgh file as a pvr argument? Does this look correct:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr glm.osgm.lh/eres.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Best, Asim
*From:* freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu *Sent:* Sunday, February 13, 2022 5:29 PM *To:* freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu *Subject:* Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote:
Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
- Compile/smooth CBF data on surface for all subjects.
mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
- Compile/smooth thickness data on surface for all subjects.
mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
- GLM fit of CBF maps, including thickness as a regressor.
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
- Multiple comparisons correction
mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Thank you! I ran the development version of the mri_glmfit-sim command on my data, and it did not crash and seems to give reasonable outputs (smaller clusters disappear after correction). Whenever your tests are done, it will be good to know if they confirm that everything is working.
Best, Asim ________________________________ From: freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu Sent: Monday, February 21, 2022 6:29 PM To: freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
I just updated the code to accept PVRs. I'm not sure what I have to do to test it; I guess I need to run the null test like I did for the non-PVR version. This will take a while. In the mean time, can you download the development version and just try it on your data to see if it crashes or gives results that don't seem to make sense? You'll have to wait until the development version is updated (probably tomorrow).
On 2/17/2022 5:22 PM, Dhungana, Asim wrote: Hello Doug, just following up on my questions below on how/if I can correct for multiple comparisons with PVR. Thanks again.
Best, Asim ________________________________ From: Dhungana, Asim ADHUNGANA@mgh.harvard.edumailto:ADHUNGANA@mgh.harvard.edu Sent: Monday, February 14, 2022 11:45 AM To: Freesurfer support list freesurfer@nmr.mgh.harvard.edumailto:freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
OK, I see. How would you recommend correcting for multiple comparisons if the perm option does not work with PVR?
Also, are you saying that I should only use the glm.osgm.lh/eres.mgh file as a pvr argument? Does this look correct:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr glm.osgm.lh/eres.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Best, Asim ________________________________ From: freesurfer-bounces@nmr.mgh.harvard.edumailto:freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edumailto:freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edumailto:dgreve@mgh.harvard.edu Sent: Sunday, February 13, 2022 5:29 PM To: freesurfer@nmr.mgh.harvard.edumailto:freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edumailto:freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness
Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote: Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
---
1. Compile/smooth CBF data on surface for all subjects. mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
2. Compile/smooth thickness data on surface for all subjects. mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
3. GLM fit of CBF maps, including thickness as a regressor. mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
4. Multiple comparisons correction mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
---
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Hi Asim, I ran into some issues on my test. I think the software is doing what it is supposed to do, but I think there is something wrong with the underlying permutation method when using PVRs. This will take a while for me to figure out. In the meantime, you can try using the more conventional mcz correction. If the cluster p-value is very strong, then the liberalness of the method might not matter.
On 2/22/2022 5:32 PM, Dhungana, Asim wrote:
Thank you! I ran the development version of the mri_glmfit-sim command on my data, and it did not crash and seems to give reasonable outputs (smaller clusters disappear after correction). Whenever your tests are done, it will be good to know if they confirm that everything is working.
Best, Asim
*From:* freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu *Sent:* Monday, February 21, 2022 6:29 PM *To:* freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu *Subject:* Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness I just updated the code to accept PVRs. I'm not sure what I have to do to test it; I guess I need to run the null test like I did for the non-PVR version. This will take a while. In the mean time, can you download the development version and just try it on your data to see if it crashes or gives results that don't seem to make sense? You'll have to wait until the development version is updated (probably tomorrow).
On 2/17/2022 5:22 PM, Dhungana, Asim wrote:
Hello Doug, just following up on my questions below on how/if I can correct for multiple comparisons with PVR. Thanks again.
Best, Asim
*From:* Dhungana, Asim ADHUNGANA@mgh.harvard.edu mailto:ADHUNGANA@mgh.harvard.edu *Sent:* Monday, February 14, 2022 11:45 AM *To:* Freesurfer support list freesurfer@nmr.mgh.harvard.edu mailto:freesurfer@nmr.mgh.harvard.edu *Subject:* Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness OK, I see. How would you recommend correcting for multiple comparisons if the perm option does not work with PVR?
Also, are you saying that I should only use the glm.osgm.lh/eres.mgh file as a pvr argument? Does this look correct:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr glm.osgm.lh/eres.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Best, Asim
*From:* freesurfer-bounces@nmr.mgh.harvard.edu mailto:freesurfer-bounces@nmr.mgh.harvard.edu freesurfer-bounces@nmr.mgh.harvard.edu mailto:freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Douglas N. Greve dgreve@mgh.harvard.edu mailto:dgreve@mgh.harvard.edu *Sent:* Sunday, February 13, 2022 5:29 PM *To:* freesurfer@nmr.mgh.harvard.edu mailto:freesurfer@nmr.mgh.harvard.edu freesurfer@nmr.mgh.harvard.edu mailto:freesurfer@nmr.mgh.harvard.edu *Subject:* Re: [Freesurfer] mri_glmfit of surface CBF maps while regressing out cortical thickness Re: long run time. Sorry, permutation will not work with PVR. Re: mean thickness. Use the eres.mgh from you osgm analysis instead of the raw thickness map (lh.thickness.fwhm10.mgh)
On 2/8/2022 4:12 PM, Dhungana, Asim wrote:
Dear Freesurfer experts,
I am trying to run a GLM analysis comparing the difference in the cortical CBF maps between two groups, but I would like to regress out cortical thickness. I read through a post with a similar question (https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html https://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg65059.html), but I am still a little confused and want to confirm the steps of my analysis below:
- Compile/smooth CBF data on surface for all subjects.
mris_preproc --hemi lh \ --projfrac 0.5 \ --target fsaverage \ --o lh.cbf.00.mgh \ --iv subj1/cbf.mgz subj1/register_pasl.dat \ --iv subj2/cbf.mgz subj2/register_pasl.dat \ ... until subjN
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.cbf.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.cbf.fwhm10.mgh
- Compile/smooth thickness data on surface for all subjects.
mris_preproc \ --fsgd cbf.fsgd \ --target fsaverage \ --hemi lh \ --meas thickness \ --out lh.thickness.00.mgh
mri_surf2surf \ --hemi lh \ --s fsaverage \ --sval lh.thickness.00.mgh \ --fwhm 10 \ --cortex \ --tval lh.thickness.fwhm10.mgh
- GLM fit of CBF maps, including thickness as a regressor.
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
- Multiple comparisons correction
mri_glmfit-sim \ --glmdir lh.cbf.fwhm10.glmdir \ --perm 1000 1.3 abs \ --cwp 0.05 \ --2spaces \ --bg 35
I am currently having issues with Step 4; it has been over an hour, and it seems that the command will not finish executing. It is also not outputting any error messages. Whenever I run this analysis using the same parameters but without regressing out thickness, this step takes under five minutes on my machine and returns appropriate results. It seems like I must be doing something wrong, but I'm not sure. Please let me know if there is anything that you would change/add above.
Also, I noticed that you recommended regressing out the overall mean thickness (which you can obtain through mri_glmfit --surf fsaverage lh --osgm --y lh.thickness.fwhm10.mgh --o glm.osgm.lh --eres-save). Is glm.osgm.lh the mean stratified by class or the overall mean? If I were to include this in my GLM fit, would this be the correct command:
mri_glmfit \ --y lh.cbf.fwhm10.mgh \ --fsgd cbf.fsgd \ --pvr lh.thickness.fwhm10.mgh glm.osgm.lh \ --C contrast.ctx \ # where contrast.ctx = "1 -1 0 0" --surf fsaverage lh \ --cortex \ --glmdir lh.cbf.fwhm10.glmdir \ --eres-save
Thank you for taking a look at this, let me know if you need any other information.
Best, Asim Dhungana
Freesurfer version: freesurfer-linux-centos7_x86_64-7.1.0-20200511-813297b
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu mailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
freesurfer@nmr.mgh.harvard.edu