junifer 0.0.4.dev694__py3-none-any.whl → 0.0.4.dev781__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 (42) hide show
  1. junifer/_version.py +2 -2
  2. junifer/api/functions.py +11 -3
  3. junifer/api/queue_context/__init__.py +1 -0
  4. junifer/api/queue_context/gnu_parallel_local_adapter.py +258 -0
  5. junifer/api/queue_context/htcondor_adapter.py +4 -1
  6. junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +192 -0
  7. junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml +16 -0
  8. junifer/api/tests/test_cli.py +7 -13
  9. junifer/api/tests/test_functions.py +158 -104
  10. junifer/data/coordinates.py +1 -1
  11. junifer/data/masks.py +213 -54
  12. junifer/data/parcellations.py +91 -42
  13. junifer/data/template_spaces.py +33 -6
  14. junifer/data/tests/test_masks.py +127 -62
  15. junifer/data/tests/test_parcellations.py +66 -49
  16. junifer/data/tests/test_template_spaces.py +42 -7
  17. junifer/datagrabber/aomic/id1000.py +3 -0
  18. junifer/datagrabber/aomic/piop1.py +3 -0
  19. junifer/datagrabber/aomic/piop2.py +3 -0
  20. junifer/datagrabber/dmcc13_benchmark.py +3 -0
  21. junifer/datagrabber/hcp1200/hcp1200.py +3 -0
  22. junifer/markers/falff/tests/test_falff_parcels.py +3 -3
  23. junifer/markers/falff/tests/test_falff_spheres.py +3 -3
  24. junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py +46 -45
  25. junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +34 -41
  26. junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +40 -56
  27. junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +62 -74
  28. junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +99 -89
  29. junifer/markers/reho/tests/test_reho_parcels.py +17 -11
  30. junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py +38 -37
  31. junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py +34 -38
  32. junifer/markers/tests/test_collection.py +38 -37
  33. junifer/markers/tests/test_ets_rss.py +29 -41
  34. junifer/markers/tests/test_parcel_aggregation.py +600 -511
  35. junifer/markers/tests/test_sphere_aggregation.py +209 -163
  36. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/METADATA +1 -1
  37. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/RECORD +42 -39
  38. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/AUTHORS.rst +0 -0
  39. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/LICENSE.md +0 -0
  40. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/WHEEL +0 -0
  41. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/entry_points.txt +0 -0
  42. {junifer-0.0.4.dev694.dist-info → junifer-0.0.4.dev781.dist-info}/top_level.txt +0 -0
@@ -1,22 +1,23 @@
1
1
  """Provide tests for sphere aggregation."""
2
2
 
3
3
  # Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
4
+ # Synchon Mandal <s.mandal@fz-juelich.de>
4
5
  # License: AGPL
5
6
 
6
- import typing
7
7
  from pathlib import Path
8
- from typing import Dict
9
8
 
10
- import nibabel as nib
11
9
  import pytest
12
- from nilearn import datasets
13
- from nilearn.image import concat_imgs
14
10
  from nilearn.maskers import NiftiSpheresMasker
15
11
  from numpy.testing import assert_array_equal
16
12
 
17
- from junifer.data import load_coordinates, load_mask
13
+ from junifer.data import get_coordinates, get_mask
14
+ from junifer.datareader import DefaultDataReader
18
15
  from junifer.markers.sphere_aggregation import SphereAggregation
19
16
  from junifer.storage import SQLiteFeatureStorage
17
+ from junifer.testing.datagrabbers import (
18
+ OasisVBMTestingDataGrabber,
19
+ SPMAuditoryTestingDataGrabber,
20
+ )
20
21
 
21
22
 
22
23
  # Define common variables
@@ -36,51 +37,66 @@ def test_SphereAggregation_input_output() -> None:
36
37
 
37
38
  def test_SphereAggregation_3D() -> None:
38
39
  """Test SphereAggregation object on 3D images."""
39
- # Get the testing coordinates (for nilearn)
40
- coordinates, _, _ = load_coordinates(COORDS)
41
-
42
- # Get the oasis VBM data
43
- oasis_dataset = datasets.fetch_oasis_vbm(n_subjects=1)
44
- vbm = oasis_dataset.gray_matter_maps[0]
45
- img = nib.load(vbm)
46
-
47
- # Create NiftSpheresMasker
48
- nifti_masker = NiftiSpheresMasker(seeds=coordinates, radius=RADIUS)
49
- auto4d = nifti_masker.fit_transform(img)
50
-
51
- # Create SphereAggregation object
52
- marker = SphereAggregation(
53
- coords=COORDS, method="mean", radius=RADIUS, on="VBM_GM"
54
- )
55
- input = {"VBM_GM": {"data": img, "meta": {}, "space": "MNI"}}
56
- jun_values4d = marker.fit_transform(input)["VBM_GM"]["data"]
40
+ with OasisVBMTestingDataGrabber() as dg:
41
+ element_data = DefaultDataReader().fit_transform(dg["sub-01"])
42
+ # Create SphereAggregation object
43
+ marker = SphereAggregation(
44
+ coords=COORDS, method="mean", radius=RADIUS, on="VBM_GM"
45
+ )
46
+ sphere_agg_vbm_gm_data = marker.fit_transform(element_data)["VBM_GM"][
47
+ "data"
48
+ ]
49
+
50
+ # Compare with nilearn
51
+ # Load testing coordinates
52
+ testing_coords, _ = get_coordinates(
53
+ coords=COORDS, target_data=element_data["VBM_GM"]
54
+ )
55
+ # Extract data
56
+ nifti_spheres_masker = NiftiSpheresMasker(
57
+ seeds=testing_coords, radius=RADIUS
58
+ )
59
+ nifti_spheres_masked_vbm_gm = nifti_spheres_masker.fit_transform(
60
+ element_data["VBM_GM"]["data"]
61
+ )
57
62
 
58
- assert jun_values4d.ndim == 2
59
- assert_array_equal(auto4d.shape, jun_values4d.shape)
60
- assert_array_equal(auto4d, jun_values4d)
63
+ assert sphere_agg_vbm_gm_data.ndim == 2
64
+ assert_array_equal(
65
+ nifti_spheres_masked_vbm_gm.shape, sphere_agg_vbm_gm_data.shape
66
+ )
67
+ assert_array_equal(nifti_spheres_masked_vbm_gm, sphere_agg_vbm_gm_data)
61
68
 
