Closed dnkennedy closed 9 months ago
This issue needs to be tested with and without session explicitly defined.
This issue has been tested, and the --session argument has been updated to be marked as 'required
From my reading, the original issue is unrelated to the use of --session-id
(when this issue was originally posted, the --session-id
option had not been added to the pipeline yet)
The issue here is that BIDS dataset without a session level are unsupported (i.e. a dataset with sub-A/ses-01/anat/
works, but sub-A/anat
does not). Our infant-abcd-bids-pipeline and nhp-abcd-bids-pipeline have this limitation as well; if we resolve the issue for this pipeline it should be done for the others too.
sorry @madisoth it wasn't documented here, but we decided to simply document that this will not work without sessions and close this issue - because we are not developing this pipeline further.
I was trying to run the pipeline on a 'valid' BIDS case that did not have session explicitly set (created using dcm2bids w/o the "-s" option).
I was getting the following error: Traceback (most recent call last): File "/app/run.py", line 309, in
_cli()
File "/app/run.py", line 65, in _cli
return interface(**kwargs)
File "/app/run.py", line 221, in interface
for session in session_generator:
File "/app/helpers.py", line 64, in read_bids_dataset
anat = set_anatomicals(layout, subject, sessions)
File "/app/helpers.py", line 90, in set_anatomicals
t1w_metadata = layout.get_metadata(t1ws[0].filename)
IndexError: list index out of range
A little detective work determined that the pipeline wanted a session (specifically, seemed to be looking for 'baselineYear1Arm1'). So, recreating the BIDS with session named (using dcm2bids w/ the "-s baselineYear1Arm1" option), and things seemed to work.
In summary, it might be good to indicate in the documentation that session needs to be explicitly named in the input BIDS data.