AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
dfm
May 21, 2015 03:06PM
Hi Gang Chen,

Thanks yet again for the quick response. I'm not sure how I missed the fact the the Age factor was absent. In any event, my basic question about the syntax still remains.

Generally what I'm interested in doing is examing the model predicted time courses at different combinations of predictor values.
Let's say I used the more intricate model with the Time*Age interaction and, for some unfathomable reason, I wanted to look at the model estimates of the trial time course of some voxel at two different ages and at two different levels of motion. For the first analysis I want to look at the model estimate of trial HRFs from 18 year olds with zero motion. Later I want to visually compare that to the model estimates for a 7 year old with lots of movement and so on.

I'd start by using the model string that you suggested and get this as my 3dLME command:

#!/bin/bash
3dLME \
-prefix LELMLeftLME \
-jobs 8 \
-qVarCenters '0,0,0' \
-qVars 'Age,TrialDisplacement,TrialDisplacementSquared' \
-model "1+Time*Age+TrialDisplacement+TrialDisplacementSquared" \
-ranEff '~1' \
-num_glt 20 \
-gltLabel 1 'T00' -gltCode 1 'Time : 1*T00 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 2 'T01' -gltCode 2 'Time : 1*T01 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 3 'T02' -gltCode 3 'Time : 1*T02 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 4 'T03' -gltCode 4 'Time : 1*T03 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 5 'T04' -gltCode 5 'Time : 1*T04 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 6 'T05' -gltCode 6 'Time : 1*T05 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 7 'T06' -gltCode 7 'Time : 1*T06 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 8 'T07' -gltCode 8 'Time : 1*T07 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 9 'T08' -gltCode 9 'Time : 1*T08 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 10 'T09' -gltCode 10 'Time : 1*T09 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 11 'T10' -gltCode 11 'Time : 1*T10 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 12 'T11' -gltCode 12 'Time : 1*T11 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 13 'T12' -gltCode 13 'Time : 1*T12 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 14 'T13' -gltCode 14 'Time : 1*T13 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 15 'T14' -gltCode 15 'Time : 1*T14 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 16 'T15' -gltCode 16 'Time : 1*T15 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 17 'T16' -gltCode 17 'Time : 1*T16 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 18 'T17' -gltCode 18 'Time : 1*T17 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 19 'T18' -gltCode 19 'Time : 1*T18 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-gltLabel 20 'T19' -gltCode 20 'Time : 1*T19 Age : 18 TrialDisplacement : 0 TrialDisplacementSquared : 0' \
-dataTable @LELMLeftModelTable.txt

But this command still throws an error:

Read 45010 items
Error in seq.default(2, length(sepTerms), 2) :
wrong sign in 'by' argument
Calls: process.LME.opts -> gl_Constr -> glfConstr -> seq -> seq.default
In addition: Warning messages:
1: In if (is.na(code[[n]][QVpos + 2])) { :
the condition has length > 1 and only the first element will be used
2: In if (QVpos == 1) outList[[1]][[n]] <- NA else outList[[1]][[n]] <- glfConstr(code[[n]][-(QVpos:(QVpos + :
the condition has length > 1 and only the first element will be used
3: In QVpos:(QVpos + 2) :
numerical expression has 3 elements: only the first used
4: In QVpos:(QVpos + 2) :
numerical expression has 3 elements: only the first used
Execution halted


However a gltCode with this format seems to work:

-gltLabel 1 'T00' -gltCode 1 'Time : 1*T00 Age : 18' \

But in this case, I can't simultaneously set the value for movement. It seems as though there is something wrong with the syntax that I'm using to set value for multiple model parameters. Is it even possible to set the value of two different model parameters in gltCode syntax? Thanks again for taking the time to help out.

Cheers!
David
Subject Author Posted

3dLME glt syntax

dfm May 20, 2015 07:06PM

Re: 3dLME glt syntax

gang May 21, 2015 01:46PM

Re: 3dLME glt syntax

dfm May 21, 2015 03:06PM

Re: 3dLME glt syntax

gang May 21, 2015 05:50PM