junifer 0.0.5.dev68__py3-none-any.whl → 0.0.5.dev86__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. junifer/_version.py +2 -2
  2. junifer/api/functions.py +1 -1
  3. junifer/configs/juseless/datagrabbers/tests/test_ucla.py +1 -3
  4. junifer/configs/juseless/datagrabbers/ucla.py +9 -9
  5. junifer/data/masks.py +10 -22
  6. junifer/data/parcellations.py +1 -1
  7. junifer/data/tests/test_masks.py +8 -28
  8. junifer/datagrabber/aomic/id1000.py +34 -38
  9. junifer/datagrabber/aomic/piop1.py +33 -37
  10. junifer/datagrabber/aomic/piop2.py +35 -39
  11. junifer/datagrabber/aomic/tests/test_id1000.py +10 -11
  12. junifer/datagrabber/aomic/tests/test_piop1.py +10 -11
  13. junifer/datagrabber/aomic/tests/test_piop2.py +10 -11
  14. junifer/datagrabber/datalad_base.py +10 -1
  15. junifer/datagrabber/dmcc13_benchmark.py +36 -54
  16. junifer/datagrabber/pattern.py +116 -46
  17. junifer/datagrabber/pattern_datalad.py +22 -12
  18. junifer/datagrabber/tests/test_datagrabber_utils.py +15 -9
  19. junifer/datagrabber/tests/test_dmcc13_benchmark.py +46 -19
  20. junifer/datagrabber/utils.py +127 -54
  21. junifer/datareader/default.py +91 -42
  22. junifer/preprocess/base.py +2 -2
  23. junifer/preprocess/confounds/fmriprep_confound_remover.py +44 -60
  24. junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +72 -113
  25. junifer/testing/datagrabbers.py +5 -5
  26. junifer/testing/tests/test_partlycloudytesting_datagrabber.py +7 -7
  27. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/METADATA +1 -1
  28. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/RECORD +33 -33
  29. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/AUTHORS.rst +0 -0
  30. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/LICENSE.md +0 -0
  31. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/WHEEL +0 -0
  32. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/entry_points.txt +0 -0
  33. {junifer-0.0.5.dev68.dist-info → junifer-0.0.5.dev86.dist-info}/top_level.txt +0 -0
@@ -20,6 +20,7 @@ from junifer.testing import get_testing_data
20
20
  from junifer.testing.datagrabbers import (
21
21
  OasisVBMTestingDataGrabber,
22
22
  PartlyCloudyTestingDataGrabber,
23
+ SPMAuditoryTestingDataGrabber,
23
24
  )
24
25
 
25
26
 
@@ -42,35 +43,10 @@ def test_fMRIPrepConfoundRemover_init() -> None:
42
43
  @pytest.mark.parametrize(
43
44
  "input_",
44
45
  [
45
- ["T1w"],
46
46
  ["BOLD"],
47
47
  ["T1w", "BOLD"],
48
48
  ],
49
49
  )
50
- def test_fMRIPrepConfoundRemover_validate_input_errors(
51
- input_: List[str],
52
- ) -> None:
53
- """Test errors for fMRIPrepConfoundRemover validate_input.
54
-
55
- Parameters
56
- ----------
57
- input_ : list of str
58
- The input data types.
59
-
60
- """
61
- confound_remover = fMRIPrepConfoundRemover()
62
-
63
- with pytest.raises(ValueError, match="not have the required data"):
64
- confound_remover.validate_input(input_)
65
-
66
-
67
- @pytest.mark.parametrize(
68
- "input_",
69
- [
70
- ["BOLD", "BOLD_confounds"],
71
- ["T1w", "BOLD", "BOLD_confounds"],
72
- ],
73
- )
74
50
  def test_fMRIPrepConfoundRemover_validate_input(input_: List[str]) -> None:
