Skip to content

Commit 565d1a9

Browse files
psadileffigies
authored andcommitted
FIX: Repair and test query for precalculated baseline/boldref files (#3370)
1 parent ce31460 commit 565d1a9

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

fmriprep/utils/bids.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
def collect_derivatives(
4242
derivatives_dir: Path,
4343
entities: dict,
44-
fieldmap_id: str | None,
44+
fieldmap_id: str | None = None,
4545
spec: dict | None = None,
4646
patterns: list[str] | None = None,
4747
):
@@ -62,7 +62,7 @@ def collect_derivatives(
6262

6363
# search for both boldrefs
6464
for k, q in spec['baseline'].items():
65-
query = {**q, **entities}
65+
query = {**entities, **q}
6666
item = layout.get(return_type='filename', **query)
6767
if not item:
6868
continue

fmriprep/utils/tests/test_derivative_cache.py

+22
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@
55
from fmriprep.utils import bids
66

77

8+
@pytest.mark.parametrize('desc', ['hmc', 'coreg'])
9+
def test_baseline_found_as_str(tmp_path: Path, desc: str):
10+
subject = '0'
11+
task = 'rest'
12+
13+
to_find = tmp_path.joinpath(
14+
f'sub-{subject}', 'func', f'sub-{subject}_task-{task}_desc-{desc}_boldref.nii.gz'
15+
)
16+
to_find.parent.mkdir(parents=True)
17+
to_find.touch()
18+
19+
entities = {
20+
'subject': subject,
21+
'task': task,
22+
'suffix': 'bold',
23+
'extension': '.nii.gz',
24+
}
25+
26+
derivs = bids.collect_derivatives(derivatives_dir=tmp_path, entities=entities)
27+
assert dict(derivs) == {f'{desc}_boldref': str(to_find), 'transforms': {}}
28+
29+
830
@pytest.mark.parametrize('xfm', ['boldref2fmap', 'boldref2anat', 'hmc'])
931
def test_transforms_found_as_str(tmp_path: Path, xfm: str):
1032
subject = '0'

0 commit comments

Comments
 (0)