@@ -28,6 +28,7 @@ def _func_row(
2828 sub : str ,
2929 ses : str ,
3030 suffix : str ,
31+ task : str ,
3132 desc : str | None = None ,
3233 ext : str = ".nii.gz" ,
3334 space : str | None = None ,
@@ -38,11 +39,12 @@ def _func_row(
3839 space_part = f"_space-{ space } " if space else ""
3940 path = (
4041 f"sub-{ sub } /ses-{ ses } /func/"
41- f"sub-{ sub } _ses-{ ses } { space_part } { desc_part } _{ suffix } { ext } "
42+ f"sub-{ sub } _ses-{ ses } { space_part } _task- { task } { desc_part } _{ suffix } { ext } "
4243 )
4344 return {
4445 "datatype" : "func" ,
4546 "suffix" : suffix ,
47+ "task" : task ,
4648 "ext" : ext ,
4749 "sub" : sub ,
4850 "ses" : ses ,
@@ -121,12 +123,17 @@ class TestResolveLongitudinalFunc:
121123 def test_resolves_single_regressor (self , tmp_path : Path ) -> None :
122124 """Single regressor resolves raw regressor file from derivatives."""
123125 func_df = _df (
124- _func_row (sub = "01" , ses = "baseline" , suffix = "sbref" ),
125- _func_row (sub = "01" , ses = "baseline" , suffix = "bold" , desc = "preproc" ),
126- _func_row (sub = "01" , ses = "baseline" , suffix = "mask" , desc = "brain" ),
126+ _func_row (sub = "01" , ses = "baseline" , task = "rest" , suffix = "sbref" ),
127+ _func_row (
128+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "bold" , desc = "preproc"
129+ ),
130+ _func_row (
131+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "mask" , desc = "brain"
132+ ),
127133 _func_row (
128134 sub = "01" ,
129135 ses = "baseline" ,
136+ task = "rest" ,
130137 suffix = "xfm" ,
131138 desc = "linearITK" ,
132139 ext = ".txt" ,
@@ -139,13 +146,14 @@ def test_resolves_single_regressor(self, tmp_path: Path) -> None:
139146 _func_row (
140147 sub = "01" ,
141148 ses = "baseline" ,
149+ task = "rest" ,
142150 suffix = "regressors" ,
143151 desc = "36parameter" ,
144152 ext = ".1D" ,
145153 ),
146154 )
147155 tpl_df = _df (
148- _anat_row (sub = "01" , ses = "longitudinal" , res = "bold " , suffix = "T1w" ),
156+ _anat_row (sub = "01" , ses = "longitudinal" , res = "rest " , suffix = "T1w" ),
149157 _anat_row (
150158 sub = "01" ,
151159 ses = "longitudinal" ,
@@ -189,12 +197,17 @@ def test_resolves_single_regressor(self, tmp_path: Path) -> None:
189197 def test_resolves_multiple_regressors (self , tmp_path : Path ) -> None :
190198 """Multiple regressors each get their own raw regressor file resolved."""
191199 func_df = _df (
192- _func_row (sub = "01" , ses = "baseline" , suffix = "sbref" ),
193- _func_row (sub = "01" , ses = "baseline" , suffix = "bold" , desc = "preproc" ),
194- _func_row (sub = "01" , ses = "baseline" , suffix = "mask" , desc = "brain" ),
200+ _func_row (sub = "01" , ses = "baseline" , task = "rest" , suffix = "sbref" ),
201+ _func_row (
202+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "bold" , desc = "preproc"
203+ ),
204+ _func_row (
205+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "mask" , desc = "brain"
206+ ),
195207 _func_row (
196208 sub = "01" ,
197209 ses = "baseline" ,
210+ task = "rest" ,
198211 suffix = "xfm" ,
199212 desc = "linearITK" ,
200213 ext = ".txt" ,
@@ -207,20 +220,22 @@ def test_resolves_multiple_regressors(self, tmp_path: Path) -> None:
207220 _func_row (
208221 sub = "01" ,
209222 ses = "baseline" ,
223+ task = "rest" ,
210224 suffix = "regressors" ,
211225 desc = "36parameter" ,
212226 ext = ".1D" ,
213227 ),
214228 _func_row (
215229 sub = "01" ,
216230 ses = "baseline" ,
231+ task = "rest" ,
217232 suffix = "regressors" ,
218233 desc = "aCompCor" ,
219234 ext = ".1D" ,
220235 ),
221236 )
222237 tpl_df = _df (
223- _anat_row (sub = "01" , ses = "longitudinal" , res = "bold " , suffix = "T1w" ),
238+ _anat_row (sub = "01" , ses = "longitudinal" , res = "rest " , suffix = "T1w" ),
224239 _anat_row (
225240 sub = "01" ,
226241 ses = "longitudinal" ,
@@ -253,12 +268,17 @@ def test_resolves_multiple_regressors(self, tmp_path: Path) -> None:
253268 def test_missing_regressor_raises (self , tmp_path : Path ) -> None :
254269 """Requesting a regressor not present in derivatives raises."""
255270 func_df = _df (
256- _func_row (sub = "01" , ses = "baseline" , suffix = "sbref" ),
257- _func_row (sub = "01" , ses = "baseline" , suffix = "bold" , desc = "preproc" ),
258- _func_row (sub = "01" , ses = "baseline" , suffix = "mask" , desc = "brain" ),
271+ _func_row (sub = "01" , ses = "baseline" , task = "rest" , suffix = "sbref" ),
272+ _func_row (
273+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "bold" , desc = "preproc"
274+ ),
275+ _func_row (
276+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "mask" , desc = "brain"
277+ ),
259278 _func_row (
260279 sub = "01" ,
261280 ses = "baseline" ,
281+ task = "rest" ,
262282 suffix = "xfm" ,
263283 desc = "linearITK" ,
264284 ext = ".txt" ,
@@ -271,13 +291,14 @@ def test_missing_regressor_raises(self, tmp_path: Path) -> None:
271291 _func_row (
272292 sub = "01" ,
273293 ses = "baseline" ,
294+ task = "rest" ,
274295 suffix = "regressors" ,
275296 desc = "36parameter" ,
276297 ext = ".1D" ,
277298 ),
278299 )
279300 tpl_df = _df (
280- _anat_row (sub = "01" , ses = "longitudinal" , res = "bold " , suffix = "T1w" ),
301+ _anat_row (sub = "01" , ses = "longitudinal" , res = "rest " , suffix = "T1w" ),
281302 _anat_row (
282303 sub = "01" ,
283304 ses = "longitudinal" ,
@@ -307,11 +328,14 @@ def test_missing_regressor_raises(self, tmp_path: Path) -> None:
307328 def test_bold_mask_mandatory (self , tmp_path : Path ) -> None :
308329 """bold_mask is now resolved with expect(), so missing raises."""
309330 func_df = _df (
310- _func_row (sub = "01" , ses = "baseline" , suffix = "sbref" ),
311- _func_row (sub = "01" , ses = "baseline" , suffix = "bold" , desc = "preproc" ),
331+ _func_row (sub = "01" , ses = "baseline" , task = "rest" , suffix = "sbref" ),
332+ _func_row (
333+ sub = "01" , ses = "baseline" , task = "rest" , suffix = "bold" , desc = "preproc"
334+ ),
312335 _func_row (
313336 sub = "01" ,
314337 ses = "baseline" ,
338+ task = "rest" ,
315339 suffix = "xfm" ,
316340 desc = "linearITK" ,
317341 ext = ".txt" ,
@@ -324,13 +348,14 @@ def test_bold_mask_mandatory(self, tmp_path: Path) -> None:
324348 _func_row (
325349 sub = "01" ,
326350 ses = "baseline" ,
351+ task = "rest" ,
327352 suffix = "regressors" ,
328353 desc = "36parameter" ,
329354 ext = ".1D" ,
330355 ),
331356 )
332357 tpl_df = _df (
333- _anat_row (sub = "01" , ses = "longitudinal" , res = "bold " , suffix = "T1w" ),
358+ _anat_row (sub = "01" , ses = "longitudinal" , res = "rest " , suffix = "T1w" ),
334359 _anat_row (
335360 sub = "01" ,
336361 ses = "longitudinal" ,
0 commit comments