I preprocessed the DTI data (fmaps and DTI -single shell) using “qsiprep”. I ran the qsirecon with the “dsi_studio_autotrack” built-in reconstruction. I am getting the
Command used (and if a helper script was used, a link to the helper script or the command generated):
Data formatted according to a validatable standard? Please provide the output of the validator:
BIDS
Relevant log outputs (up to 20 lines):
File "/opt/conda/envs/qsiprep/bin/qsirecon", line 8, in
sys.exit(main())
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/run.py", line 60, in main
sentry_setup()
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/utils/sentry.py", line 102, in sentry_setup
for k, v in config.get(flat=True).items():
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 744, in get
"execution": execution.get(),
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in get
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
AttributeError: 'NoneType' object has no attribute 'relpath'
**Sentry is attempting to send 2 pending events**
Waiting up to 2 seconds
Press Ctrl-C to qui
You should net set your output directory as read-only. It also appears you bind that folder twice (also to /out), you should only bind it once.
Can you change -i to -ti?
You set the -w folder as the original name of the folder, not the one you renamed it to. The working folder should reflect the renamed name. You should also set the working dir as a qsiprep argument.
File "/opt/conda/envs/qsiprep/bin/qsirecon", line 8, in <module>
sys.exit(main())
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/run.py", line 60, in main
sentry_setup()
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/utils/sentry.py", line 102, in sentry_setup
for k, v in config.get(flat=True).items():
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 744, in get
"execution": execution.get(),
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in get
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in <listcomp>
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
AttributeError: 'NoneType' object has no attribute 'relpath'
I used -ti and workdir as a QSIrRecon argument but the output is the same:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/bin/qsirecon", line 8, in <module>
sys.exit(main())
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/run.py", line 60, in main
sentry_setup()
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/utils/sentry.py", line 102, in sentry_setup
for k, v in config.get(flat=True).items():
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 744, in get
"execution": execution.get(),
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in get
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in <listcomp>
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
AttributeError: 'NoneType' object has no attribute 'relpath'
Yes $DIR is defined correctly. I did check that. One thing I want to mentioned that I am using dwi and fmap without structural images. The qsiprep was run with --dwi-only and --anat-modality none. options
We do have a PR open for the issue here DWI only fix by smeisler · Pull Request #209 · PennLINC/qsirecon · GitHub. We still need to write a test for the behavior before merging and cutting a new release. But, you can patch the fix here by making your own copy of the new config.py file with the changes, and then in your docker run command, insert your copy of the new config.py overwriting the built in one. (e.g. -v /path/to/you/config.py:/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py).
I am sorry I was busy with another project. Now when I tested the new config.py file, I found the following error message:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/bin/qsirecon", line 5, in <module>
from qsirecon.cli.run import main
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/run.py", line 27, in <module>
from .. import config
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 545
cls.processing_list = cls._processing_list
^
IndentationError: unindent does not match any outer indentation level
Looks to be a small indentation error. I’ll look into it later but you may be able to spot it quickly just looking for inconsistent indentation in that area (eg a missing or extra space).
I found the indentation, fixed it, reran and found the following error:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/bin/qsirecon", line 8, in <module>
sys.exit(main())
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/run.py", line 60, in main
sentry_setup()
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/utils/sentry.py", line 102, in sentry_setup
for k, v in config.get(flat=True).items():
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 746, in get
"execution": execution.get(),
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in get
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/config.py", line 273, in <listcomp>
v = [f"{el[0].relpath}:{el[1].relpath}" for el in v]
AttributeError: 'NoneType' object has no attribute 'relpath'
Sentry is attempting to send 2 pending events
Waiting up to 2 seconds
Press Ctrl-C to quit