Closed LStruber closed 2 years ago
I noticed that the normalize12 brick (inside the spatial_preprocessing brick) does not have its 'image_to-align' input connected.
According to the documentation https://nipype.readthedocs.io/en/0.12.0/interfaces/generated/nipype.interfaces.spm.preprocess.html#normalize12, it's a mandatory input.
So ?
It is indeed a mandatory input but "mutually_exclusive" from deformation_file
. This seems to mean that you have to set only one over the two mandatory parameters
Exactly, the mutually_exclusive
"nipype spell" only indicates that we are not allowed to use both parameters at the same time. For example the following pipeline worked very well 5 minutes ago!
Hem, @LStruber, didn't you forget to update capsul ??? Please update capsul (for example with bv_maker), make sure to update populse_mia, then test again this pipeline again ... Then close this ticket :-)))))
No I didn't ! Capsul is up to date and populse too:
The normalize brick fails:
You had the same error when you ran the brick at your desk today, what did you update since this afternoon ?
I'm pretty sure the issue is coming from the package versions. Please keep only populse_mia and mia_processes in your development directory. Make sure that these two packages are up to date (git pull in master). Then do a bv_maker. Then, please, do the test again.
I have just retested and with this configuration the test works perfectly well with the station at home. I will test again tomorrow morning with the station at hospital.
In order not to miss anything: $ pip3 list Package Version
alabaster 0.7.8 appdirs 1.4.4 asn1crypto 0.24.0 attrs 20.3.0 Babel 2.6.0 bleach 3.3.0 cached-property 1.5.2 certifi 2018.1.18 cfgv 3.2.0 chardet 3.0.4 ci-info 0.2.0 click 7.1.2 colorama 0.4.4 configobj 5.0.6 coverage 5.5 cryptography 2.1.4 cycler 0.10.0 Cython 0.26.1 dataclasses 0.8 decorator 4.4.2 defusedxml 0.7.1 dipy 0.14.0 distlib 0.3.1 docutils 0.14 entrypoints 0.3 et-xmlfile 1.0.1 etelemetry 0.2.2 fastcluster 1.1.28 filelock 3.0.12 fissix 20.8.0 flake8 3.5.0 funcsigs 1.0.2 future 0.18.2 h5py 2.9.0 html2text 2018.1.9 identify 2.1.3 idna 2.6 imageio 2.9.0 imagesize 0.7.1 importlib-metadata 3.7.3 importlib-resources 5.1.2 ipykernel 4.10.1 ipython 5.9.0 ipython_genutils 0.2.0 ipywidgets 7.6.3 isodate 0.6.0 jdcal 1.0 jeepney 0.6.0 Jinja2 2.10 joblib 0.13.2 jsonschema 3.2.0 jupyter 1.0.0 jupyter-client 5.3.5 jupyter-console 5.2.0 jupyter-core 4.7.1 jupyterlab-widgets 1.0.0 keyring 23.0.1 kiwisolver 1.3.1 lark-parser 0.7.8 lxml 4.2.1 MarkupSafe 1.0 matplotlib 3.3.4 mccabe 0.6.1 meld 3.18.0 mistune 0.8.4 modernize 0.8.0 mpi4py 2.0.0 mysqlclient 1.3.10 nbconvert 5.6.1 nbformat 5.1.2 nbsphinx 0.4.3 networkx 2.5 neurdflib 5.0.1 nibabel 2.5.1 nipype 1.6.0 nodeenv 1.5.0 notebook 5.7.10 numpy 1.16.6 openpyxl 2.4.9 packaging 20.9 pandas 0.23.3 pandocfilters 1.4.3 paramiko 2.0.0 pexpect 4.8.0 pickleshare 0.7.5 Pillow 8.1.2 pip 21.2.4 pkginfo 1.7.0 pluggy 0.13.1 pre-commit 2.11.1 prometheus-client 0.9.0 prompt-toolkit 1.0.18 prov 2.0.0 ptyprocess 0.7.0 py 1.10.0 pyasn1 0.4.2 pycairo 1.16.2 Pycluster 1.59 pycodestyle 2.3.1 pycrypto 2.6.1 pydicom 0.9.9 pydot 1.2.3 pydotplus 2.0.2 pyflakes 1.6.0 Pygments 2.8.1 PyGObject 3.26.1 PyOpenGL 3.1.0 pyparsing 2.2.0 PyQt5 5.12.1 PyQt5_sip 4.19.15 PyQtWebEngine 5.12.1 pyrsistent 0.17.3 python-apt 1.6.5+ubuntu0.5 python-dateutil 2.6.1 pytz 2018.3 PyWavelets 1.1.1 PyYAML 5.4.1 pyzmq 18.0.2 qtconsole 4.4.4 rdflib 5.0.0 readme-renderer 29.0 requests 2.25.1 requests-toolbelt 0.9.1 rfc3986 1.5.0 roman 2.0.0 scikit-image 0.17.2 scikit-learn 0.20.4 scipy 1.2.3 SecretStorage 3.3.1 Send2Trash 1.5.0 setuptools 57.0.0 simplegeneric 0.8.1 simplejson 3.17.2 six 1.15.0 Sphinx 1.6.7 sphinx-gallery 0.3.1 sphinx-paramlinks 0.3.4 SQLAlchemy 1.1.11 terminado 0.9.3 testpath 0.4.4 tifffile 2020.9.3 toml 0.10.2 torch 1.8.0 torch-vision 0.1.6.dev0 tornado 4.5.3 tox 3.23.0 tqdm 4.19.5 traitlets 4.3.3 traits 6.2.0 twine 3.4.1 typing-extensions 3.7.4.3 unattended-upgrades 0.1 urllib3 1.22 virtualenv 20.4.3 wcwidth 0.2.5 webencodings 0.5.1 wheel 0.36.2 widgetsnbextension 3.5.1 xlrd 1.1.0 xlwt 1.3.0 xmltodict 0.11.0 zipp 3.4.1
It doesn't work on the station at hospital ...
I have checked thoroughly. populse_mia and mia_processes are on master and up to date and I have just done a bv_maker. With bv_maker the procedure ends correctly (there are some warnings, but I don't think that is the cause of this issue)
bv_maker summary :
OK step sources: /casa/host/src, started: 2021/12/01 11:38, stopped: 2021/12/01 11:39
OK step configure: /casa/host/build, started: 2021/12/01 11:39, stopped: 2021/12/01 11:39
OK build step: /casa/host/build, started: 2021/12/01 11:39, stopped: 2021/12/01 11:39
Step OK doc: /casa/host/build, starts: 2021/12/01 11:39, stops: 2021/12/01 11:40
Everything went well.
OK, I start to investigate ...
Minimum pipeline to reproduce the issue !
Ok I found it! (Thanks @denisri for the idea!).
It seems that we have to be careful with the nipype version!
with mia_processes and populse_mia (only), on the master branch up to date, in the development directory, and after a bv_maker that goes well to the end:
with the nipype version installed by default (I think) in the BV singularity image:
$pip3 show nipype
Name: nipype
Version: 1.1.9
Summary: Neuroimaging in Python: Pipelines and Interfaces
Home-page: http://nipy.org/nipype
Author: nipype developers
Author-email: neuroimaging@python.org
License: Apache License, 2.0
Location: /usr/local/lib/python3.6/dist-packages
Requires: click, funcsigs, future, networkx, neurdflib, nibabel, numpy, packaging, prov, pydot, pydotplus, python-dateutil, scipy, simplejson, traits
It doesn't work
with the latest version of nipype:
$pip3 show nipype
Name: nipype
Version: 1.7.0
Summary: Neuroimaging in Python: Pipelines and Interfaces
Home-page: http://nipy.org/nipype
Author: nipype developers
Author-email: neuroimaging@python.org
License: Apache License, 2.0
Location: /casa/home/.local/lib/python3.6/site-packages
Requires: click, etelemetry, filelock, networkx, nibabel, numpy, packaging, prov, pydot, python-dateutil, rdflib, scipy, simplejson, traits
It works!
So be careful to be up to date with the whole populse and BV but also with nipype!
I think I can close this ticket. Please, @LStruber , check in your side and reopen this ticket if necessary!
Oh that's it. Ubuntu 18.04 images (casa-dev-5.0) contain nipype 1.1.9 because it's the version available on the system (installed for pyhton2 via apt) and we wanted to install the same versions of libs on python3. We could update nipype version for python3 only in future images, but we cannot do the same for python2 (because python2 is dead and nipype doesn't support it any longer)
Oh I see! So now we know and we can at least fix the issue if it happens again with a user.
We are working on the virtualisation part (not to reinvent the wheel based on BV images and casa_distro tools), for 6 months now. We can hope to arrive soon at the end of this work! We will then have to discuss how we propose mia. We integrate it in the BV image (it is the solution which seems to me to make sense) ? or we propose independently of BV (that seems to me to make less sense, but why not!)? We can then talk about how to manage nipype at this time ...
I'm unable to run a spatial preprocessing brick (even non iterated !). It fails during the normalization:
Soma workflow execution log:
Minimum steps to reproduce: In MIA, pipeline manager:
I tried rolling back capsul until commit bd1e5685f8ec2e513cb6ebb8e87d2f0424edef1f, but still observe this error from there. I will try rolling back mia and soma_workflow too, but if someone has a hint, it is welcome !