help > gPPI with parametric modulator entered as user-specific regressor
Showing 1-8 of 8 posts
Jun 7, 2018 02:06 PM | yogr - The University of Tokyo
gPPI with parametric modulator entered as user-specific regressor
Dear experts,
We have a trouble with applying gPPI to a model with multiple parametric modulators, which were entered to SPM as user-specific regressors (not to "parametric modulations").
As Mumford et al. (2015) points out, the SPM results change depending upon the order in which the parametric modulators are specified in the model.
http://journals.plos.org/plosone/article...
To avoid this problem, we manually created parametric modulators and specified in the model as user-specific regressors (i.e. not as "fmri_spec.sess.cond(i).pmod(n)", but as "fmri_spec.sess.regress(n)"). The methods appear below.
https://canlabweb.colorado.edu/wiki/doku...
Then the issue of the order has been solved, but gPPI does not work.
We specified PMs as below (1)-(3), but neither of them ran successfully. Although Contrasts(1) is successfully built but Contrast(2) is not, and we get an error message, "Warning: Missing conditions!!! Invalid Contrast".
(1)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail={'PM1'};
(2)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail.L={'PM1'};
(3)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail.L={'PM1'};
P.Contrasts(2).Contrail.R={'none'};
Some experts recommend us to switch orth option from 1 to 0 and use SPM parametric modulation, but it seems to weaken the effect of condition.
Is there any solution?
Thank you very much in advance,
Yukiko
We have a trouble with applying gPPI to a model with multiple parametric modulators, which were entered to SPM as user-specific regressors (not to "parametric modulations").
As Mumford et al. (2015) points out, the SPM results change depending upon the order in which the parametric modulators are specified in the model.
http://journals.plos.org/plosone/article...
To avoid this problem, we manually created parametric modulators and specified in the model as user-specific regressors (i.e. not as "fmri_spec.sess.cond(i).pmod(n)", but as "fmri_spec.sess.regress(n)"). The methods appear below.
https://canlabweb.colorado.edu/wiki/doku...
Then the issue of the order has been solved, but gPPI does not work.
We specified PMs as below (1)-(3), but neither of them ran successfully. Although Contrasts(1) is successfully built but Contrast(2) is not, and we get an error message, "Warning: Missing conditions!!! Invalid Contrast".
(1)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail={'PM1'};
(2)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail.L={'PM1'};
(3)
P.Contrasts(1).left={'Cond1'};
P.Contrasts(1).right={'none'};
...
P.Contrasts(2).left={'Cond1'};
P.Contrasts(2).right={'none'};
P.Contrasts(2).Contrail.L={'PM1'};
P.Contrasts(2).Contrail.R={'none'};
Some experts recommend us to switch orth option from 1 to 0 and use SPM parametric modulation, but it seems to weaken the effect of condition.
Is there any solution?
Thank you very much in advance,
Yukiko
Jun 7, 2018 04:06 PM | Donald McLaren
RE: gPPI with parametric modulator entered as user-specific regressor
Hi,
I think the issue is that you don't have the PPI terms for the parametric modulators. Thus, the contrasts cannot be built.
The automated contrasts specified in the configuration settings P can only be used for the PPI terms. It is assumed that these all begin with PPI_ and the code uses this prefix on the conditions names. If you do have PPI terms for the PM, please attach the SPM.mat file and I can take a closer look at the issue.
Best,
Donald
I think the issue is that you don't have the PPI terms for the parametric modulators. Thus, the contrasts cannot be built.
The automated contrasts specified in the configuration settings P can only be used for the PPI terms. It is assumed that these all begin with PPI_ and the code uses this prefix on the conditions names. If you do have PPI terms for the PM, please attach the SPM.mat file and I can take a closer look at the issue.
Best,
Donald
Jun 7, 2018 05:06 PM | yogr - The University of Tokyo
RE: gPPI with parametric modulator entered as user-specific regressor
Dear Dr. McLaren,
Thank you very much for your prompt and helpful reply.
According to SPM.xX.name, as you point out, prefix "PPI_" is added to condition only.
For example, if I add the prefix "PPI_" to the name manually-created PMs when I run a SPM first-level analysis (not first-level PPI), can the code catch the prefix?
I have attached a SPM.mat file for reference. There are one condition ("Cue") and two manually-created PMs ("w" and "DotNumber").
Best regards,
Yukiko
Thank you very much for your prompt and helpful reply.
According to SPM.xX.name, as you point out, prefix "PPI_" is added to condition only.
For example, if I add the prefix "PPI_" to the name manually-created PMs when I run a SPM first-level analysis (not first-level PPI), can the code catch the prefix?
I have attached a SPM.mat file for reference. There are one condition ("Cue") and two manually-created PMs ("w" and "DotNumber").
Best regards,
Yukiko
Jun 7, 2018 06:06 PM | Donald McLaren
RE: gPPI with parametric modulator entered as user-specific regressor
Yes. That should work with that change in the names.
Jun 7, 2018 08:06 PM | yogr - The University of Tokyo
RE: gPPI with parametric modulator entered as user-specific regressor
Dear Dr. McLaren,
Thank you very much. I modified and ran the batches as you instructed.
However, when I entered the manual PMs to P as contrails like below, as generally recommended for parametric modulators, it does not work. I get the error "Warning: Missing conditions!!! Invalid Contrast".
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'PM'}; % or P.Contrasts(1).Contrail={'PPI_PM'};
I also tried to enter the PMs as conditions, but it also does not work. The output is like below and I get no SPM.mat file.
ERROR 1: Program will now exit. You specified too many tasks. Tasks must exist in all runs.
ERROR 2: PPPI inputs were specified correctly, but failed error checking for dependencies. See errorval{1}.
I am sorry for bothering you, but I would be appreciated if you would help me.
Best regards,
Yukiko
Thank you very much. I modified and ran the batches as you instructed.
However, when I entered the manual PMs to P as contrails like below, as generally recommended for parametric modulators, it does not work. I get the error "Warning: Missing conditions!!! Invalid Contrast".
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'PM'}; % or P.Contrasts(1).Contrail={'PPI_PM'};
I also tried to enter the PMs as conditions, but it also does not work. The output is like below and I get no SPM.mat file.
ERROR 1: Program will now exit. You specified too many tasks. Tasks must exist in all runs.
ERROR 2: PPPI inputs were specified correctly, but failed error checking for dependencies. See errorval{1}.
I am sorry for bothering you, but I would be appreciated if you would help me.
Best regards,
Yukiko
Jun 7, 2018 09:06 PM | Donald McLaren
RE: gPPI with parametric modulator entered as user-specific regressor
What is the full name of the column in SPM.xX.name?
Generally, its Sn(i) PPI_Cond^PM, if I recall correctly. The code is setup to concatenate the condition name and contrail, so:
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'PM'};
becomes PPI_CondPM
I think this means that for your case, you need P.Contrasts(1).Contrail={'^PM'}; but it depends how the SPM.xX.name columns appear.
Best,
Donald
Generally, its Sn(i) PPI_Cond^PM, if I recall correctly. The code is setup to concatenate the condition name and contrail, so:
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'PM'};
becomes PPI_CondPM
I think this means that for your case, you need P.Contrasts(1).Contrail={'^PM'}; but it depends how the SPM.xX.name columns appear.
Best,
Donald
Jun 8, 2018 08:06 AM | yogr - The University of Tokyo
RE: gPPI with parametric modulator entered as user-specific regressor
Dear Dr. McLaren,
Thank you very much!
According to your comment, I renamed the name of the column in SPM.xX.name, from "Sn(i) PM" to "Sn(i) PPI_CONDxPM^1*bf(1)".
Next, I set up the gPPI code as below.
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'xPM^1'};
Then the command is accepted and I get a valid contrast. I really appreciate your very helpful advice!
Thank you again,
Yukiko
Thank you very much!
According to your comment, I renamed the name of the column in SPM.xX.name, from "Sn(i) PM" to "Sn(i) PPI_CONDxPM^1*bf(1)".
Next, I set up the gPPI code as below.
P.Contrasts(1).left={'Cond'};
P.Contrasts(1).right={'none'};
P.Contrasts(1).Contrail={'xPM^1'};
Then the command is accepted and I get a valid contrast. I really appreciate your very helpful advice!
Thank you again,
Yukiko
Jun 8, 2018 02:06 PM | Donald McLaren
RE: gPPI with parametric modulator entered as user-specific regressor
Great to hear its working.
