Skip to content

Commit 84553d9

Browse files
committed
simple fix: generate bids_id for fmapless
1 parent c58fa62 commit 84553d9

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

sdcflows/utils/tests/test_wrangler.py

+22-11
Original file line numberDiff line numberDiff line change
@@ -326,12 +326,15 @@ def test_wrangler_filter(tmpdir, name, skeleton, estimations):
326326
('phasediff', phasediff, 3),
327327
],
328328
)
329-
@pytest.mark.parametrize("session, estimations", [
330-
("01", 1),
331-
("02", 1),
332-
("03", 1),
333-
(None, None),
334-
])
329+
@pytest.mark.parametrize(
330+
"session, estimations",
331+
[
332+
("01", 1),
333+
("02", 1),
334+
("03", 1),
335+
(None, None),
336+
],
337+
)
335338
def test_wrangler_URIs(tmpdir, name, skeleton, session, estimations, total_estimations):
336339
bids_dir = str(tmpdir / name)
337340
generate_bids_skeleton(bids_dir, skeleton)
@@ -477,19 +480,27 @@ def test_fieldmapless(tmp_path):
477480
self_pepolar_metadata = {
478481
**bold["metadata"],
479482
"B0FieldIdentifier": "pepolar_fmap",
480-
"B0FieldSource": "pepolar_fmap"
483+
"B0FieldSource": "pepolar_fmap",
481484
}
482485

483486
spec = {
484487
"01": {
485488
"anat": [T1w],
486-
"func": [{"run": i, **bold, "metadata": {**self_pepolar_metadata, "PhaseEncodingDirection": pedir}, } for i, pedir in zip(range(1, 3), ["j", "j-"])],
489+
"func": [
490+
{
491+
"run": i,
492+
**bold,
493+
"metadata": {**self_pepolar_metadata, "PhaseEncodingDirection": pedir},
494+
}
495+
for i, pedir in zip(range(1, 3), ["j", "j-"])
496+
],
487497
},
488498
}
489499
generate_bids_skeleton(bids_dir, spec)
490500
layout = gen_layout(bids_dir)
491-
est = find_estimators(layout=layout, subject="01", fmapless=True, force_fmapless=True)
492-
assert len(est) == 2
493-
assert len(est[0].sources) == 2
501+
ests = find_estimators(layout=layout, subject="01", fmapless=True, force_fmapless=True)
502+
assert len(ests) == 3
503+
for est in ests:
504+
assert len(est.sources) == 2
494505
clear_registry()
495506
rmtree(bids_dir)

sdcflows/utils/wrangler.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -550,9 +550,9 @@ def find_estimators(
550550
base_entities=base_entities,
551551
suffixes=fmapless,
552552
)
553-
for spec in estimator_specs:
553+
for si, spec in enumerate(estimator_specs):
554554
try:
555-
estimator = fm.FieldmapEstimation(spec)
555+
estimator = fm.FieldmapEstimation(spec, bids_id=f"fmapless{si}")
556556
except (ValueError, TypeError) as err:
557557
_log_debug_estimator_fail(logger, "ANAT", spec, layout.root, str(err))
558558
else:

0 commit comments

Comments
 (0)