MEICA Python ValueError

Dear colleagues,

I am trying to use the meica.py to process some multi-echo data, but I get some python errors in the program. I tried to process my own data and the demo data, but got the same error.

Here is the log output:


++++++++++++++++++++++++
+* Perform TE-dependence analysis (takes a good while)
-- ME-PCA/ME-ICA Component for ME-ICA v2.5 beta10--
++ Loading Data
++ Computing Mask
++ Computing T2* map
 + Writing file: s0v.nii ....done.
 + Writing file: t2sv.nii ....done.
 + Writing file: t2sF.nii ....done.
++ Doing ME-PCA and ME-ICA with MDP
-Computing PCA of optimally combined multi-echo data
Out shape is  (37, 46, 38, 239)
0
32.6136621827 163068.310914
Out shape is  (37, 46, 38, 239)
Traceback (most recent call last):
  File "/Users/vincent/abin/meica.libs/tedana.py", line 661, in <module>
    nc,dd = tedpca(options.ste)
  File "/Users/vincent/abin/meica.libs/tedana.py", line 400, in tedpca
    none,ctb,betasv,v_T = fitmodels_direct(catd,v.T,eimum,t2s,tes,mmixN=vTmixN,full_sel=False)
  File "/Users/vincent/abin/meica.libs/select_model.py", line 36, in fitmodels_direct
    if mmixN == None: mmixN=mmix
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

I have read several posts about this value error but still can’t find a way that really clearly explain how to fix the problem. I see why Python does not like what it’s been written but I am not sure how to fix it. Does it have something to do with the numpy version? For the record, the numpy version I have is 1.13.1.

Thanks
Vincent

Dear Vincent,

Try with the older version of numpy (1.8.0).
I succeeded with that version.

Best,
Saske

Thanks!

I tried with numpy (1.10.1) and got this problem fixed.