junifer 0.0.7.dev171__py3-none-any.whl → 0.0.7.dev174__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.
- junifer/_version.py +2 -2
- junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +2 -2
- junifer/api/queue_context/tests/test_htcondor_adapter.py +3 -3
- junifer/data/parcellations/tests/test_parcellations.py +12 -12
- junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +17 -16
- junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +4 -4
- junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +13 -13
- junifer/storage/tests/test_hdf5.py +1 -1
- junifer/storage/tests/test_utils.py +1 -1
- junifer/tests/test_stats.py +11 -11
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/METADATA +1 -1
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/RECORD +17 -17
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/WHEEL +0 -0
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/entry_points.txt +0 -0
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/licenses/AUTHORS.rst +0 -0
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/licenses/LICENSE.md +0 -0
- {junifer-0.0.7.dev171.dist-info → junifer-0.0.7.dev174.dist-info}/top_level.txt +0 -0
junifer/_version.py
CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '0.0.7.
|
32
|
-
__version_tuple__ = version_tuple = (0, 0, 7, '
|
31
|
+
__version__ = version = '0.0.7.dev174'
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 7, 'dev174')
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
@@ -14,7 +14,7 @@ from junifer.api.queue_context import GnuParallelLocalAdapter
|
|
14
14
|
|
15
15
|
def test_GnuParallelLocalAdapter_env_kind_error() -> None:
|
16
16
|
"""Test error for invalid env kind."""
|
17
|
-
with pytest.raises(ValueError, match="Invalid value for `env.kind`"):
|
17
|
+
with pytest.raises(ValueError, match=r"Invalid value for `env.kind`"):
|
18
18
|
GnuParallelLocalAdapter(
|
19
19
|
job_name="check_env_kind",
|
20
20
|
job_dir=Path("."),
|
@@ -26,7 +26,7 @@ def test_GnuParallelLocalAdapter_env_kind_error() -> None:
|
|
26
26
|
|
27
27
|
def test_GnuParallelLocalAdapter_env_shell_error() -> None:
|
28
28
|
"""Test error for invalid env shell."""
|
29
|
-
with pytest.raises(ValueError, match="Invalid value for `env.shell`"):
|
29
|
+
with pytest.raises(ValueError, match=r"Invalid value for `env.shell`"):
|
30
30
|
GnuParallelLocalAdapter(
|
31
31
|
job_name="check_env_shell",
|
32
32
|
job_dir=Path("."),
|
@@ -14,7 +14,7 @@ from junifer.api.queue_context import HTCondorAdapter
|
|
14
14
|
|
15
15
|
def test_HTCondorAdapter_env_kind_error() -> None:
|
16
16
|
"""Test error for invalid env kind."""
|
17
|
-
with pytest.raises(ValueError, match="Invalid value for `env.kind`"):
|
17
|
+
with pytest.raises(ValueError, match=r"Invalid value for `env.kind`"):
|
18
18
|
HTCondorAdapter(
|
19
19
|
job_name="check_env_kind",
|
20
20
|
job_dir=Path("."),
|
@@ -26,7 +26,7 @@ def test_HTCondorAdapter_env_kind_error() -> None:
|
|
26
26
|
|
27
27
|
def test_HTCondorAdapter_env_shell_error() -> None:
|
28
28
|
"""Test error for invalid env shell."""
|
29
|
-
with pytest.raises(ValueError, match="Invalid value for `env.shell`"):
|
29
|
+
with pytest.raises(ValueError, match=r"Invalid value for `env.shell`"):
|
30
30
|
HTCondorAdapter(
|
31
31
|
job_name="check_env_shell",
|
32
32
|
job_dir=Path("."),
|
@@ -38,7 +38,7 @@ def test_HTCondorAdapter_env_shell_error() -> None:
|
|
38
38
|
|
39
39
|
def test_HTCondorAdapter_collect_error() -> None:
|
40
40
|
"""Test error for invalid collect option."""
|
41
|
-
with pytest.raises(ValueError, match="Invalid value for `collect`"):
|
41
|
+
with pytest.raises(ValueError, match=r"Invalid value for `collect`"):
|
42
42
|
HTCondorAdapter(
|
43
43
|
job_name="check_collect",
|
44
44
|
job_dir=Path("."),
|
@@ -634,7 +634,7 @@ def test_aicha(version: int) -> None:
|
|
634
634
|
|
635
635
|
def test_retrieve_aicha_incorrect_version() -> None:
|
636
636
|
"""Test retrieve AICHA with incorrect version."""
|
637
|
-
with pytest.raises(ValueError, match="The parameter `version`"):
|
637
|
+
with pytest.raises(ValueError, match=r"The parameter `version`"):
|
638
638
|
_retrieve_aicha(
|
639
639
|
version=100,
|
640
640
|
)
|
@@ -697,7 +697,7 @@ def test_shen(
|
|
697
697
|
|
698
698
|
def test_retrieve_shen_incorrect_year() -> None:
|
699
699
|
"""Test retrieve Shen with incorrect year."""
|
700
|
-
with pytest.raises(ValueError, match="The parameter `year`"):
|
700
|
+
with pytest.raises(ValueError, match=r"The parameter `year`"):
|
701
701
|
_retrieve_shen(
|
702
702
|
year=1969,
|
703
703
|
)
|
@@ -705,7 +705,7 @@ def test_retrieve_shen_incorrect_year() -> None:
|
|
705
705
|
|
706
706
|
def test_retrieve_shen_incorrect_n_rois() -> None:
|
707
707
|
"""Test retrieve Shen with incorrect ROIs."""
|
708
|
-
with pytest.raises(ValueError, match="The parameter `n_rois`"):
|
708
|
+
with pytest.raises(ValueError, match=r"The parameter `n_rois`"):
|
709
709
|
_retrieve_shen(
|
710
710
|
year=2015,
|
711
711
|
n_rois=10,
|
@@ -747,7 +747,7 @@ def test_retrieve_shen_incorrect_param_combo(
|
|
747
747
|
The parametrized ROI count values.
|
748
748
|
|
749
749
|
"""
|
750
|
-
with pytest.raises(ValueError, match="The parameter combination"):
|
750
|
+
with pytest.raises(ValueError, match=r"The parameter combination"):
|
751
751
|
_retrieve_shen(
|
752
752
|
resolution=resolution,
|
753
753
|
year=year,
|
@@ -875,7 +875,7 @@ def test_yan(
|
|
875
875
|
def test_retrieve_yan_incorrect_networks() -> None:
|
876
876
|
"""Test retrieve Yan with incorrect networks."""
|
877
877
|
with pytest.raises(
|
878
|
-
ValueError, match="Either one of `yeo_networks` or `kong_networks`"
|
878
|
+
ValueError, match=r"Either one of `yeo_networks` or `kong_networks`"
|
879
879
|
):
|
880
880
|
_retrieve_yan(
|
881
881
|
n_rois=31418,
|
@@ -884,7 +884,7 @@ def test_retrieve_yan_incorrect_networks() -> None:
|
|
884
884
|
)
|
885
885
|
|
886
886
|
with pytest.raises(
|
887
|
-
ValueError, match="Either one of `yeo_networks` or `kong_networks`"
|
887
|
+
ValueError, match=r"Either one of `yeo_networks` or `kong_networks`"
|
888
888
|
):
|
889
889
|
_retrieve_yan(
|
890
890
|
n_rois=31418,
|
@@ -895,7 +895,7 @@ def test_retrieve_yan_incorrect_networks() -> None:
|
|
895
895
|
|
896
896
|
def test_retrieve_yan_incorrect_n_rois() -> None:
|
897
897
|
"""Test retrieve Yan with incorrect ROIs."""
|
898
|
-
with pytest.raises(ValueError, match="The parameter `n_rois`"):
|
898
|
+
with pytest.raises(ValueError, match=r"The parameter `n_rois`"):
|
899
899
|
_retrieve_yan(
|
900
900
|
n_rois=31418,
|
901
901
|
yeo_networks=7,
|
@@ -904,7 +904,7 @@ def test_retrieve_yan_incorrect_n_rois() -> None:
|
|
904
904
|
|
905
905
|
def test_retrieve_yan_incorrect_yeo_networks() -> None:
|
906
906
|
"""Test retrieve Yan with incorrect Yeo networks."""
|
907
|
-
with pytest.raises(ValueError, match="The parameter `yeo_networks`"):
|
907
|
+
with pytest.raises(ValueError, match=r"The parameter `yeo_networks`"):
|
908
908
|
_retrieve_yan(
|
909
909
|
n_rois=100,
|
910
910
|
yeo_networks=27,
|
@@ -913,7 +913,7 @@ def test_retrieve_yan_incorrect_yeo_networks() -> None:
|
|
913
913
|
|
914
914
|
def test_retrieve_yan_incorrect_kong_networks() -> None:
|
915
915
|
"""Test retrieve Yan with incorrect Kong networks."""
|
916
|
-
with pytest.raises(ValueError, match="The parameter `kong_networks`"):
|
916
|
+
with pytest.raises(ValueError, match=r"The parameter `kong_networks`"):
|
917
917
|
_retrieve_yan(
|
918
918
|
n_rois=100,
|
919
919
|
kong_networks=27,
|
@@ -976,7 +976,7 @@ def test_brainnetome(
|
|
976
976
|
|
977
977
|
def test_retrieve_brainnetome_incorrect_threshold() -> None:
|
978
978
|
"""Test retrieve Brainnetome with incorrect threshold."""
|
979
|
-
with pytest.raises(ValueError, match="The parameter `threshold`"):
|
979
|
+
with pytest.raises(ValueError, match=r"The parameter `threshold`"):
|
980
980
|
_retrieve_brainnetome(
|
981
981
|
threshold=100,
|
982
982
|
)
|
@@ -1091,7 +1091,7 @@ def test_merge_parcellations_3D_multiple_overlapping() -> None:
|
|
1091
1091
|
names = ["high", "low"]
|
1092
1092
|
labels_lists = [labels1, labels2]
|
1093
1093
|
|
1094
|
-
with pytest.warns(RuntimeWarning, match="overlapping voxels"):
|
1094
|
+
with pytest.warns(RuntimeWarning, match=r"overlapping voxels"):
|
1095
1095
|
merge_parcellations(parcellation_list, names, labels_lists)
|
1096
1096
|
|
1097
1097
|
parc_data = parcellation.get_fdata()
|
@@ -1128,7 +1128,7 @@ def test_merge_parcellations_3D_multiple_duplicated_labels() -> None:
|
|
1128
1128
|
names = ["high", "low"]
|
1129
1129
|
labels_lists = [labels1, labels2]
|
1130
1130
|
|
1131
|
-
with pytest.warns(RuntimeWarning, match="duplicated labels."):
|
1131
|
+
with pytest.warns(RuntimeWarning, match=r"duplicated labels."):
|
1132
1132
|
merged_parc, _ = merge_parcellations(
|
1133
1133
|
parcellation_list, names, labels_lists
|
1134
1134
|
)
|
@@ -223,7 +223,7 @@ def signals_and_covariances(
|
|
223
223
|
def test_check_square() -> None:
|
224
224
|
"""Test square matrix assertion."""
|
225
225
|
non_square = np.ones((2, 3))
|
226
|
-
with pytest.raises(ValueError, match="Expected a square matrix"):
|
226
|
+
with pytest.raises(ValueError, match=r"Expected a square matrix"):
|
227
227
|
_check_square(non_square)
|
228
228
|
|
229
229
|
|
@@ -244,7 +244,7 @@ def test_check_spd(invalid_input: np.ndarray) -> None:
|
|
244
244
|
|
245
245
|
"""
|
246
246
|
with pytest.raises(
|
247
|
-
ValueError, match="Expected a symmetric positive definite matrix."
|
247
|
+
ValueError, match=r"Expected a symmetric positive definite matrix."
|
248
248
|
):
|
249
249
|
_check_spd(invalid_input)
|
250
250
|
|
@@ -555,7 +555,7 @@ def test_geometric_mean_error_non_square_matrix() -> None:
|
|
555
555
|
n_features = 5
|
556
556
|
mat1 = np.ones((n_features, n_features + 1))
|
557
557
|
|
558
|
-
with pytest.raises(ValueError, match="Expected a square matrix"):
|
558
|
+
with pytest.raises(ValueError, match=r"Expected a square matrix"):
|
559
559
|
_geometric_mean([mat1])
|
560
560
|
|
561
561
|
|
@@ -566,7 +566,7 @@ def test_geometric_mean_error_input_matrices_have_different_shapes() -> None:
|
|
566
566
|
mat2 = np.ones((n_features + 1, n_features + 1))
|
567
567
|
|
568
568
|
with pytest.raises(
|
569
|
-
ValueError, match="Matrices are not of the same shape."
|
569
|
+
ValueError, match=r"Matrices are not of the same shape."
|
570
570
|
):
|
571
571
|
_geometric_mean([mat1, mat2])
|
572
572
|
|
@@ -577,7 +577,7 @@ def test_geometric_mean_error_non_spd_input_matrix() -> None:
|
|
577
577
|
mat2 = np.ones((n_features + 1, n_features + 1))
|
578
578
|
|
579
579
|
with pytest.raises(
|
580
|
-
ValueError, match="Expected a symmetric positive definite matrix."
|
580
|
+
ValueError, match=r"Expected a symmetric positive definite matrix."
|
581
581
|
):
|
582
582
|
_geometric_mean([mat2])
|
583
583
|
|
@@ -588,19 +588,20 @@ def test_connectivity_measure_errors():
|
|
588
588
|
conn_measure = JuniferConnectivityMeasure()
|
589
589
|
|
590
590
|
with pytest.raises(
|
591
|
-
ValueError, match="'subjects' input argument must be an iterable"
|
591
|
+
ValueError, match=r"'subjects' input argument must be an iterable"
|
592
592
|
):
|
593
593
|
conn_measure.fit(1.0)
|
594
594
|
|
595
595
|
# input subjects not 2D numpy.ndarrays
|
596
596
|
with pytest.raises(
|
597
|
-
ValueError, match="Each subject must be 2D numpy.ndarray."
|
597
|
+
ValueError, match=r"Each subject must be 2D numpy.ndarray."
|
598
598
|
):
|
599
599
|
conn_measure.fit([np.ones((100, 40)), np.ones((10,))])
|
600
600
|
|
601
601
|
# input subjects with different number of features
|
602
602
|
with pytest.raises(
|
603
|
-
ValueError,
|
603
|
+
ValueError,
|
604
|
+
match=r"All subjects must have the same number of features.",
|
604
605
|
):
|
605
606
|
conn_measure.fit([np.ones((100, 40)), np.ones((100, 41))])
|
606
607
|
|
@@ -609,7 +610,7 @@ def test_connectivity_measure_errors():
|
|
609
610
|
|
610
611
|
with pytest.raises(
|
611
612
|
ValueError,
|
612
|
-
match="Tangent space parametrization .* only be .* group of subjects",
|
613
|
+
match=r"Tangent space parametrization .* only be .* group of subjects",
|
613
614
|
):
|
614
615
|
conn_measure.fit_transform([np.ones((100, 40))])
|
615
616
|
|
@@ -873,7 +874,7 @@ def test_connectivity_measure_check_vectorization_option(
|
|
873
874
|
)
|
874
875
|
|
875
876
|
# Check not fitted error
|
876
|
-
with pytest.raises(ValueError, match="has not been fitted. "):
|
877
|
+
with pytest.raises(ValueError, match=r"has not been fitted. "):
|
877
878
|
JuniferConnectivityMeasure().inverse_transform(
|
878
879
|
vectorized_connectivities
|
879
880
|
)
|
@@ -956,7 +957,7 @@ def test_connectivity_measure_check_inverse_transformation_discard_diag(
|
|
956
957
|
|
957
958
|
assert_array_almost_equal(inverse_transformed, connectivities)
|
958
959
|
with pytest.raises(
|
959
|
-
ValueError, match="cannot reconstruct connectivity matrices"
|
960
|
+
ValueError, match=r"cannot reconstruct connectivity matrices"
|
960
961
|
):
|
961
962
|
conn_measure.inverse_transform(vectorized_connectivities)
|
962
963
|
|
@@ -1010,7 +1011,7 @@ def test_connectivity_measure_inverse_transform_tangent(
|
|
1010
1011
|
|
1011
1012
|
assert_array_almost_equal(inverse_transformed, covariances)
|
1012
1013
|
with pytest.raises(
|
1013
|
-
ValueError, match="cannot reconstruct connectivity matrices"
|
1014
|
+
ValueError, match=r"cannot reconstruct connectivity matrices"
|
1014
1015
|
):
|
1015
1016
|
tangent_measure.inverse_transform(vectorized_displacements)
|
1016
1017
|
|
@@ -1050,7 +1051,7 @@ def test_confounds_connectivity_measure_errors() -> None:
|
|
1050
1051
|
|
1051
1052
|
# Raising error for input confounds are not iterable
|
1052
1053
|
conn_measure = JuniferConnectivityMeasure(vectorize=True)
|
1053
|
-
msg = "'confounds' input argument must be an iterable"
|
1054
|
+
msg = r"'confounds' input argument must be an iterable"
|
1054
1055
|
|
1055
1056
|
with pytest.raises(ValueError, match=msg):
|
1056
1057
|
conn_measure._check_input(X=signals, confounds=1.0)
|
@@ -1066,7 +1067,7 @@ def test_confounds_connectivity_measure_errors() -> None:
|
|
1066
1067
|
# Raising error for input confounds are given but not vectorize=True
|
1067
1068
|
conn_measure = JuniferConnectivityMeasure(vectorize=False)
|
1068
1069
|
with pytest.raises(
|
1069
|
-
ValueError, match="'confounds' are provided but vectorize=False"
|
1070
|
+
ValueError, match=r"'confounds' are provided but vectorize=False"
|
1070
1071
|
):
|
1071
1072
|
conn_measure.fit_transform(signals, None, confounds[:10])
|
1072
1073
|
|
@@ -1082,7 +1083,7 @@ def test_connectivity_measure_standardize(
|
|
1082
1083
|
The input signals.
|
1083
1084
|
|
1084
1085
|
"""
|
1085
|
-
match = "default strategy for standardize"
|
1086
|
+
match = r"default strategy for standardize"
|
1086
1087
|
|
1087
1088
|
with pytest.warns(DeprecationWarning, match=match):
|
1088
1089
|
JuniferConnectivityMeasure(kind="correlation").fit_transform(signals)
|
@@ -1101,7 +1102,7 @@ def test_connectivity_measure_standardize(
|
|
1101
1102
|
)
|
1102
1103
|
def test_xi_correlation_error() -> None:
|
1103
1104
|
"""Check xi correlation according to paper."""
|
1104
|
-
with pytest.raises(RuntimeError, match="scipy.stats.chatterjeexi"):
|
1105
|
+
with pytest.raises(RuntimeError, match=r"scipy.stats.chatterjeexi"):
|
1105
1106
|
JuniferConnectivityMeasure(kind="xi correlation").fit_transform(
|
1106
1107
|
np.zeros((2, 2))
|
1107
1108
|
)
|
@@ -144,7 +144,7 @@ def test_anisotropic_sphere_extraction() -> None:
|
|
144
144
|
def test_errors() -> None:
|
145
145
|
"""Test errors."""
|
146
146
|
masker = JuniferNiftiSpheresMasker(seeds=([1, 2]), radius=0.2)
|
147
|
-
with pytest.raises(ValueError, match="Seeds must be a list .+"):
|
147
|
+
with pytest.raises(ValueError, match=r"Seeds must be a list .+"):
|
148
148
|
masker.fit()
|
149
149
|
|
150
150
|
|
@@ -183,7 +183,7 @@ def test_nifti_spheres_masker_overlap() -> None:
|
|
183
183
|
radius=2,
|
184
184
|
allow_overlap=False,
|
185
185
|
)
|
186
|
-
with pytest.raises(ValueError, match="Overlap detected"):
|
186
|
+
with pytest.raises(ValueError, match=r"Overlap detected"):
|
187
187
|
noverlapping_masker.fit_transform(fmri_img)
|
188
188
|
|
189
189
|
|
@@ -288,7 +288,7 @@ def test_nifti_spheres_masker_inverse_transform() -> None:
|
|
288
288
|
masker = JuniferNiftiSpheresMasker(seeds=[(1, 1, 1)], radius=1)
|
289
289
|
with pytest.raises(
|
290
290
|
NotImplementedError,
|
291
|
-
match="some of which are non-reversible",
|
291
|
+
match=r"some of which are non-reversible",
|
292
292
|
):
|
293
293
|
masker.inverse_transform(data[0, 0, 0, :])
|
294
294
|
|
@@ -319,7 +319,7 @@ def test_nifti_spheres_masker_io_shapes() -> None:
|
|
319
319
|
masker.fit()
|
320
320
|
|
321
321
|
# DeprecationWarning *should* be raised for 3D inputs
|
322
|
-
with pytest.warns(DeprecationWarning, match="Starting in version 0.12"):
|
322
|
+
with pytest.warns(DeprecationWarning, match=r"Starting in version 0.12"):
|
323
323
|
test_data = masker.transform(img_3d)
|
324
324
|
assert test_data.shape == (1, n_regions)
|
325
325
|
|
@@ -26,16 +26,16 @@ from junifer.testing.datagrabbers import (
|
|
26
26
|
def test_fMRIPrepConfoundRemover_init() -> None:
|
27
27
|
"""Test fMRIPrepConfoundRemover init."""
|
28
28
|
|
29
|
-
with pytest.raises(ValueError, match="keys must be strings"):
|
29
|
+
with pytest.raises(ValueError, match=r"keys must be strings"):
|
30
30
|
fMRIPrepConfoundRemover(strategy={1: "full"}) # type: ignore
|
31
31
|
|
32
|
-
with pytest.raises(ValueError, match="values must be strings"):
|
32
|
+
with pytest.raises(ValueError, match=r"values must be strings"):
|
33
33
|
fMRIPrepConfoundRemover(strategy={"motion": 1}) # type: ignore
|
34
34
|
|
35
|
-
with pytest.raises(ValueError, match="component names"):
|
35
|
+
with pytest.raises(ValueError, match=r"component names"):
|
36
36
|
fMRIPrepConfoundRemover(strategy={"wrong": "full"})
|
37
37
|
|
38
|
-
with pytest.raises(ValueError, match="confound types"):
|
38
|
+
with pytest.raises(ValueError, match=r"confound types"):
|
39
39
|
fMRIPrepConfoundRemover(strategy={"motion": "wrong"})
|
40
40
|
|
41
41
|
|
@@ -342,7 +342,7 @@ def test_fMRIPrepConfoundRemover__get_scrub_regressors_errors(
|
|
342
342
|
The parametrized preprocessor.
|
343
343
|
|
344
344
|
"""
|
345
|
-
with pytest.raises(RuntimeError, match="Invalid confounds file."):
|
345
|
+
with pytest.raises(RuntimeError, match=r"Invalid confounds file."):
|
346
346
|
preprocessor._get_scrub_regressors(pd.DataFrame({"a": [1, 2]}))
|
347
347
|
|
348
348
|
|
@@ -354,7 +354,7 @@ def test_fMRIPrepConfoundRemover__validate_data() -> None:
|
|
354
354
|
element_data = DefaultDataReader().fit_transform(dg["sub-01"])
|
355
355
|
vbm = element_data["VBM_GM"]
|
356
356
|
with pytest.raises(
|
357
|
-
DimensionError, match="incompatible dimensionality"
|
357
|
+
DimensionError, match=r"incompatible dimensionality"
|
358
358
|
):
|
359
359
|
confound_remover._validate_data(vbm)
|
360
360
|
# Check missing nested type in correct data type
|
@@ -363,22 +363,22 @@ def test_fMRIPrepConfoundRemover__validate_data() -> None:
|
|
363
363
|
bold = element_data["BOLD"]
|
364
364
|
# Test confound type
|
365
365
|
with pytest.raises(
|
366
|
-
ValueError, match="`BOLD.confounds` data type not provided"
|
366
|
+
ValueError, match=r"`BOLD.confounds` data type not provided"
|
367
367
|
):
|
368
368
|
confound_remover._validate_data(bold)
|
369
369
|
# Test confound data
|
370
370
|
bold["confounds"] = {}
|
371
371
|
with pytest.raises(
|
372
|
-
ValueError, match="`BOLD.confounds.data` not provided"
|
372
|
+
ValueError, match=r"`BOLD.confounds.data` not provided"
|
373
373
|
):
|
374
374
|
confound_remover._validate_data(bold)
|
375
375
|
# Test confound data is valid type
|
376
376
|
bold["confounds"] = {"data": None}
|
377
|
-
with pytest.raises(ValueError, match="must be a `pandas.DataFrame`"):
|
377
|
+
with pytest.raises(ValueError, match=r"must be a `pandas.DataFrame`"):
|
378
378
|
confound_remover._validate_data(bold)
|
379
379
|
# Test confound data dimension mismatch with BOLD
|
380
380
|
bold["confounds"] = {"data": pd.DataFrame()}
|
381
|
-
with pytest.raises(ValueError, match="Image time series and"):
|
381
|
+
with pytest.raises(ValueError, match=r"Image time series and"):
|
382
382
|
confound_remover._validate_data(bold)
|
383
383
|
# Check nested type variations
|
384
384
|
with PartlyCloudyTestingDataGrabber(reduce_confounds=False) as dg:
|
@@ -393,19 +393,19 @@ def test_fMRIPrepConfoundRemover__validate_data() -> None:
|
|
393
393
|
}
|
394
394
|
# Test incorrect format
|
395
395
|
modified_bold["confounds"].update({"format": "wrong"})
|
396
|
-
with pytest.raises(ValueError, match="Invalid confounds format"):
|
396
|
+
with pytest.raises(ValueError, match=r"Invalid confounds format"):
|
397
397
|
confound_remover._validate_data(modified_bold)
|
398
398
|
# Test missing mappings for adhoc
|
399
399
|
modified_bold["confounds"].update({"format": "adhoc"})
|
400
400
|
with pytest.raises(
|
401
|
-
ValueError, match="`BOLD.confounds.mappings` need to be set"
|
401
|
+
ValueError, match=r"`BOLD.confounds.mappings` need to be set"
|
402
402
|
):
|
403
403
|
confound_remover._validate_data(modified_bold)
|
404
404
|
# Test missing fmriprep mappings for adhoc
|
405
405
|
modified_bold["confounds"].update({"mappings": {}})
|
406
406
|
with pytest.raises(
|
407
407
|
ValueError,
|
408
|
-
match="`BOLD.confounds.mappings.fmriprep` need to be set",
|
408
|
+
match=r"`BOLD.confounds.mappings.fmriprep` need to be set",
|
409
409
|
):
|
410
410
|
confound_remover._validate_data(modified_bold)
|
411
411
|
# Test incorrect fmriprep mappings for adhoc
|
@@ -1174,7 +1174,7 @@ def test_collect_error_single_output() -> None:
|
|
1174
1174
|
"""Test error for collect in single output storage."""
|
1175
1175
|
with pytest.raises(
|
1176
1176
|
NotImplementedError,
|
1177
|
-
match="is not implemented for single output.",
|
1177
|
+
match=r"is not implemented for single output.",
|
1178
1178
|
):
|
1179
1179
|
storage = HDF5FeatureStorage(uri="/tmp", single_output=True)
|
1180
1180
|
storage.collect()
|
@@ -211,7 +211,7 @@ def test_process_meta_element(meta: dict, elements: list[str]) -> None:
|
|
211
211
|
The parametrized elements to assert against.
|
212
212
|
|
213
213
|
"""
|
214
|
-
|
214
|
+
_, processed_meta, _ = process_meta(meta)
|
215
215
|
assert "_element_keys" in processed_meta
|
216
216
|
assert processed_meta["_element_keys"] == elements
|
217
217
|
assert "A" in processed_meta
|
junifer/tests/test_stats.py
CHANGED
@@ -41,41 +41,41 @@ def test_get_aggfunc_by_name(name: str, params: Optional[dict]) -> None:
|
|
41
41
|
|
42
42
|
def test_get_aggfunc_by_name_errors() -> None:
|
43
43
|
"""Test aggregation function retrieval using wrong name."""
|
44
|
-
with pytest.raises(ValueError, match="unknown. Please provide any of"):
|
44
|
+
with pytest.raises(ValueError, match=r"unknown. Please provide any of"):
|
45
45
|
get_aggfunc_by_name(name="invalid", func_params=None)
|
46
46
|
|
47
|
-
with pytest.raises(ValueError, match="list of limits"):
|
47
|
+
with pytest.raises(ValueError, match=r"list of limits"):
|
48
48
|
get_aggfunc_by_name(name="winsorized_mean", func_params=None)
|
49
49
|
|
50
|
-
with pytest.raises(ValueError, match="list of limits"):
|
50
|
+
with pytest.raises(ValueError, match=r"list of limits"):
|
51
51
|
get_aggfunc_by_name(
|
52
52
|
name="winsorized_mean", func_params={"limits": 0.1}
|
53
53
|
)
|
54
54
|
|
55
|
-
with pytest.raises(ValueError, match="list of two limits"):
|
55
|
+
with pytest.raises(ValueError, match=r"list of two limits"):
|
56
56
|
get_aggfunc_by_name(
|
57
57
|
name="winsorized_mean", func_params={"limits": [0.2]}
|
58
58
|
)
|
59
59
|
|
60
|
-
with pytest.raises(ValueError, match="list of two"):
|
60
|
+
with pytest.raises(ValueError, match=r"list of two"):
|
61
61
|
get_aggfunc_by_name(
|
62
62
|
name="winsorized_mean", func_params={"limits": [0.2, 0.7, 0.1]}
|
63
63
|
)
|
64
64
|
|
65
|
-
with pytest.raises(ValueError, match="must be between 0 and 1"):
|
65
|
+
with pytest.raises(ValueError, match=r"must be between 0 and 1"):
|
66
66
|
get_aggfunc_by_name(
|
67
67
|
name="winsorized_mean", func_params={"limits": [-1, 0.7]}
|
68
68
|
)
|
69
69
|
|
70
|
-
with pytest.raises(ValueError, match="must be between 0 and 1"):
|
70
|
+
with pytest.raises(ValueError, match=r"must be between 0 and 1"):
|
71
71
|
get_aggfunc_by_name(
|
72
72
|
name="winsorized_mean", func_params={"limits": [0.1, 2]}
|
73
73
|
)
|
74
74
|
|
75
|
-
with pytest.raises(ValueError, match="must be specified."):
|
75
|
+
with pytest.raises(ValueError, match=r"must be specified."):
|
76
76
|
get_aggfunc_by_name(name="select", func_params=None)
|
77
77
|
|
78
|
-
with pytest.raises(ValueError, match="must be specified, not both."):
|
78
|
+
with pytest.raises(ValueError, match=r"must be specified, not both."):
|
79
79
|
get_aggfunc_by_name(
|
80
80
|
name="select", func_params={"pick": [0], "drop": [1]}
|
81
81
|
)
|
@@ -110,10 +110,10 @@ def test_select() -> None:
|
|
110
110
|
"""Test select."""
|
111
111
|
input = np.arange(28).reshape(7, 4)
|
112
112
|
|
113
|
-
with pytest.raises(ValueError, match="must be specified."):
|
113
|
+
with pytest.raises(ValueError, match=r"must be specified."):
|
114
114
|
select(input, axis=2)
|
115
115
|
|
116
|
-
with pytest.raises(ValueError, match="must be specified, not both."):
|
116
|
+
with pytest.raises(ValueError, match=r"must be specified, not both."):
|
117
117
|
select(input, pick=[1], drop=[2], axis=2)
|
118
118
|
|
119
119
|
out1 = select(input, pick=[1], axis=0)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: junifer
|
3
|
-
Version: 0.0.7.
|
3
|
+
Version: 0.0.7.dev174
|
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,6 +1,6 @@
|
|
1
1
|
junifer/__init__.py,sha256=2McgH1yNue6Z1V26-uN_mfMjbTcx4CLhym-DMBl5xA4,266
|
2
2
|
junifer/__init__.pyi,sha256=SsTvgq2Dod6UqJN96GH1lCphH6hJQQurEJHGNhHjGUI,508
|
3
|
-
junifer/_version.py,sha256=
|
3
|
+
junifer/_version.py,sha256=aRs3MRmwBljg9_60dmUIeG2J9jJ81ahn1KK92Db2bw4,721
|
4
4
|
junifer/conftest.py,sha256=qnumYhFkwHBPrzvhPFOFHBp22x5zU0JfVBDOWjidlGo,1583
|
5
5
|
junifer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
junifer/stats.py,sha256=e9aaagMGtgpRfW3Wdpz9ocpnYld1IWylCDcjFUgX9Mk,6225
|
@@ -15,8 +15,8 @@ junifer/api/queue_context/gnu_parallel_local_adapter.py,sha256=xCa1JxzQvsW9uyxGb
|
|
15
15
|
junifer/api/queue_context/htcondor_adapter.py,sha256=clNn6rBnHWKQP1fHiJT_PC44-wkYAhwMbg66pL2BJDs,13809
|
16
16
|
junifer/api/queue_context/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
17
|
junifer/api/queue_context/queue_context_adapter.py,sha256=a6UE8xavDfuaZbkWYsayVs6l-rwIrbpFSpqSyHsEeYY,1577
|
18
|
-
junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py,sha256=
|
19
|
-
junifer/api/queue_context/tests/test_htcondor_adapter.py,sha256
|
18
|
+
junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py,sha256=Ve9UE3maCYAvah6SKxJK50uxI6UfxDVUM_rOAgw0ZD0,6587
|
19
|
+
junifer/api/queue_context/tests/test_htcondor_adapter.py,sha256=HkUb6r11pBkJRtB7SEtzQIC42HDJNkYbWRK1VSuoB3Y,8603
|
20
20
|
junifer/api/res/run_conda.bash,sha256=Axm0xTsP6doUV0X0k6nUP_UJr_2GzA8CPvulQZ01Uno,517
|
21
21
|
junifer/api/res/run_conda.zsh,sha256=32Sm1VNjsrpdH_Wi46jGhPbrJjrmNlPIHtkQ6cHVUkU,515
|
22
22
|
junifer/api/res/run_venv.bash,sha256=aynMRwBgFzYc4CAWbnne_A0UPD5ZFd81w62u22IXzPo,507
|
@@ -101,7 +101,7 @@ junifer/data/parcellations/__init__.pyi,sha256=lhBHTbMDizzqUqVHrx2eyfPFodrTBgMFe
|
|
101
101
|
junifer/data/parcellations/_ants_parcellation_warper.py,sha256=LIfeIAv3bFQbIrl6Cr7RU2RdkA-c2G6qURIBUe5MJCQ,5826
|
102
102
|
junifer/data/parcellations/_fsl_parcellation_warper.py,sha256=lmZDPv2fMjOnbJ0z2d3K9S7QH2bgYd5bXbzxNDUR5NY,2699
|
103
103
|
junifer/data/parcellations/_parcellations.py,sha256=eG6i_UgvhR0XwIdVhRqhiwunn7fO_-3AFlKAk8ayXHc,48430
|
104
|
-
junifer/data/parcellations/tests/test_parcellations.py,sha256=
|
104
|
+
junifer/data/parcellations/tests/test_parcellations.py,sha256=kb_FZ5kUwQVYilRDylVM3MGK8rZaOfYMlGATNl8EWyw,37556
|
105
105
|
junifer/data/tests/test_data_utils.py,sha256=6-UQ7HDZ7_zA7iQalzk29KJBdftQMVyqKsQ0tx1URkE,1062
|
106
106
|
junifer/data/tests/test_dispatch.py,sha256=bm4R0E8gs_XpJ6B5lfWFXjle7PmDjaX7Wu0L6mEU33w,2315
|
107
107
|
junifer/data/tests/test_template_spaces.py,sha256=ZEicEcLqOJ-NpuBZ5SYh4yZ0xZRkhYHnYXiC_YSxjrY,3219
|
@@ -161,8 +161,8 @@ junifer/external/nilearn/__init__.pyi,sha256=bcCz7O02UameBxbtPjhUal-Z9rI01pv3ikt
|
|
161
161
|
junifer/external/nilearn/junifer_connectivity_measure.py,sha256=oP7JyggH0w4V9FlEXSn0wCApXYy9zBj-XSawOBmMniY,18588
|
162
162
|
junifer/external/nilearn/junifer_nifti_spheres_masker.py,sha256=1CqtGFpfgVR2sK_pDYsBlgAEg-fIG5CkKzXzTTXG7EY,16533
|
163
163
|
junifer/external/nilearn/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
-
junifer/external/nilearn/tests/test_junifer_connectivity_measure.py,sha256=
|
165
|
-
junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py,sha256=
|
164
|
+
junifer/external/nilearn/tests/test_junifer_connectivity_measure.py,sha256=Tn3U-KpK4e8sYOyjvB6FOjZL7EMqs9mQcTDTqCpV2no,35067
|
165
|
+
junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py,sha256=QrqvlJq_MqjmQXI_x-BJ-M82_HEIPFam-N8u0MJGrlk,12248
|
166
166
|
junifer/markers/__init__.py,sha256=wHAxljlZppxgXimSJw21mp9oUYYyaID4LYfeBolva30,310
|
167
167
|
junifer/markers/__init__.pyi,sha256=xiO6-ymmLkJA3xq2-WFNp0_5TRW871_MyCYcPOyRVSw,1236
|
168
168
|
junifer/markers/base.py,sha256=GSU6NJA97pTMpFPyoTQrNffG0zXB_dwV_Eire4EnHQw,8283
|
@@ -283,7 +283,7 @@ junifer/preprocess/confounds/__init__.py,sha256=L3CquKcndFb2b8yVo-XLi-zsNCe8MMKU
|
|
283
283
|
junifer/preprocess/confounds/__init__.pyi,sha256=iC70cqcWNMX4JM42RcUgKb9YX8ciK8oVERdWWjo-13c,102
|
284
284
|
junifer/preprocess/confounds/fmriprep_confound_remover.py,sha256=o7mD_TRnflske75CJxSbg2uTN5zlJ4W0iovS8iQtnfg,27052
|
285
285
|
junifer/preprocess/confounds/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
286
|
-
junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py,sha256=
|
286
|
+
junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py,sha256=oysZynFFEyB4HlUETaxfMfflL6P8M4EEfDRfg5pzLJM,23544
|
287
287
|
junifer/preprocess/smoothing/__init__.py,sha256=7aTwvAG522kA76QQwqxwY5zV_6asyPaaH2uSMTaKQls,216
|
288
288
|
junifer/preprocess/smoothing/__init__.pyi,sha256=5sjw61Eyon9gE_SWoktND9raw6IkgqcT2rtGNhVV9EA,58
|
289
289
|
junifer/preprocess/smoothing/_afni_smoothing.py,sha256=4mdZk9YkA02wZ8rS6sbLnXL_7SIX7M0NwHPLckJgCmI,3325
|
@@ -310,11 +310,11 @@ junifer/storage/pandas_base.py,sha256=SYpbPdzkslrRcJdxZkW1NRUYRnAxMGAn1XhdCA8Yal
|
|
310
310
|
junifer/storage/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
311
311
|
junifer/storage/sqlite.py,sha256=18bQsfov5DTlGFlVMV9akTiatO7QPWMBcynZRetEBQM,21202
|
312
312
|
junifer/storage/utils.py,sha256=dgSbYjpwzy7dutcsdacd-5ZLR8kIucRcdlXw99aAjFI,9806
|
313
|
-
junifer/storage/tests/test_hdf5.py,sha256=
|
313
|
+
junifer/storage/tests/test_hdf5.py,sha256=834V6Y_0NIjsf2IAkC5QkGOnuAQzxi47p45pqwsIPMw,34170
|
314
314
|
junifer/storage/tests/test_pandas_base.py,sha256=S7_XM9EeBFoC4ojI0wYTFEXT5XMTWeVHiW6ddXdIjEI,4082
|
315
315
|
junifer/storage/tests/test_sqlite.py,sha256=0TQIcqHPgk67ALsR-98CA73ulDPsR2t9wGXYaem983w,28312
|
316
316
|
junifer/storage/tests/test_storage_base.py,sha256=Ic4zaPPhaKJDujfjxOM3h0GOhCtMnfT_jdWsuskKMac,3214
|
317
|
-
junifer/storage/tests/test_utils.py,sha256=
|
317
|
+
junifer/storage/tests/test_utils.py,sha256=xYXgP2_FyROXiHU_tMZWsLhRf1f7oIGn1kyhh4DuVGA,12726
|
318
318
|
junifer/testing/__init__.py,sha256=gqfrX2c7I31VYBmH9hCUERO-61NwubT1cvy1bKM0NqU,249
|
319
319
|
junifer/testing/__init__.pyi,sha256=OFqGc5GCjoD4hPVOYNWvnvvP_RVF-oO-UQR8n9HDVtM,133
|
320
320
|
junifer/testing/datagrabbers.py,sha256=ui2VwArMjx4KUD2Cf8PRJOExvDHfPntuuuhEEwWwTZ4,6571
|
@@ -327,7 +327,7 @@ junifer/testing/tests/test_partlycloudytesting_datagrabber.py,sha256=ggU8XQQ6F0H
|
|
327
327
|
junifer/testing/tests/test_spmauditory_datagrabber.py,sha256=1G1emk-Ze59HiNLaYsyIz5O1YGW9darcqlzvhE-J_Mc,919
|
328
328
|
junifer/testing/tests/test_testing_registry.py,sha256=MK4a_q4MHieCvYhnhuPm_dH76lX0yyDOZP8tZ30aC7Y,508
|
329
329
|
junifer/tests/test_main.py,sha256=GMff7jlisGM9_FsiUwWDte43j-KQJGFRYZpwRRqTkd8,373
|
330
|
-
junifer/tests/test_stats.py,sha256=
|
330
|
+
junifer/tests/test_stats.py,sha256=M1OW4OORyKRktfMSrLB9l_JHkB2QQ9ptCKVbhZvb5Xk,4160
|
331
331
|
junifer/typing/__init__.py,sha256=e0UbuxozXUIxz8h8pLokMOxZV629Q1lnA7vvgm95WF0,215
|
332
332
|
junifer/typing/__init__.pyi,sha256=l_AHfe7LkM6lhaUxnlZ5frBxtZeKbblVUFY3yyWLg70,688
|
333
333
|
junifer/typing/_typing.py,sha256=7FAQSqOTlWAtBGkgz6K-Ge1svLt5gCPGZ1zdqj5VXh0,1848
|
@@ -344,10 +344,10 @@ junifer/utils/tests/test_config.py,sha256=7ltIXuwb_W4Mv_1dxQWyiyM10XgUAfsWKV6D_i
|
|
344
344
|
junifer/utils/tests/test_fs.py,sha256=WQS7cKlKEZ742CIuiOYYpueeAhY9PqlastfDVpVVtvE,923
|
345
345
|
junifer/utils/tests/test_helpers.py,sha256=k5qqfxK8dFyuewTJyR1Qn6-nFaYNuVr0ysc18bfPjyU,929
|
346
346
|
junifer/utils/tests/test_logging.py,sha256=W4tFKmaf8_CxnWZ-o_-XxM7DQbhGG18RsLZJk8bZelI,8163
|
347
|
-
junifer-0.0.7.
|
348
|
-
junifer-0.0.7.
|
349
|
-
junifer-0.0.7.
|
350
|
-
junifer-0.0.7.
|
351
|
-
junifer-0.0.7.
|
352
|
-
junifer-0.0.7.
|
353
|
-
junifer-0.0.7.
|
347
|
+
junifer-0.0.7.dev174.dist-info/licenses/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
|
348
|
+
junifer-0.0.7.dev174.dist-info/licenses/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
|
349
|
+
junifer-0.0.7.dev174.dist-info/METADATA,sha256=eEkM03INWLTT7jN0Mlr3kPEEQLgt421h8q_ijx2zNf0,8396
|
350
|
+
junifer-0.0.7.dev174.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
351
|
+
junifer-0.0.7.dev174.dist-info/entry_points.txt,sha256=6O8ru0BP-SP7YMUZiizFNoaZ2HvJpadO2G7nKk4PwjI,48
|
352
|
+
junifer-0.0.7.dev174.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
|
353
|
+
junifer-0.0.7.dev174.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|