62
69
 
63
70
  def test_SphereAggregation_4D() -> None:
64
71
  """Test SphereAggregation object on 4D images."""
65
- # Get the testing coordinates (for nilearn)
66
- coordinates, _, _ = load_coordinates(COORDS)
67
-
68
- # Get the SPM auditory data
69
- subject_data = datasets.fetch_spm_auditory()
70
- fmri_img = concat_imgs(subject_data.func) # type: ignore
71
-
72
- # Create NiftSpheresMasker
73
- nifti_masker = NiftiSpheresMasker(seeds=coordinates, radius=RADIUS)
74
- auto4d = nifti_masker.fit_transform(fmri_img)
75
-
76
- # Create SphereAggregation object
77
- marker = SphereAggregation(coords=COORDS, method="mean", radius=RADIUS)
78
- input = {"BOLD": {"data": fmri_img, "meta": {}, "space": "MNI"}}
79
- jun_values4d = marker.fit_transform(input)["BOLD"]["data"]
72
+ with SPMAuditoryTestingDataGrabber() as dg:
73
+ element_data = DefaultDataReader().fit_transform(dg["sub001"])
74
+ # Create SphereAggregation object
75
+ marker = SphereAggregation(
76
+ coords=COORDS, method="mean", radius=RADIUS, on="BOLD"
77
+ )
78
+ sphere_agg_bold_data = marker.fit_transform(element_data)["BOLD"][
79
+ "data"
80
+ ]
81
+
82
+ # Compare with nilearn
83
+ # Load testing coordinates
84
+ testing_coords, _ = get_coordinates(
85
+ coords=COORDS, target_data=element_data["BOLD"]
86
+ )
87
+ # Extract data
88
+ nifti_spheres_masker = NiftiSpheresMasker(
89
+ seeds=testing_coords, radius=RADIUS
90
+ )
91
+ nifti_spheres_masked_bold = nifti_spheres_masker.fit_transform(
92
+ element_data["BOLD"]["data"]
93
+ )
80
94
 
81
- assert jun_values4d.ndim == 2
82
- assert_array_equal(auto4d.shape, jun_values4d.shape)
83
- assert_array_equal(auto4d, jun_values4d)
95
+ assert sphere_agg_bold_data.ndim == 2
96
+ assert_array_equal(
97
+ nifti_spheres_masked_bold.shape, sphere_agg_bold_data.shape
98
+ )
99
+ assert_array_equal(nifti_spheres_masked_bold, sphere_agg_bold_data)
84
100
 
85
101
 
86
102
  def test_SphereAggregation_storage(tmp_path: Path) -> None:
@@ -92,124 +108,143 @@ def test_SphereAggregation_storage(tmp_path: Path) -> None:
92
108
  The path to the test directory.
93
109
 