75
51
  """Test fMRIPrepConfoundRemover validate_input.
76
52
 
@@ -302,13 +278,13 @@ def test_fMRIPRepConfoundRemover__pick_confounds_fmriprep() -> None:
302
278
  with PartlyCloudyTestingDataGrabber() as dg:
303
279
  input = dg["sub-01"]
304
280
  input = reader.fit_transform(input)
305
- out1 = confound_remover._pick_confounds(input["BOLD_confounds"])
281
+ out1 = confound_remover._pick_confounds(input["BOLD"]["confounds"])
306
282
  assert set(out1.columns) == {*fmriprep_all_vars, "spike"}
307
283
 
308
284
  with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
309
285
  input = dg["sub-01"]
310
286
  input = reader.fit_transform(input)
311
- out2 = confound_remover._pick_confounds(input["BOLD_confounds"])
287
+ out2 = confound_remover._pick_confounds(input["BOLD"]["confounds"])
312
288
  assert set(out2.columns) == {*fmriprep_all_vars, "spike"}
313
289
 
314
290
  assert_frame_equal(out1, out2)
@@ -348,123 +324,106 @@ def test_fMRIPRepConfoundRemover__pick_confounds_fmriprep_compute() -> None:
348
324
  def test_fMRIPrepConfoundRemover__validate_data() -> None:
349
325
  """Test fMRIPrepConfoundRemover validate data."""
350
326
  confound_remover = fMRIPrepConfoundRemover(strategy={"wm_csf": "full"})
351
-
327
+ # Check correct data type
352
328
  with OasisVBMTestingDataGrabber() as dg:
353
329
  element_data = DefaultDataReader().fit_transform(dg["sub-01"])
354
330
  vbm = element_data["VBM_GM"]
355
331
  with pytest.raises(
356
332
  DimensionError, match="incompatible dimensionality"
357
333
  ):
358
- confound_remover._validate_data(vbm, None)
359
-
360
- with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
334
+ confound_remover._validate_data(vbm)
335
+ # Check missing nested type in correct data type
336
+ with SPMAuditoryTestingDataGrabber() as dg:
361
337
  element_data = DefaultDataReader().fit_transform(dg["sub-01"])
362
338
  bold = element_data["BOLD"]
363
-
364
- with pytest.raises(ValueError, match="No extra input"):
365
- confound_remover._validate_data(bold, None)
339
+ # Test confound type
366
340
  with pytest.raises(
367
- ValueError, match="`BOLD_confounds` data type not provided"
341
+ ValueError, match="`BOLD.confounds` data type not provided"
368
342
  ):
369
- confound_remover._validate_data(bold, {})
343
+ confound_remover._validate_data(bold)
344
+ # Test confound data
345
+ bold["confounds"] = {}
370
346
  with pytest.raises(
371
- ValueError, match="`BOLD_confounds.data` not provided"
347
+ ValueError, match="`BOLD.confounds.data` not provided"
372
348
  ):
373
- confound_remover._validate_data(bold, {"BOLD_confounds": {}})
374
-
375
- extra_input = {
376
- "BOLD_confounds": {"data": "wrong"},
377
- }
378
- msg = "must be a `pandas.DataFrame`"
379
- with pytest.raises(ValueError, match=msg):
380
- confound_remover._validate_data(bold, extra_input)
381
-
382
- extra_input = {"BOLD_confounds": {"data": pd.DataFrame()}}
349
+ confound_remover._validate_data(bold)
350
+ # Test confound data is valid type
351
+ bold["confounds"] = {"data": None}
352
+ with pytest.raises(ValueError, match="must be a `pandas.DataFrame`"):
353
+ confound_remover._validate_data(bold)
354
+ # Test confound data dimension mismatch with BOLD
355
+ bold["confounds"] = {"data": pd.DataFrame()}
383
356
  with pytest.raises(ValueError, match="Image time series and"):
384
- confound_remover._validate_data(bold, extra_input)
385
-
386
- extra_input = {
387
- "BOLD_confounds": {"data": element_data["BOLD_confounds"]["data"]}
357
+ confound_remover._validate_data(bold)
358
+ # Check nested type variations
359
+ with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
360
+ element_data = DefaultDataReader().fit_transform(dg["sub-01"])
361
+ # Test format
362
+ modified_bold = {
363
+ "data": element_data["BOLD"]["data"],
364
+ "confounds": {
365
+ "data": element_data["BOLD"]["confounds"]["data"],
366
+ "format": "adhoc",
367
+ },
388
368
  }
369
+ # Test incorrect format
370
+ modified_bold["confounds"].update({"format": "wrong"})
371
+ with pytest.raises(ValueError, match="Invalid confounds format"):
372
+ confound_remover._validate_data(modified_bold)
373
+ # Test missing mappings for adhoc
374
+ modified_bold["confounds"].update({"format": "adhoc"})
389
375
  with pytest.raises(
390
- ValueError, match="`BOLD_confounds.format` not provided"
376
+ ValueError, match="`BOLD.confounds.mappings` need to be set"
391
377
  ):
392
- confound_remover._validate_data(bold, extra_input)
393
-
394
- extra_input = {
395
- "BOLD_confounds": {
396
- "data": element_data["BOLD_confounds"]["data"],
397
- "format": "wrong",
398
- }
399
- }
400
- with pytest.raises(ValueError, match="Invalid confounds format"):
401
- confound_remover._validate_data(bold, extra_input)
402
-
403
- extra_input = {
404
- "BOLD_confounds": {
405
- "data": element_data["BOLD_confounds"]["data"],
406
- "format": "adhoc",
407
- }
408
- }
409
- with pytest.raises(ValueError, match="need to be set"):
410
- confound_remover._validate_data(bold, extra_input)
411
-
412
- extra_input = {
413
- "BOLD_confounds": {
414
- "data": element_data["BOLD_confounds"]["data"],
415
- "format": "adhoc",
416
- "mappings": {},
417
- }
418
- }
419
- with pytest.raises(ValueError, match="need to be set"):
420
- confound_remover._validate_data(bold, extra_input)
421
-
422
- extra_input = {
423
- "BOLD_confounds": {
424
- "data": element_data["BOLD_confounds"]["data"],
425
- "format": "adhoc",
378
+ confound_remover._validate_data(modified_bold)
379
+ # Test missing fmriprep mappings for adhoc
380
+ modified_bold["confounds"].update({"mappings": {}})
381
+ with pytest.raises(
382
+ ValueError,
383
+ match="`BOLD.confounds.mappings.fmriprep` need to be set",
384
+ ):
385
+ confound_remover._validate_data(modified_bold)
386
+ # Test incorrect fmriprep mappings for adhoc
387
+ modified_bold["confounds"].update(
388
+ {
426
389
  "mappings": {
427
390
  "fmriprep": {
428
391
  "rot_x": "wrong",
429
392
  "rot_y": "rot_z",
430
393
  "rot_z": "rot_y",
431
- }
432
- },
394
+ },
395
+ }
433
396
  }
434
- }
397
+ )
435
398
  with pytest.raises(ValueError, match=r"names: \['wrong'\]"):
436
- confound_remover._validate_data(bold, extra_input)
437
-
438
- extra_input = {
439
- "BOLD_confounds": {
440
- "data": element_data["BOLD_confounds"]["data"],
441
- "format": "adhoc",
399
+ confound_remover._validate_data(modified_bold)
400
+ # Test missing fmriprep mappings for adhoc
401
+ modified_bold["confounds"].update(
402
+ {
442
403
  "mappings": {
443
404
  "fmriprep": {
444
405
  "wrong": "rot_x",
445
406
  "rot_y": "rot_z",
446
407
  "rot_z": "rot_y",
447
- }
448
- },
408
+ },
409
+ }
449
410
  }
450
- }
411
+ )
451
412
  with pytest.raises(ValueError, match=r"Missing columns: \['wrong'\]"):
452
- confound_remover._validate_data(bold, extra_input)
453
-
454
- extra_input = {
455
- "BOLD_confounds": {
456
- "data": element_data["BOLD_confounds"]["data"],
457
- "format": "adhoc",
413
+ confound_remover._validate_data(modified_bold)
414
+ # Test correct adhoc format
415
+ modified_bold["confounds"].update(
416
+ {
458
417
  "mappings": {
459
418
  "fmriprep": {
460
419
  "rot_x": "rot_x",
461
420
  "rot_y": "rot_z",
462
421
  "rot_z": "rot_y",
463
- }
464
- },
422
+ },
423
+ }
465
424
  }
466
- }
467
- confound_remover._validate_data(bold, extra_input)
425
+ )
426
+ confound_remover._validate_data(modified_bold)
468
427
 
469
428
 
470
429
  def test_fMRIPrepConfoundRemover_preprocess() -> None:
@@ -476,7 +435,9 @@ def test_fMRIPrepConfoundRemover_preprocess() -> None:
476
435
  element_data = DefaultDataReader().fit_transform(dg["sub-01"])
477
436
  orig_bold = element_data["BOLD"]["data"].get_fdata().copy()
478
437
  pre_input = element_data["BOLD"]
479
- pre_extra_input = {"BOLD_confounds": element_data["BOLD_confounds"]}
438
+ pre_extra_input = {
439
+ "BOLD": {"confounds": element_data["BOLD"]["confounds"]}
440
+ }
480
441
  output, _ = confound_remover.preprocess(pre_input, pre_extra_input)
481
442
  trans_bold = output["data"].get_fdata()
482
443
  # Transformation is in place
@@ -530,7 +491,7 @@ def test_fMRIPrepConfoundRemover_fit_transform() -> None:
530
491
  assert t_meta["t_r"] is None
531
492
  assert t_meta["masks"] is None
532
493
 
533
- assert "BOLD_mask" not in output
494
+ assert "mask" not in output["BOLD"]
534
495
 
535
496
  assert "dependencies" in output["BOLD"]["meta"]
536
497
  dependencies = output["BOLD"]["meta"]["dependencies"]
@@ -582,9 +543,7 @@ def test_fMRIPrepConfoundRemover_fit_transform_masks() -> None:
582
543
  assert "threshold" in t_meta["masks"]["compute_brain_mask"]
583
544
  assert t_meta["masks"]["compute_brain_mask"]["threshold"] == 0.2
584
545
 
585
- assert "BOLD_mask" in output
586
- assert "mask_item" in output["BOLD"]
587
- assert output["BOLD"]["mask_item"] == "BOLD_mask"
546
+ assert "mask" in output["BOLD"]
588
547
 
589
548
  assert "dependencies" in output["BOLD"]["meta"]
590
549
  dependencies = output["BOLD"]["meta"]["dependencies"]
@@ -181,7 +181,7 @@ class PartlyCloudyTestingDataGrabber(BaseDataGrabber):
181
181
  """Initialize the class."""
182
182
  datadir = tempfile.mkdtemp()
183
183
  # Define types
184
- types = ["BOLD", "BOLD_confounds"]
184
+ types = ["BOLD"]
185
185
  self.reduce_confounds = reduce_confounds
186
186
  self.age_group = age_group
187
187
  super().__init__(types=types, datadir=datadir)
@@ -242,10 +242,10 @@ class PartlyCloudyTestingDataGrabber(BaseDataGrabber):
242
242
  out["BOLD"] = {
243
243
  "path": Path(self._dataset["func"][i_sub]),
244
244
  "space": "MNI152NLin2009cAsym",
245
- }
246
- out["BOLD_confounds"] = {
247
- "path": Path(self._dataset["confounds"][i_sub]),
248
- "format": "fmriprep",
245
+ "confounds": {
246
+ "path": Path(self._dataset["confounds"][i_sub]),
247
+ "format": "fmriprep",
248
+ },
249
249
  }
250
250
 
251
251
  return out
@@ -28,13 +28,13 @@ def test_PartlyCloudyTestingDataGrabber() -> None:
28
28
  assert out["BOLD"]["path"].exists()
29
29
  assert out["BOLD"]["path"].is_file()
30
30
 
31
- assert "BOLD_confounds" in out
32
- assert out["BOLD_confounds"]["path"].exists()
33
- assert out["BOLD_confounds"]["path"].is_file()
34
- assert "format" in out["BOLD_confounds"]
35
- assert "fmriprep" == out["BOLD_confounds"]["format"]
31
+ assert "confounds" in out["BOLD"]
32
+ assert out["BOLD"]["confounds"]["path"].exists()
33
+ assert out["BOLD"]["confounds"]["path"].is_file()
34
+ assert "format" in out["BOLD"]["confounds"]
35
+ assert "fmriprep" == out["BOLD"]["confounds"]["format"]
36
36
 
37
37
  with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
38
38
  out = dg["sub-01"]
39
- assert "format" in out["BOLD_confounds"]
40
- assert "fmriprep" == out["BOLD_confounds"]["format"]
39
+ assert "format" in out["BOLD"]["confounds"]
40
+ assert "fmriprep" == out["BOLD"]["confounds"]["format"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.5.dev68
3
+ Version: 0.0.5.dev86
4
4
  Summary: JUelich NeuroImaging FEature extractoR
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
6
6
  Maintainer-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Synchon Mandal <s.mandal@fz-juelich.de>
@@ -1,10 +1,10 @@
1
1
  junifer/__init__.py,sha256=x1UR2jUcrUdm2HNl-3Qvyi4UUrU6ms5qm2qcmNY7zZk,391
2
- junifer/_version.py,sha256=PBqSCqCS6ZvtB0pHoCsVMEJ5SO6mMY2-aeQleSYHyog,426
2
+ junifer/_version.py,sha256=tHlKxu4A7NZdSkP4AlDO2Vd1oZbG-OnTzclmDpcl29M,426
3
3
  junifer/stats.py,sha256=jN22_qFvWYBU9ZIMnCSzN4iOscWnWrcrUPIdLeDkV64,6163
4
4
  junifer/api/__init__.py,sha256=pSj8V8tmwOAQ3sshWJfRfB-n3z5bcJj3pHOBX4-8ONc,251
5
5
  junifer/api/cli.py,sha256=53pews3mXkJ7DUDSkV51PbitYnuVAdQRkWG-gjO08Uw,16142
6
6
  junifer/api/decorators.py,sha256=8bnwHPAe7VgzKxl--M_e0umdAlTVSzaJQHEJZ5kof5k,2580
7
- junifer/api/functions.py,sha256=zCWLXDZ_cAqRZ5bFeky0KeqBztuoa6L3-djI65tqtpY,13055
7
+ junifer/api/functions.py,sha256=hkiJhqIRgclWHFmThGFntAXno9vFI38FQfBrEwm1-AY,13047
8
8
  junifer/api/parser.py,sha256=a3SSC2xO-PF1pqXZXFq8Sh9aVd-dmHolJbCkGyOUTAM,4416
9
9
  junifer/api/utils.py,sha256=dyjTdPMwX9qeCrn8SQT2Pjshfnu-y1FEyujV7lCzvm0,3333
10
10
  junifer/api/queue_context/__init__.py,sha256=_yXJ8woTxLNLoSR3yLxAW7MtC5sa-oCRxewsZ9D3j98,271
@@ -49,17 +49,17 @@ junifer/configs/juseless/datagrabbers/__init__.py,sha256=kLcoJyUZMrrAmgWynuTvute
49
49
  junifer/configs/juseless/datagrabbers/aomic_id1000_vbm.py,sha256=4Vf1AC6WSDkCaYXKJXEkJHS2UsdON57wdhj_oqpK-vw,1428
50
50
  junifer/configs/juseless/datagrabbers/camcan_vbm.py,sha256=GXnDML55kKEGSb38olRUWL_AFdN9IvPViEGP9CaDTUQ,1497
51
51
  junifer/configs/juseless/datagrabbers/ixi_vbm.py,sha256=mCuv-27AsN9bReoq3Fo7CJaC2Jkmd5Y1sFEk5ExGqUo,2263
52
- junifer/configs/juseless/datagrabbers/ucla.py,sha256=C14OW7eI2kruJIqgAsd_PtJTyW5R8wp9lDOpQOnfarM,4843
52
+ junifer/configs/juseless/datagrabbers/ucla.py,sha256=2ZjK6n9eJ9terKm8tDqwAyOIbYgvssQMI0dIBKrUXCc,4846
53
53
  junifer/configs/juseless/datagrabbers/ukb_vbm.py,sha256=d2N3X1OVrcmkKNVkruNDKzU2iqBH9oGUnhfxkg0-7aw,1485
54
54
  junifer/configs/juseless/datagrabbers/tests/test_aomic_id1000_vbm.py,sha256=Y_npFmmj0MN0TYv8jaxVMgFHLMQLZ8vXl8lWQKvOYbc,1001
55
55
  junifer/configs/juseless/datagrabbers/tests/test_camcan_vbm.py,sha256=o0dzptS97pxrWaY7I1m0dpJtsnAwmIXNqdU9ABTWCqI,975
56
56
  junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py,sha256=8jxpNZelXwpJGvA5LOfpso2X8yt1chvERAYmv76hS_g,1252
57
- junifer/configs/juseless/datagrabbers/tests/test_ucla.py,sha256=fFxllR0yvt7hiQYdSXJkl9_05UwemKfcp1vC6xf0X-U,3315
57
+ junifer/configs/juseless/datagrabbers/tests/test_ucla.py,sha256=NfEKlpaMNImiPLGyETDDCMoWZ7_oHGsiVAbQNYsfi3o,3252
58
58
  junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py,sha256=b9hjc1mgO--PSRC3id2EzzfE2yWNsuZ2UI47a6sfGZU,1025
59
59
  junifer/data/__init__.py,sha256=Z3CdIXpXK3Avxm2Qj7MsuNNZSM8Pc5KBa9D51DYd1v0,602
60
60
  junifer/data/coordinates.py,sha256=AovvAdPhl9oQoH4T24jhzW0UuNL8wRYtkYrYHhvtRC8,12381
61
- junifer/data/masks.py,sha256=x2vjMLRRGWt0fRGJ67_TjAdrrHZLE0VVnr3KizSbMnI,21427
62
- junifer/data/parcellations.py,sha256=emjjttFE7v1TN_4YdeDdahuOOGiXapuFkfu8ur9TVNQ,65345
61
+ junifer/data/masks.py,sha256=ii7wEnJjnVR22KgigvdxIE2jsvwW7PrfKnyMhMRmZUU,20810
62
+ junifer/data/parcellations.py,sha256=S2Hs_FwvqWZ_rFEumTW5b2aX2iyZEw_9KGAO9Z0-dxM,65343
63
63
  junifer/data/template_spaces.py,sha256=2dD9GIBgsd764ol3ZvmHL11VrsaBC78CwrMaMh4TCGQ,5756
64
64
  junifer/data/utils.py,sha256=Jmbc7SLzy4nLP_zkWv_aJzb1MZ27tutJ98ifsECCamM,1295
65
65
  junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt,sha256=9af38naeL18Tlt_gy_ep6vyTAxOB336JYjbo5FvP8PQ,686
@@ -86,37 +86,37 @@ junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.
86
86
  junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz,sha256=jfMe_4H9XEnArYms5bSQbqS2V1_HbLHTfI5amQa_Pes,8700
87
87
  junifer/data/tests/test_coordinates.py,sha256=BNkz9qFbnwAI0oVlIm_XrT-z4Vsia_rMtMVaoFXT6mU,4328
88
88
  junifer/data/tests/test_data_utils.py,sha256=_DaiC8K79gs9HFHxr-udNeE2YTM6JA0-1i-K2cqK9qA,1087
89
- junifer/data/tests/test_masks.py,sha256=JVg-9ZNkOGaATihLVxg0LAW4DJnvnhln7EJtB3glqLo,15878
89
+ junifer/data/tests/test_masks.py,sha256=wqmG7N8Fia2faFCAyqfX7WGs0gFAo5qXGKytv0KAgYA,15183
90
90
  junifer/data/tests/test_parcellations.py,sha256=ZEU1VHIK0AyxpclcJhG_0rQU0phaBU_dHP7Erfi3mN8,38222
91
91
  junifer/data/tests/test_template_spaces.py,sha256=PJulN7xHpAcSOTY-UzTG_WPywZEBSlAZGiNG4gzk1_8,3144
92
92
  junifer/datagrabber/__init__.py,sha256=fhHKsZyBeqCFJJMr53VF6EUkNrFuUZkNR8QZbaoHTNg,680
93
93
  junifer/datagrabber/base.py,sha256=KgMSKfkwd4yLW4PhoJDoWMgcDkGmDoIs6jkgKyOJd9A,6303
94
- junifer/datagrabber/datalad_base.py,sha256=SsGUJdefdDgAJARBG5kHcbLK2CvvnoEto0TpGZUgnWE,10659
95
- junifer/datagrabber/dmcc13_benchmark.py,sha256=rLf6TD9fvjUwuiaqF0vXSDs9w6r3jhNHorKXX7gG8LQ,12945
94
+ junifer/datagrabber/datalad_base.py,sha256=gP-DsyCd2F8W-aF2PXOg99Ntp2bj8QEtb535y06q39o,11009
95
+ junifer/datagrabber/dmcc13_benchmark.py,sha256=se9F6QVw9WX22MNld33OQv_BtdW-yPvXXu6kYykxLNw,12225
96
96
  junifer/datagrabber/multiple.py,sha256=eXQIsvSNvD8GuEITjMaMoi1GwoeyWXXbQMRi-f2qgc4,4923
97
- junifer/datagrabber/pattern.py,sha256=5XQe0k3iiTID5fbUsShjFKaqkueuPU34ZpzOi1JzFEw,12700
98
- junifer/datagrabber/pattern_datalad.py,sha256=y9ptDZEhSj41pf05WNySrj8j4kbi5uIXveFXv4dkKpk,4092
99
- junifer/datagrabber/utils.py,sha256=NseewPJvhc0h7Ueyfi_KRUwFfs2V7HspBtYL2Xr9Dik,6965
97
+ junifer/datagrabber/pattern.py,sha256=w1aTL5xZRH9vq3-RofdmW-d_1t2OrAKRL0McCQErHGE,15273
98
+ junifer/datagrabber/pattern_datalad.py,sha256=R3LMeknT7tAXs2AN0XVPRf6tGkCMPgDfkNT2bfi7UNc,4526
99
+ junifer/datagrabber/utils.py,sha256=s0Ife1qKEwXP47GfoxQ0qGqSP8L8ZNAms3HAvrSFoGI,9406
100
100
  junifer/datagrabber/aomic/__init__.py,sha256=R7yrRVBWsBW25CH0fw-KHpFwb_EC-MlPKDzssGfj5A0,281
101
- junifer/datagrabber/aomic/id1000.py,sha256=5mGBBQUuhWn-HMNrCy9rQd8_ANjrW-AkwRmdllOwSvM,6043
102
- junifer/datagrabber/aomic/piop1.py,sha256=GIxuv0n36967jW8v_tdKmvyb24JDF9bXsoI33mU5Y6w,8466
103
- junifer/datagrabber/aomic/piop2.py,sha256=LOUj-29xddsT3ktOc5_pjuHrqCwR-1gnx1QmkHfWiOg,8085
104
- junifer/datagrabber/aomic/tests/test_id1000.py,sha256=cA329VAbZ9mY89vi756xqq1p4LHkBp4e7d_OZJOLsGk,4700
105
- junifer/datagrabber/aomic/tests/test_piop1.py,sha256=Faqmya-OisThPom1nooxlacaCD4afLFSw03Wn58gK6g,5466
106
- junifer/datagrabber/aomic/tests/test_piop2.py,sha256=8emWWImX-ltUHJtEFWo8Jng_0kK-Yz66RyA7ddt-By4,5265
101
+ junifer/datagrabber/aomic/id1000.py,sha256=DGQVMgSv8HoUH6qj_WnBQTMunaJNSlVihjfiCmICN2c,5963
102
+ junifer/datagrabber/aomic/piop1.py,sha256=CR4L9VJk-lJnoYTJDOAzs39Z_fgFQAYt2pvAmKfGl-g,8382
103
+ junifer/datagrabber/aomic/piop2.py,sha256=_vrUnFyfhwFjWR3O23-ksVXlj49rc-q-eK1lVytIquo,8001
104
+ junifer/datagrabber/aomic/tests/test_id1000.py,sha256=jKkhvglMsvEK06sSJXj4vuFvH2YR9CfEbcnElX_HU-o,4683
105
+ junifer/datagrabber/aomic/tests/test_piop1.py,sha256=GuNllX8VbEbpGsPcEWf3ssRzcSrIj4RlLCFfTsbF-tU,5449
106
+ junifer/datagrabber/aomic/tests/test_piop2.py,sha256=ydQhrF4fQsp6j6M79p68r8SKmDcwHwQccLKDW4lbztI,5248
107
107
  junifer/datagrabber/hcp1200/__init__.py,sha256=zy4Qq1_m3vECEhioG-UDteco2b5cni_8xuElICaRtt4,189
108
108
  junifer/datagrabber/hcp1200/datalad_hcp1200.py,sha256=p5Bbg09qoM46km9eFSlspwLwOe6LMJFSIZ9NC9E2lmc,2432
109
109
  junifer/datagrabber/hcp1200/hcp1200.py,sha256=ohXHmrQHWjqRZSEXI6E5zla1d_t6LZTbv-cAj79w3PU,6091
110
110
  junifer/datagrabber/hcp1200/tests/test_hcp1200.py,sha256=KJ-Jq01l0a6TaboG898qjBdPTHG1E3PZtHCjJ7n-1X0,10765
111
111
  junifer/datagrabber/tests/test_base.py,sha256=fZdVhNhvfht9lpTHrAUf5E6mAfNNUP7OTQ5KLaBQ1gI,3506
112
- junifer/datagrabber/tests/test_datagrabber_utils.py,sha256=SR2Zc9DJaCtuULhqCz10JCK7zc4VGnAcKT2pxloM1ys,6311
112
+ junifer/datagrabber/tests/test_datagrabber_utils.py,sha256=x1nqFiHI9xHBQFwXji0DPUG8crVoEzw6zmi3pKdhJQk,6513
113
113
  junifer/datagrabber/tests/test_datalad_base.py,sha256=SYxUB9_4YPMfrb7iJM-aJCWbGa3EJfYz31wAUCNa03s,16285
114
- junifer/datagrabber/tests/test_dmcc13_benchmark.py,sha256=m1_ODoGAvSiFeGS-tyTaK1YHTveQRDeCWBsNjdknh04,8171
114
+ junifer/datagrabber/tests/test_dmcc13_benchmark.py,sha256=DcqkDXXBoabHFVbxekGR2NZyGeugGlxpOwXIwy38Ofg,9109
115
115
  junifer/datagrabber/tests/test_multiple.py,sha256=Mx3xfDrQiWG2W5MW24P5L2XiSeALpJ2-jFlzWkKtu9w,5659
116
116
  junifer/datagrabber/tests/test_pattern.py,sha256=Zmwg79f-qs6AEPVoFpooOquK7rm1hsmgkzuo11BG5PE,8019
117
117
  junifer/datagrabber/tests/test_pattern_datalad.py,sha256=hxw_aXBwHjUo-aUrHescBA2dn1bSJxh-0oV8495iIEA,6483
118
118
  junifer/datareader/__init__.py,sha256=_vtrLX_vxlHFD90gPa3gWnhTuvfWM7Uzyj6y8ZPaWm8,259
119
- junifer/datareader/default.py,sha256=BFtk_HJueia7EfhaIpgebe-RWHSKaLEO5btpHA--wo0,4848
119
+ junifer/datareader/default.py,sha256=_ntvkcF0H089bHwj0VOLTKWp8RvP7qy2HyieWHuRp2c,6680
120
120
  junifer/datareader/tests/test_default_reader.py,sha256=9dPZSkba1YQjFsA0XwdUbx5sq8DVIEZoy_WfMAcvRus,5220
121
121
  junifer/external/__init__.py,sha256=CBB7eQul2hf-WWwT_PYFV1MS9KkXlZBO7oQWWVLgB_I,110
122
122
  junifer/external/h5io/h5io/__init__.py,sha256=LG7ru_Rt3EOE2H4PGYfBhC12Iax3yeTquZkd8TICiKk,469
@@ -208,10 +208,10 @@ junifer/pipeline/tests/test_registry.py,sha256=rYN0pO3gSueQ6XsasEM9VU5BkLyaNl8Wa
208
208
  junifer/pipeline/tests/test_update_meta_mixin.py,sha256=UeWwpUi-Q5WVd36Fgfn_utXplSVXMSjLcdO2mR2xLTk,1355
209
209
  junifer/pipeline/tests/test_workdir_manager.py,sha256=E1WY4C-GDsx2c49sePqr1WR_Y3nZ1kiRn4Veu506uTs,2801
210
210
  junifer/preprocess/__init__.py,sha256=lpkT_mhsRjkmk676u-jWDMlPTp1Kdls-KLsXHrhiDyw,392
211
- junifer/preprocess/base.py,sha256=Bn1VdonQ1f_DDPwFMpdaeyfLfNSnROulr-U8HuGQ81A,6697
211
+ junifer/preprocess/base.py,sha256=eahA4sjtW5t89Q7oVYEWHknGiC3KatspiMXBQ6TAiLg,6648
212
212
  junifer/preprocess/confounds/__init__.py,sha256=EDlcD9jy8O9xluJr6XOnFXtjGCDVqwg6sDIRDMbM8ZU,235
213
- junifer/preprocess/confounds/fmriprep_confound_remover.py,sha256=UN9B5P-Lqa5mA9jWi3gFJ7iBx1HSyfFrGuTZt4u4h1M,20841
214
- junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py,sha256=noKP4YvghNzVvIRjDHnANCBFmbZiAKcDQG22dwqLvss,20757
213
+ junifer/preprocess/confounds/fmriprep_confound_remover.py,sha256=wxKiCIygaRo0WDQD4onE9mPanQXoJHxuabpfwFe7B9I,20111
214
+ junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py,sha256=xN9tPkktuRHQtmY1UOP0H_sXT7LXPY282kMgYkoQTFE,19973
215
215
  junifer/preprocess/smoothing/__init__.py,sha256=3l8nay8Zm_BIZLEj4CwmIye5-q7lQ_niGO_Cv4Hd21c,151
216
216
  junifer/preprocess/smoothing/_afni_smoothing.py,sha256=FLJIrlYGxMT8rJdhV3LjALFIC9EPp902OuXt0FqAA_s,3266
217
217
  junifer/preprocess/smoothing/_fsl_smoothing.py,sha256=ZBdP4VsaQEYD9JYUitAXSccwvP3GZ0FyqhriV8gJxyk,3035
@@ -236,12 +236,12 @@ junifer/storage/tests/test_sqlite.py,sha256=JPfE6r34o86XkKaB6yjMVmO_2vUV40DjsaHI
236
236
  junifer/storage/tests/test_storage_base.py,sha256=YzgfspuggzXejyPIoRCPST3ZzH9Pi7dgl0IHN7kynXM,3071
237
237
  junifer/storage/tests/test_utils.py,sha256=vRGhbeOsSn2Izhjh5AaaJkp6X2EoIQVH3a-9COFVnzg,11854
238
238
  junifer/testing/__init__.py,sha256=LYkax9qpZlxcZnMpZLlvnPSmUr_JoF_CjO3gugvj1Co,214
239
- junifer/testing/datagrabbers.py,sha256=tY_dObc2wqSmIrQhcfwR_c8AuVYch51XuhpCKcfA_Oc,6488
239
+ junifer/testing/datagrabbers.py,sha256=SQGjYCTLIXpGOklnQ1RMmp6MvXaDHjOYeRj4pkqJJvQ,6476
240
240
  junifer/testing/registry.py,sha256=iGH3hAt36VtvnZO7UQjybHGh2FI8vo1InY3uDSct5Ps,720
241
241
  junifer/testing/utils.py,sha256=Qgf1ZPk-V1jU2g82a7K0P43VAxbTjOnnBfdV-9wDuMo,558
242
242
  junifer/testing/data/sub-0001_task-anticipation_acq-seq_desc-confounds_regressors.tsv,sha256=iDY1apF5caxnyGqvBYWer5JRKQIfuOwoT-SzzsgL59s,406849
243
243
  junifer/testing/tests/test_oasisvmbtesting_datagrabber.py,sha256=BtfExi4VF-jZsi5A3hHS_EGm2O_bJoXnxWF44Z_4i24,794
244
- junifer/testing/tests/test_partlycloudytesting_datagrabber.py,sha256=1VY71RhGtLD9Yb40o617G4fWRJQkhDoE2N50udyn6ng,1276
244
+ junifer/testing/tests/test_partlycloudytesting_datagrabber.py,sha256=ggU8XQQ6F0HSCh9VkbNGoaZM6CUxKXKlcuf_kGkrRF4,1297
245
245
  junifer/testing/tests/test_spmauditory_datagrabber.py,sha256=1G1emk-Ze59HiNLaYsyIz5O1YGW9darcqlzvhE-J_Mc,919
246
246
  junifer/testing/tests/test_testing_registry.py,sha256=oerticBaPRaRZm3yANzInLac0Mqph3Y0aZPQFayu7xA,827
247
247
  junifer/tests/test_main.py,sha256=GMff7jlisGM9_FsiUwWDte43j-KQJGFRYZpwRRqTkd8,373
@@ -253,10 +253,10 @@ junifer/utils/logging.py,sha256=furcU3XIUpUvnpe4PEwzWWIWgmH4j2ZA4MQdvSGWjj0,9216
253
253
  junifer/utils/tests/test_fs.py,sha256=WQS7cKlKEZ742CIuiOYYpueeAhY9PqlastfDVpVVtvE,923
254
254
  junifer/utils/tests/test_helpers.py,sha256=k5qqfxK8dFyuewTJyR1Qn6-nFaYNuVr0ysc18bfPjyU,929
255
255
  junifer/utils/tests/test_logging.py,sha256=l8oo-AiBV7H6_IzlsNcj__cLeZBUvgIGoaMszD9VaJg,7754
256
- junifer-0.0.5.dev68.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
257
- junifer-0.0.5.dev68.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
258
- junifer-0.0.5.dev68.dist-info/METADATA,sha256=2B8FVputNlxRR-ehtPjaLIxf9zzOnQh0UqDe-sbTndI,8234
259
- junifer-0.0.5.dev68.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
260
- junifer-0.0.5.dev68.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
261
- junifer-0.0.5.dev68.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
262
- junifer-0.0.5.dev68.dist-info/RECORD,,
256
+ junifer-0.0.5.dev86.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
257
+ junifer-0.0.5.dev86.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
258
+ junifer-0.0.5.dev86.dist-info/METADATA,sha256=czsUrw6gz_iDxuAzASxfrFxc1EZzRwLbZliDG4dE0Cc,8234
259
+ junifer-0.0.5.dev86.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
260
+ junifer-0.0.5.dev86.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
261
+ junifer-0.0.5.dev86.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
262
+ junifer-0.0.5.dev86.dist-info/RECORD,,