Thanks Gang!
Is it the number of sub-briks in the results output (i.e. depending on the stats used in 3dMVM) or is it the number or sub-briks in the residuals (number of subjects)?
In any case, I tried it and it does not work.
I installed a fresh AFNI install, to avoid any of my old edits.
I then found the lines:
print(sprintf("Start to compute %s slices along Z axis. You can monitor the progress", dimz))
print("and estimate the total run time as shown below.")
print(format(Sys.time(), "%D %H:%M:%OS3"))
And I added this above it (tried 10 and 7350, depedning on the answer to my first question above).
lop$outInit <- rep(0, 10)
And I still get:
~~~~~~~~~~~~~~~~~~~ Model test failed! ~~~~~~~~~~~~~~~~~~~
Possible reasons:
0) Make sure that R packages afex and phia have been installed. See the 3dMVM
help documentation for more details.
1) Inappropriate model specification with options -bsVars, -wsVars, or -qVars.
Note that within-subject or repeated-measures variables have to be declared
with -wsVars.
2) Incorrect specifications in general linear test coding with -gltCode.
3) Mistakes in data table. Check the data structure shown above, and verify
whether there are any inconsistencies.
4) Inconsistent variable names which are case sensitive. For example, factor
named Group in model specification and then listed as group in the table header
would cause grief for 3dMVM.
5) Not enough number of subjects. This may happen when there are two or more
withi-subject factors. For example, a model with two within-subject factors with
m and n levels respectively requires more than (m-1)*(n-1) subjects to be able to
model the two-way interaction with the multivariate approach.
** Error:
Quitting due to model test failure...
Did you mean that I should remove the whole while-loop and then add this line, or just add this line?
My single code edit:
...
...
lop$outInit <- rep(0, NoBrick) # initialization for the voxel-wise output
lop$crit <- 0.75 # switch between GG and HF
}
lop$outInit <- rep(0, 10)
print(sprintf("Start to compute %s slices along Z axis. You can monitor the progress", dimz))
print("and estimate the total run time as shown below.")
print(format(Sys.time(), "%D %H:%M:%OS3"))
EDIT:
You don't have to answer this, I went the other way instead. Using a middle slice toghether with the edge slices to trick the program that there are good voxels.
Edited 2 time(s). Last edit at 05/25/2022 04:43AM by Robin.