94
110
  """
95
- # Get the oasis VBM data
96
- oasis_dataset = datasets.fetch_oasis_vbm(n_subjects=1)
97
- vbm = oasis_dataset.gray_matter_maps[0]
98
- img = nib.load(vbm)
99
- uri = tmp_path / "test_sphere_storage_3D.sqlite"
100
-
101
- storage = SQLiteFeatureStorage(uri=uri, upsert="ignore")
102
- meta = {
103
- "element": {"subject": "sub-01", "session": "ses-01"},
104
- "dependencies": {"nilearn", "nibabel"},
105
- }
106
- input = {"VBM_GM": {"data": img, "meta": meta, "space": "MNI"}}
107
- marker = SphereAggregation(
108
- coords=COORDS, method="mean", radius=RADIUS, on="VBM_GM"
109
- )
110
-
111
- marker.fit_transform(input, storage=storage)
112
-
113
- features: Dict = typing.cast(Dict, storage.list_features())
114
- assert any(
115
- x["name"] == "VBM_GM_SphereAggregation" for x in features.values()
116
- )
117
-
118
- meta = {
119
- "element": {"subject": "sub-01", "session": "ses-01"},
120
- "dependencies": {"nilearn", "nibabel"},
121
- }
122
- # Get the SPM auditory data
123
- subject_data = datasets.fetch_spm_auditory()
124
- fmri_img = concat_imgs(subject_data.func) # type: ignore
125
- input = {"BOLD": {"data": fmri_img, "meta": meta, "space": "MNI"}}
126
- marker = SphereAggregation(
127
- coords=COORDS, method="mean", radius=RADIUS, on="BOLD"
128
- )
129
-
130
- marker.fit_transform(input, storage=storage)
131
- features: Dict = typing.cast(Dict, storage.list_features())
132
- assert any(
133
- x["name"] == "BOLD_SphereAggregation" for x in features.values()
134
- )
111
+ # Store 3D
112
+ with OasisVBMTestingDataGrabber() as dg:
113
+ element_data = DefaultDataReader().fit_transform(dg["sub-01"])
114
+ storage = SQLiteFeatureStorage(
115
+ uri=tmp_path / "test_sphere_storage_3D.sqlite", upsert="ignore"
116
+ )
117
+ marker = SphereAggregation(
118
+ coords=COORDS, method="mean", radius=RADIUS, on="VBM_GM"
119
+ )
120
+ marker.fit_transform(input=element_data, storage=storage)
121
+ features = storage.list_features()
122
+ assert any(
123
+ x["name"] == "VBM_GM_SphereAggregation" for x in features.values()
124
+ )
125
+
126
+ # Store 4D
127
+ with SPMAuditoryTestingDataGrabber() as dg:
128
+ element_data = DefaultDataReader().fit_transform(dg["sub001"])
129
+ storage = SQLiteFeatureStorage(
130
+ uri=tmp_path / "test_sphere_storage_4D.sqlite", upsert="ignore"
131
+ )
132
+ marker = SphereAggregation(
133
+ coords=COORDS, method="mean", radius=RADIUS, on="BOLD"
134
+ )
135
+ marker.fit_transform(input=element_data, storage=storage)
136
+ features = storage.list_features()
137
+ assert any(
138
+ x["name"] == "BOLD_SphereAggregation" for x in features.values()
139
+ )
135
140
 
136
141
 
137
142
  def test_SphereAggregation_3D_mask() -> None:
138
143
  """Test SphereAggregation object on 3D images using mask."""
139
- # Get the testing coordinates (for nilearn)
140
- coordinates, _, _ = load_coordinates(COORDS)
141
-
142
- # Get one mask
143
- mask_img, _, _ = load_mask("GM_prob0.2")
144
-
145
- # Get the oasis VBM data
146
- oasis_dataset = datasets.fetch_oasis_vbm(n_subjects=1)
147
- vbm = oasis_dataset.gray_matter_maps[0]
148
- img = nib.load(vbm)
149
-
150
- # Create NiftSpheresMasker
151
- nifti_masker = NiftiSpheresMasker(
152
- seeds=coordinates, radius=RADIUS, mask_img=mask_img
153
- )
154
- auto4d = nifti_masker.fit_transform(img)
155
-
156
- # Create SphereAggregation object
157
- marker = SphereAggregation(
158
- coords=COORDS,
159
- method="mean",
160
- radius=RADIUS,
161
- on="VBM_GM",
162
- masks="GM_prob0.2",
163
- )
164
- input = {"VBM_GM": {"data": img, "meta": {}, "space": "MNI"}}
165
- jun_values4d = marker.fit_transform(input)["VBM_GM"]["data"]
166
-
167
- assert jun_values4d.ndim == 2
168
- assert_array_equal(auto4d.shape, jun_values4d.shape)
169
- assert_array_equal(auto4d, jun_values4d)
144
+ with OasisVBMTestingDataGrabber() as dg:
145
+ element_data = DefaultDataReader().fit_transform(dg["sub-01"])
146
+ # Create SphereAggregation object
147
+ marker = SphereAggregation(
148
+ coords=COORDS,
149
+ method="mean",
150
+ radius=RADIUS,
151
+ on="VBM_GM",
152
+ masks="compute_brain_mask",
153
+ )
154
+ sphere_agg_vbm_gm_data = marker.fit_transform(element_data)["VBM_GM"][
155
+ "data"
156
+ ]
157
+
158
+ # Compare with nilearn
159
+ # Load testing coordinates
160
+ testing_coords, _ = get_coordinates(
161
+ coords=COORDS, target_data=element_data["VBM_GM"]
162
+ )
163
+ # Load mask
164
+ mask_img = get_mask(
165
+ "compute_brain_mask", target_data=element_data["VBM_GM"]
166
+ )
167
+ # Extract data
168
+ nifti_spheres_masker = NiftiSpheresMasker(
169
+ seeds=testing_coords, radius=RADIUS, mask_img=mask_img
170
+ )
171
+ nifti_spheres_masked_vbm_agg = nifti_spheres_masker.fit_transform(
172
+ element_data["VBM_GM"]["data"]
173
+ )
174
+
175
+ assert sphere_agg_vbm_gm_data.ndim == 2
176
+ assert_array_equal(
177
+ nifti_spheres_masked_vbm_agg.shape,
178
+ nifti_spheres_masked_vbm_agg.shape,
179
+ )
180
+ assert_array_equal(
181
+ nifti_spheres_masked_vbm_agg, nifti_spheres_masked_vbm_agg
182
+ )
170
183
 
171
184
 
172
185
  def test_SphereAggregation_4D_agg_time() -> None:
173
186
  """Test SphereAggregation object on 4D images, aggregating time."""
174
- # Get the testing coordinates (for nilearn)
175
- coordinates, _, _ = load_coordinates(COORDS)
176
-
177
- # Get the SPM auditory data
178
- subject_data = datasets.fetch_spm_auditory()
179
- fmri_img = concat_imgs(subject_data.func) # type: ignore
180
-
181
- # Create NiftSpheresMasker
182
- nifti_masker = NiftiSpheresMasker(seeds=coordinates, radius=RADIUS)
183
- auto4d = nifti_masker.fit_transform(fmri_img)
184
- auto_mean = auto4d.mean(axis=0)
185
-
186
- # Create SphereAggregation object
187
- marker = SphereAggregation(
188
- coords=COORDS, method="mean", radius=RADIUS, time_method="mean"
189
- )
190
- input = {"BOLD": {"data": fmri_img, "meta": {}, "space": "MNI"}}
191
- jun_values4d = marker.fit_transform(input)["BOLD"]["data"]
192
-
193
- assert jun_values4d.ndim == 1
194
- assert_array_equal(auto_mean.shape, jun_values4d.shape)
195
- assert_array_equal(auto_mean, jun_values4d)
196
-
197
- auto_pick_0 = auto4d[:1, :]
198
- marker = SphereAggregation(
199
- coords=COORDS,
200
- method="mean",
201
- radius=RADIUS,
202
- time_method="select",
203
- time_method_params={"pick": [0]},
204
- )
205
-
206
- input = {"BOLD": {"data": fmri_img, "meta": {}, "space": "MNI"}}
207
- jun_values4d = marker.fit_transform(input)["BOLD"]["data"]
208
-
209
- assert jun_values4d.ndim == 2
210
- assert_array_equal(auto_pick_0.shape, jun_values4d.shape)
211
- assert_array_equal(auto_pick_0, jun_values4d)
187
+ with SPMAuditoryTestingDataGrabber() as dg:
188
+ element_data = DefaultDataReader().fit_transform(dg["sub001"])
189
+ # Create SphereAggregation object
190
+ marker = SphereAggregation(
191
+ coords=COORDS,
192
+ method="mean",
193
+ radius=RADIUS,
194
+ time_method="mean",
195
+ on="BOLD",
196
+ )
197
+ sphere_agg_bold_data = marker.fit_transform(element_data)["BOLD"][
198
+ "data"
199
+ ]
200
+
201
+ # Compare with nilearn
202
+ # Load testing coordinates
203
+ testing_coords, _ = get_coordinates(
204
+ coords=COORDS, target_data=element_data["BOLD"]
205
+ )
206
+ # Extract data
207
+ nifti_spheres_masker = NiftiSpheresMasker(
208
+ seeds=testing_coords, radius=RADIUS
209
+ )
210
+ nifti_spheres_masked_bold = nifti_spheres_masker.fit_transform(
211
+ element_data["BOLD"]["data"]
212
+ )
213
+ nifti_spheres_masked_bold_mean = nifti_spheres_masked_bold.mean(axis=0)
212
214
 
215
+ assert sphere_agg_bold_data.ndim == 1
216
+ assert_array_equal(
217
+ nifti_spheres_masked_bold_mean.shape, sphere_agg_bold_data.shape
218
+ )
219
+ assert_array_equal(
220
+ nifti_spheres_masked_bold_mean, sphere_agg_bold_data
221
+ )
222
+
223
+ # Test picking first time point
224
+ nifti_spheres_masked_bold_pick_0 = nifti_spheres_masked_bold[:1, :]
225
+ marker = SphereAggregation(
226
+ coords=COORDS,
227
+ method="mean",
228
+ radius=RADIUS,
229
+ time_method="select",
230
+ time_method_params={"pick": [0]},
231
+ on="BOLD",
232
+ )
233
+ sphere_agg_bold_data = marker.fit_transform(element_data)["BOLD"][
234
+ "data"
235
+ ]
236
+
237
+ assert sphere_agg_bold_data.ndim == 2
238
+ assert_array_equal(
239
+ nifti_spheres_masked_bold_pick_0.shape, sphere_agg_bold_data.shape
240
+ )
241
+ assert_array_equal(
242
+ nifti_spheres_masked_bold_pick_0, sphere_agg_bold_data
243
+ )
244
+
245
+
246
+ def test_SphereAggregation_errors() -> None:
247
+ """Test errors for SphereAggregation."""
213
248
  with pytest.raises(ValueError, match="can only be used with BOLD data"):
214
249
  SphereAggregation(
215
250
  coords=COORDS,
@@ -231,12 +266,23 @@ def test_SphereAggregation_4D_agg_time() -> None:
231
266
  on="VBM_GM",
232
267
  )
233
268
 
234
- with pytest.warns(RuntimeWarning, match="No time dimension to aggregate"):
235
- input = {
236
- "BOLD": {
237
- "data": fmri_img.slicer[..., 0:1],
238
- "meta": {},
239
- "space": "MNI",
240
- }
241
- }
242
- marker.fit_transform(input)
269
+
270
+ def test_SphereAggregation_warning() -> None:
271
+ """Test warning for SphereAggregation."""
272
+ with SPMAuditoryTestingDataGrabber() as dg:
273
+ element_data = DefaultDataReader().fit_transform(dg["sub001"])
274
+ with pytest.warns(
275
+ RuntimeWarning, match="No time dimension to aggregate"
276
+ ):
277
+ marker = SphereAggregation(
278
+ coords=COORDS,
279
+ method="mean",
280
+ radius=RADIUS,
281
+ time_method="select",
282
+ time_method_params={"pick": [0]},
283
+ on="BOLD",
284
+ )
285
+ element_data["BOLD"]["data"] = element_data["BOLD"]["data"].slicer[
286
+ ..., 0:1
287
+ ]
288
+ marker.fit_transform(element_data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: junifer
3
- Version: 0.0.4.dev694
3
+ Version: 0.0.4.dev781
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,15 +1,17 @@
1
1
  junifer/__init__.py,sha256=x1UR2jUcrUdm2HNl-3Qvyi4UUrU6ms5qm2qcmNY7zZk,391
2
- junifer/_version.py,sha256=gN01pTieEfbO9Jno4xsc96hXxQnactmcALbG_NJ1CdE,428
2
+ junifer/_version.py,sha256=DG1TQuA0pxGHQP7YoxTcX0i7VCt9fBbd9PHx3LLTXh0,428
3
3
  junifer/stats.py,sha256=sU5IZ2qFZWbzgSutQS_z42miIVItpSGmQYBn6KkD5fA,6162
4
4
  junifer/api/__init__.py,sha256=YILu9M7SC0Ri4CVd90fELH2OnK_gvCYAXCoqBNCFE8E,257
5
5
  junifer/api/cli.py,sha256=auw38tIH7ipTnaADM7on0or7zauY-BFII8nd-eRUEJs,13664
6
6
  junifer/api/decorators.py,sha256=8bnwHPAe7VgzKxl--M_e0umdAlTVSzaJQHEJZ5kof5k,2580
7
- junifer/api/functions.py,sha256=Nvkby-Nlef_mMizdENC_Bodx8_MS5yoJ0nLsU7aGMgE,11255
7
+ junifer/api/functions.py,sha256=bH8tkbkpZmU8jiQqvSsbIRp-B__Uie0BNZy_yVwRzs8,11579
8
8
  junifer/api/parser.py,sha256=a3SSC2xO-PF1pqXZXFq8Sh9aVd-dmHolJbCkGyOUTAM,4416
9
9
  junifer/api/utils.py,sha256=dyjTdPMwX9qeCrn8SQT2Pjshfnu-y1FEyujV7lCzvm0,3333
10
- junifer/api/queue_context/__init__.py,sha256=lrDX54HCWt7-hvJ2XTP3dADQhWFFZZR9GfZh2cgCyAI,223
11
- junifer/api/queue_context/htcondor_adapter.py,sha256=XEzwMCFwGCoSReJKm3TU9poVN5-7lRZ1KUJw6_8v0b0,12681
10
+ junifer/api/queue_context/__init__.py,sha256=x0fT0ax-jPI0Fefg2quJ6VCIwhJ9rUQEjCNqxDXw7WM,287
11
+ junifer/api/queue_context/gnu_parallel_local_adapter.py,sha256=53zwa95agzx3hM1PMmHlOaApZ-SQpbQjVuac9vbpTLk,9113
12
+ junifer/api/queue_context/htcondor_adapter.py,sha256=rsVwXP1crkopdwIKVU369crX7WCTr63iE8WpQEX8e9M,12785
12
13
  junifer/api/queue_context/queue_context_adapter.py,sha256=a6UE8xavDfuaZbkWYsayVs6l-rwIrbpFSpqSyHsEeYY,1577
14
+ junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py,sha256=HD_fD-nNm77EVjNpcZ968fqYUWNzylkHvFH7sFEFXN4,5393
13
15
  junifer/api/queue_context/tests/test_htcondor_adapter.py,sha256=XmtdqoUmYTdkwGqRvIX52_n-vaVnPfvz81K4iSc6P0c,7255
14
16
  junifer/api/res/run_conda.sh,sha256=eskIn-fotITOlh--IUQKXh-SBOZkDkK8QvDcdQsyJ0M,509
15
17
  junifer/api/res/run_venv.sh,sha256=OF-LOdOdpjCU0JX6Dz1boG4ErPutTiVVD_N7j520Fvk,499
@@ -28,11 +30,12 @@ junifer/api/res/fsl/img2imgcoord,sha256=Zmaw3oJYrEltcXiPyEubXry9ppAq3SND52tdDWGg
28
30
  junifer/api/res/fsl/run_fsl_docker.sh,sha256=mRLtZo0OgDwleoee2MG6rYI37HVuGNk9zOADwcl97RA,1122
29
31
  junifer/api/res/fsl/std2imgcoord,sha256=-X5wRH6XMl0yqnTACJX6MFhO8DFOEWg42MHRxGvimXg,49
30
32
  junifer/api/tests/test_api_utils.py,sha256=zDRQiqFOaoO02FpzJCxEbZvsP4u4__Yr25e5k5MJwuI,2713
31
- junifer/api/tests/test_cli.py,sha256=hou8Jn31v0SfjAwf5zIqQEbA1nxvL6uvVZUjnghAG3k,8553
32
- junifer/api/tests/test_functions.py,sha256=WvedMpHZ9ckbvkuOgCxnyZLrKdi5bR4hGJyO6ywkbIA,15531
33
+ junifer/api/tests/test_cli.py,sha256=X24TrEvSXnD8ysVMlaSHPsJPOOUPAzLxLgb3jCj1ahg,8461
34
+ junifer/api/tests/test_functions.py,sha256=mvxdaGHxPje-aQGS2fo95xjU7jOf8TYaTWqwFZ5T0oY,17215
33
35
  junifer/api/tests/test_parser.py,sha256=eUz2JPVb0_cxvoeI1O_C5PMNs5v_lDzGsN6fV1VW5Eg,6109
34
36
  junifer/api/tests/data/gmd_mean.yaml,sha256=Ohb_C5cfQMK-59U9O1ZhejXyBtzLc5Y4cv8QyYq2azg,330
35
37
  junifer/api/tests/data/gmd_mean_htcondor.yaml,sha256=f7NLv_KIJXTiPNFmOWl2Vw8EfwojhfkGtwbh5prbd6w,417
38
+ junifer/api/tests/data/partly_cloudy_agg_mean_tian.yml,sha256=nS8K_R1hEuV71Vv-i9SYjnDGAK2FClQqBiE4kOuQ_ys,313
36
39
  junifer/configs/__init__.py,sha256=r6BU6vW7FVapSD81j24QeQiZe1oKspsJJRRPjXnCk00,120
37
40
  junifer/configs/juseless/__init__.py,sha256=Ws98DvlLEMHfwW6BjmvHQmqTlFRDps9r4pLAfNjfEiM,149
38
41
  junifer/configs/juseless/datagrabbers/__init__.py,sha256=tqCLmelWqB1xfElvknnaJ5oVRPp9XVXtZLzIpxYIghg,452
@@ -47,10 +50,10 @@ junifer/configs/juseless/datagrabbers/tests/test_ixi_vbm.py,sha256=8jxpNZelXwpJG
47
50
  junifer/configs/juseless/datagrabbers/tests/test_ucla.py,sha256=e-jdvcZ9B0mka6_573JJU_cGwSaUV54U8X_n0UadtJY,3351
48
51
  junifer/configs/juseless/datagrabbers/tests/test_ukb_vbm.py,sha256=b9hjc1mgO--PSRC3id2EzzfE2yWNsuZ2UI47a6sfGZU,1025
49
52
  junifer/data/__init__.py,sha256=1E6JtzpnjjA0IutkJkarEik9NhCP9PPI6K0-37XDZVg,602
50
- junifer/data/coordinates.py,sha256=SG3nSDBoH5oDsvo6qjqg3X8rHK86vYQRa3bpfZ0e4zE,12833
51
- junifer/data/masks.py,sha256=81v3GhAf9lc_CobV9f6n_vMK1jWZCbeANmopa02XZOQ,17744
52
- junifer/data/parcellations.py,sha256=o10afxUnQXdClW2thFFz5mAED6ptMkvSVRaj0LxiwKc,63312
53
- junifer/data/template_spaces.py,sha256=fHuihkPCq816rhvI72Us57cSnEPqDf7gWpVZIhOkoMY,4862
53
+ junifer/data/coordinates.py,sha256=Y_-gGCvIqxjArGf-E6LmYzz6ZIbG0ugw5NjgIeirXuA,12850
54
+ junifer/data/masks.py,sha256=u_DDKg8bv0Fec_DwEc1Ledajy5yen3VT-ZblQT6cwaI,23473
55
+ junifer/data/parcellations.py,sha256=tWTrZE68K1X-_1kekRFhVmbrHX_lfSipjaPPjgy0etM,65220
56
+ junifer/data/template_spaces.py,sha256=V_rsSeyXk1TtOtPuDeRtJxDfr0YU08ZB0JLgXNT3DIE,5752
54
57
  junifer/data/utils.py,sha256=Jmbc7SLzy4nLP_zkWv_aJzb1MZ27tutJ98ifsECCamM,1295
55
58
  junifer/data/VOIs/meta/AutobiographicalMemory_VOIs.txt,sha256=9af38naeL18Tlt_gy_ep6vyTAxOB336JYjbo5FvP8PQ,686
56
59
  junifer/data/VOIs/meta/CogAC_VOIs.txt,sha256=Sr5_E712OLdeQRyUcDNM0wLBvZIyO6gc9Q7KkyJHX1A,398
@@ -76,27 +79,27 @@ junifer/data/masks/vickery-patil/CAT12_IXI555_MNI152_TMP_GS_GMprob0.2_clean_3mm.
76
79
  junifer/data/masks/vickery-patil/GMprob0.2_cortex_3mm_NA_rm.nii.gz,sha256=jfMe_4H9XEnArYms5bSQbqS2V1_HbLHTfI5amQa_Pes,8700
77
80
  junifer/data/tests/test_coordinates.py,sha256=BNkz9qFbnwAI0oVlIm_XrT-z4Vsia_rMtMVaoFXT6mU,4328
78
81
  junifer/data/tests/test_data_utils.py,sha256=_DaiC8K79gs9HFHxr-udNeE2YTM6JA0-1i-K2cqK9qA,1087
79
- junifer/data/tests/test_masks.py,sha256=wZ7nsY55on6LpJdRm7VXp1qqQQlENmSK6bNOgiMTE4M,14572
80
- junifer/data/tests/test_parcellations.py,sha256=aUq6t1s6yP_Sw-Ur8mZMkODYgE8VTQ36Y3l3UGprUdk,38001
81
- junifer/data/tests/test_template_spaces.py,sha256=EDsGYBAwjqjOANDNssXaaXPkNv9P658JRtCN2vUulf8,2258
82
+ junifer/data/tests/test_masks.py,sha256=cZmj6UZmuyqXI-8zMqAkuim6DWYecjaMCPo00cr_J5g,16160
83
+ junifer/data/tests/test_parcellations.py,sha256=ZEU1VHIK0AyxpclcJhG_0rQU0phaBU_dHP7Erfi3mN8,38222
84
+ junifer/data/tests/test_template_spaces.py,sha256=PJulN7xHpAcSOTY-UzTG_WPywZEBSlAZGiNG4gzk1_8,3144
82
85
  junifer/datagrabber/__init__.py,sha256=pZHJIY8nAlbVngsyRScE6a6GKbytiwjJB7SdJNqIbl4,680
83
86
  junifer/datagrabber/base.py,sha256=clErdDX5jz8LTjwPTQPCv3jfELCJ2vObg7ks8imAx8Y,6224
84
87
  junifer/datagrabber/datalad_base.py,sha256=dDaBiIePPP6-G4ycgBMxTcXxs4vkg-yDS3OBURK4VGs,10731
85
- junifer/datagrabber/dmcc13_benchmark.py,sha256=lZpGd_6mUmFPcaqERVWPHIzJq_h_muvh1ifwxj6qqdA,11387
88
+ junifer/datagrabber/dmcc13_benchmark.py,sha256=C1ZzeQV7NsdIL5HCkjcZjE6uvecqt6ZY244OfvKD-Zo,11521
86
89
  junifer/datagrabber/multiple.py,sha256=eXQIsvSNvD8GuEITjMaMoi1GwoeyWXXbQMRi-f2qgc4,4923
87
90
  junifer/datagrabber/pattern.py,sha256=uGobDTrRhq-XPNIz0z3eIeIzmNOYFajEXwa7OWqno5g,10720
88
91
  junifer/datagrabber/pattern_datalad.py,sha256=SyXhM0XQEF45poNaWyVAG054BSCYyqJ-JUwbRo05nyk,1653
89
92
  junifer/datagrabber/utils.py,sha256=-i5Pw7w72RO4SRapWYglIC0Lve8e8Mo3Gmu0z6A_PbY,3516
90
93
  junifer/datagrabber/aomic/__init__.py,sha256=R7yrRVBWsBW25CH0fw-KHpFwb_EC-MlPKDzssGfj5A0,281
91
- junifer/datagrabber/aomic/id1000.py,sha256=1n1u3Ro5BZam14hDwZpyU3bxyXVYDSjKdbVm0bVFwCs,5564
92
- junifer/datagrabber/aomic/piop1.py,sha256=kEdzzxauJ0ovb-xQLlBKx4Tu5ncP0vix_b6fAfNk4Ok,7584
93
- junifer/datagrabber/aomic/piop2.py,sha256=Wve4Pe3PKCEZofLmBQ3Q_7wiNal2aIcNJlRbusOnD2g,7203
94
+ junifer/datagrabber/aomic/id1000.py,sha256=Cfp55jGzillWJ_SSeSKF33Cacl5FvVEb80B2Ieooy3I,5698
95
+ junifer/datagrabber/aomic/piop1.py,sha256=wSqQUyHAoSf-1BPDQmBrowoRviFZznkox-iBWJ3NxOo,7718
96
+ junifer/datagrabber/aomic/piop2.py,sha256=SIegiR2ybC8Uok0KDhRauSwhVi21z5cyOJiI698-k90,7337
94
97
  junifer/datagrabber/aomic/tests/test_id1000.py,sha256=eejuGiNQdX_s_8klGROd8OD8O5OprQywWN6O-JU3jD4,4824
95
98
  junifer/datagrabber/aomic/tests/test_piop1.py,sha256=Trp905MCT4jhnCg1leP0PzpEVc_icoKJZrI0TwVCwSE,5578
96
99
  junifer/datagrabber/aomic/tests/test_piop2.py,sha256=KAMU8eoQbKV3n9qRWbpZ24g-qN9uzZ55ZlofcSB9BIA,5377
97
100
  junifer/datagrabber/hcp1200/__init__.py,sha256=zy4Qq1_m3vECEhioG-UDteco2b5cni_8xuElICaRtt4,189
98
101
  junifer/datagrabber/hcp1200/datalad_hcp1200.py,sha256=p5Bbg09qoM46km9eFSlspwLwOe6LMJFSIZ9NC9E2lmc,2432
99
- junifer/datagrabber/hcp1200/hcp1200.py,sha256=AQz4XJJsAnEYpYaJDdMlL2_jHavkpnBRleHGwQuLe68,6003
102
+ junifer/datagrabber/hcp1200/hcp1200.py,sha256=6lNk3wjd6elVFeiQfmU140fsNoZwKFQjipbhlf1KXMk,6134
100
103
  junifer/datagrabber/hcp1200/tests/test_hcp1200.py,sha256=KJ-Jq01l0a6TaboG898qjBdPTHG1E3PZtHCjJ7n-1X0,10765
101
104
  junifer/datagrabber/tests/test_base.py,sha256=TBv14m7JZCvF6OPKG2MesMI7MPm-BkCAzOHb1GmMrG8,3738
102
105
  junifer/datagrabber/tests/test_datagrabber_utils.py,sha256=08fdnXRehAhrWoNdMP_2Ecgam7a1uMbt1i0wIpderEg,2795
@@ -147,8 +150,8 @@ junifer/markers/falff/_junifer_falff.py,sha256=DAwimHqYrZ0EITXwceM5R8cQdGvy-wWjS
147
150
  junifer/markers/falff/falff_base.py,sha256=ywfPqMa11xSHiY1W-OeLrmK67WQx-9mRoXUV2gIZJOo,5698
148
151
  junifer/markers/falff/falff_parcels.py,sha256=xQu73cfYDQvOPqZv7HFmxy7YR1Apx0w3Qr2nzUMPFeU,5012
149
152
  junifer/markers/falff/falff_spheres.py,sha256=wQzNI_IAQMRiwZPB3shjd0wlbW-IKIXArMCQuVy8C4I,5543
150
- junifer/markers/falff/tests/test_falff_parcels.py,sha256=HjyL4VVvQdOewvszJQLLBLSDcJU8JUuvaOZ5DkkWQ4Y,3991
151
- junifer/markers/falff/tests/test_falff_spheres.py,sha256=tAIcArv4astm3_olc8Vqa0KK3Z4B8BWzKQhkJnVT-_A,4027
153
+ junifer/markers/falff/tests/test_falff_parcels.py,sha256=xvEJ9PPjvOfsmyYyEAiycj_35EOivEkLue5yPHSptCs,4009
154
+ junifer/markers/falff/tests/test_falff_spheres.py,sha256=E-Hsny-iH34TmWIMXEmq6j-q0qNpAYv-cwnxZDeMnlg,4040
152
155
  junifer/markers/functional_connectivity/__init__.py,sha256=Uq8aXpHJesedJNHEixpc4bn7VvYZMhf710jyiX45XlE,499
153
156
  junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py,sha256=YEtjAnmEF98DQm6HRtWqoTdupF4bU1-UKh9rRx1LY-E,5215
154
157
  junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py,sha256=z5iL8W1z2fDMxRIY_Exc99qnus_DVCPQ8aTnvfRrhp8,4339
@@ -156,33 +159,33 @@ junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py,
156
159
  junifer/markers/functional_connectivity/functional_connectivity_base.py,sha256=MKwngbj7pDVCxcJPZPrTAi7dh6hjak0McEonk20PkWI,5179
157
160
  junifer/markers/functional_connectivity/functional_connectivity_parcels.py,sha256=QBaJQfgSqxGlnD47LMHJQqXvPlZF5a79yVmmDFJg-WQ,3990
158
161
  junifer/markers/functional_connectivity/functional_connectivity_spheres.py,sha256=ZdMylng5uvlA4JDz-8giNeDh_hTWh4k2fuPx_HowfH0,4690
159
- junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py,sha256=iW_YgN3Szk4dyFe5K3jnhHNvbl0ToXkSoHatYw5qwb8,2904
160
- junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py,sha256=OrJbRpeX7Qb7qAcvOiE3jti4Cw9Hw5h8Wam3qPjTDsA,1991
161
- junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py,sha256=AGrjz9cFCSiS2haBEnVT--4t89XkBUtg5c76JOtVgUM,2369
162
+ junifer/markers/functional_connectivity/tests/test_crossparcellation_functional_connectivity.py,sha256=0TOJhdjrD_96j80Yt4AmtOWxoQLDF_pdVW9mVHsm_uU,3142
163
+ junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py,sha256=gXJHBm56TCwFMK7NGtO9PHOdyr0Ymlm0jByusfrBakE,1992
164
+ junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py,sha256=FhlRqiKzk_W7v4Yc1pgyzUp6SKXu_9kq7dPc1GfkdXA,2197
162
165
  junifer/markers/functional_connectivity/tests/test_functional_connectivity_base.py,sha256=RmPTrG0uLKb5RgdHXUnH6lon60FxN1JCtr-dsTBaX28,522
163
- junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py,sha256=CN6buyF0hxqzQUefz0KBkQSndwSXoZ5ius-H-WGhslY,3210
164
- junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py,sha256=KOaMkLf7CEd1H8A92WpZAy6X6VNf6TADzYqsqXqvV4Q,4278
166
+ junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py,sha256=iV1HY2t0ywBjOn06SLBlfn3x2c3Yuopq8W4pPQyfdzQ,3096
167
+ junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py,sha256=wMK5GVcRz68zsCPMtTXxoG7H68Ab8wk9_bsrcyRz1R4,5090
165
168
  junifer/markers/reho/__init__.py,sha256=9IfeAxKEVgMWbhud-8T54Le07I4pR6A29sMKeFtvEPg,189
166
169
  junifer/markers/reho/_afni_reho.py,sha256=YZQAG8iPPOqYWZgnzbySLFbRKadL5WUYfaPbWAWHzEk,6444
167
170
  junifer/markers/reho/_junifer_reho.py,sha256=oATv5cBbc42HdxpKbeokuflKYrx6vitqjiVfS_f4Ibs,9279
168
171
  junifer/markers/reho/reho_base.py,sha256=04rQFivmeZx7EG9-fP00bp0rKruUAi8x_ngVoMSjSl4,4492
169
172
  junifer/markers/reho/reho_parcels.py,sha256=zOx6pYPqwNQ40H-0qZguWUTOGo9XQ1NLiA2OtSJn8LI,6142
170
173
  junifer/markers/reho/reho_spheres.py,sha256=xAnEVIV-5Hq9CbEkzcpoL2rlcU5SsifONib9BPJaVDA,6758
171
- junifer/markers/reho/tests/test_reho_parcels.py,sha256=7LmQaTYdYxHsV4SpmhUGklc6EFB0iMyw2GauRoB0H0M,3700
174
+ junifer/markers/reho/tests/test_reho_parcels.py,sha256=v3s52rZPeSgspL2vECpUCBp4dSuFh5_NKeEfBA6QQt0,3889
172
175
  junifer/markers/reho/tests/test_reho_spheres.py,sha256=Gj-q2NajtYVRacvTsexxCyAQrpMWBQ-GbdXZpiDujIU,3803
173
176
  junifer/markers/temporal_snr/__init__.py,sha256=gyJPT19xuig-og0yuzZZeRC_zX4ondcLf-wNKFDaGvs,243
174
177
  junifer/markers/temporal_snr/temporal_snr_base.py,sha256=T5VGhiEPtTaUpF7pE5mTZAy_O9vtgdZMtthSLncI0P4,4024
175
178
  junifer/markers/temporal_snr/temporal_snr_parcels.py,sha256=OLkA5YZoPwc0kfTyxS7LTT-j1jBDiwLgHm8ulFHQs7o,3299
176
179
  junifer/markers/temporal_snr/temporal_snr_spheres.py,sha256=VoxVA_b48Ppf7P6cxYq05WKdiqK9YteIFPbCPfOOyTM,4007
177
180
  junifer/markers/temporal_snr/tests/test_temporal_snr_base.py,sha256=KRln5ibLTJJQ_f3pnioATfwyhK5htGc2o2J7CPcoyfs,426
178
- junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py,sha256=-JzuTd-Q44tmKhEZ0m6KKxB_W2H74Cv5u9uVkI6NLQE,1626
179
- junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py,sha256=s1Px_lJ9wva4FYEGzyHL983k3xBRMtV41jVVTZdXT8c,1865
180
- junifer/markers/tests/test_collection.py,sha256=WWX6UAFOvMCE8q21ZnYZ9k79bR9b-tTg2wuexEhYSTY,6873
181
- junifer/markers/tests/test_ets_rss.py,sha256=YZNvkqiytpKK5Iw1TQPAY_9zePuaMqvaeHBZWq0pDSA,2685
181
+ junifer/markers/temporal_snr/tests/test_temporal_snr_parcels.py,sha256=a2EUGmAdyauFCxKnDxmr9vVguYLUfbxrzl8rExBnplk,1961
182
+ junifer/markers/temporal_snr/tests/test_temporal_snr_spheres.py,sha256=VSc7CrN8iWsI7099REwlBIjeQ3BlmVdXWs56ZLfYGbI,2094
183
+ junifer/markers/tests/test_collection.py,sha256=crFB7vjdkll9uuyQtKsTW6BlqSvvjfv5e6wxa8nkU-0,6812
184
+ junifer/markers/tests/test_ets_rss.py,sha256=fjFOBBIG_vaNblyDFFYhoYc0asWS1rQR0B02Feb_8Vw,2448
182
185
  junifer/markers/tests/test_marker_utils.py,sha256=SR3ADWI3uGv4ozYqVu-rMZnJVqP6JnjLBgo6qUm16Wk,1478
183
186
  junifer/markers/tests/test_markers_base.py,sha256=cbuCeMmjyFMP1ea6J6XRsBQo8CivQ41ooABiT1Snj2k,3076
184
- junifer/markers/tests/test_parcel_aggregation.py,sha256=fEqag0j2Mf11-sMBnMq2CIMt_fGoXFqdS-Ju5OZERQs,22374
185
- junifer/markers/tests/test_sphere_aggregation.py,sha256=jqnn8pJH2EBpoZeS5DbbDNkRVK1Sdp2VlJkuePdkAZ4,7875
187
+ junifer/markers/tests/test_parcel_aggregation.py,sha256=N0Nn42BF1apQkhntZikiU73b5clJkY2LThBv2YScJPg,26531
188
+ junifer/markers/tests/test_sphere_aggregation.py,sha256=Xu2vrZvaK0oCZqjuJGiC6Tl8jSOFwVl75U4geclpy14,9747
186
189
  junifer/onthefly/__init__.py,sha256=GG_Z5NgnVNph6CLPtGFI2HE_OIuVTZ874BOq72mA-ps,160
187
190
  junifer/onthefly/read_transform.py,sha256=8ia2QktWpVhPDD20bKywuVHPU1Ys2Wyc_HvKyyRTcVo,4309
188
191
  junifer/onthefly/tests/test_read_transform.py,sha256=D2C3IpXQHdsJSF07v8rEwGntLGXjZOserlRhebJUAVM,4719
@@ -245,10 +248,10 @@ junifer/utils/logging.py,sha256=furcU3XIUpUvnpe4PEwzWWIWgmH4j2ZA4MQdvSGWjj0,9216
245
248
  junifer/utils/tests/test_fs.py,sha256=WQS7cKlKEZ742CIuiOYYpueeAhY9PqlastfDVpVVtvE,923
246
249
  junifer/utils/tests/test_helpers.py,sha256=k5qqfxK8dFyuewTJyR1Qn6-nFaYNuVr0ysc18bfPjyU,929
247
250
  junifer/utils/tests/test_logging.py,sha256=l8oo-AiBV7H6_IzlsNcj__cLeZBUvgIGoaMszD9VaJg,7754
248
- junifer-0.0.4.dev694.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
249
- junifer-0.0.4.dev694.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
250
- junifer-0.0.4.dev694.dist-info/METADATA,sha256=jlAKgugESVQr_Hgr-fVh8WnInNOECaEIKqhi_IJx738,8235
251
- junifer-0.0.4.dev694.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
252
- junifer-0.0.4.dev694.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
253
- junifer-0.0.4.dev694.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
254
- junifer-0.0.4.dev694.dist-info/RECORD,,
251
+ junifer-0.0.4.dev781.dist-info/AUTHORS.rst,sha256=rmULKpchpSol4ExWFdm-qu4fkpSZPYqIESVJBZtGb6E,163
252
+ junifer-0.0.4.dev781.dist-info/LICENSE.md,sha256=MqCnOBu8uXsEOzRZWh9EBVfVz-kE9NkXcLCrtGXo2yU,34354
253
+ junifer-0.0.4.dev781.dist-info/METADATA,sha256=5YfE1jEOLMBw69X5dZwvZYOzv5V8i7PTJVZJ3dht7oQ,8235
254
+ junifer-0.0.4.dev781.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
255
+ junifer-0.0.4.dev781.dist-info/entry_points.txt,sha256=DxFvKq0pOqRunAK0FxwJcoDfV1-dZvsFDpD5HRqSDhw,48
256
+ junifer-0.0.4.dev781.dist-info/top_level.txt,sha256=4bAq1R2QFQ4b3hohjys2JBvxrl0GKk5LNFzYvz9VGcA,8
257
+ junifer-0.0.4.dev781.dist-info/RECORD,,