junifer 0.0.5.dev242__py3-none-any.whl → 0.0.6__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/__init__.py +2 -31
- junifer/__init__.pyi +37 -0
- junifer/_version.py +9 -4
- junifer/api/__init__.py +3 -5
- junifer/api/__init__.pyi +4 -0
- junifer/api/decorators.py +14 -19
- junifer/api/functions.py +165 -109
- junifer/api/py.typed +0 -0
- junifer/api/queue_context/__init__.py +2 -4
- junifer/api/queue_context/__init__.pyi +5 -0
- junifer/api/queue_context/gnu_parallel_local_adapter.py +22 -6
- junifer/api/queue_context/htcondor_adapter.py +23 -6
- junifer/api/queue_context/py.typed +0 -0
- junifer/api/queue_context/tests/test_gnu_parallel_local_adapter.py +3 -3
- junifer/api/queue_context/tests/test_htcondor_adapter.py +3 -3
- junifer/api/tests/test_functions.py +168 -74
- junifer/cli/__init__.py +24 -0
- junifer/cli/__init__.pyi +3 -0
- junifer/{api → cli}/cli.py +141 -125
- junifer/cli/parser.py +235 -0
- junifer/cli/py.typed +0 -0
- junifer/{api → cli}/tests/test_cli.py +8 -8
- junifer/{api/tests/test_api_utils.py → cli/tests/test_cli_utils.py} +5 -4
- junifer/{api → cli}/tests/test_parser.py +2 -2
- junifer/{api → cli}/utils.py +6 -16
- junifer/configs/juseless/__init__.py +2 -2
- junifer/configs/juseless/__init__.pyi +3 -0
- junifer/configs/juseless/datagrabbers/__init__.py +2 -12
- junifer/configs/juseless/datagrabbers/__init__.pyi +13 -0
- junifer/configs/juseless/datagrabbers/ixi_vbm.py +2 -2
- junifer/configs/juseless/datagrabbers/py.typed +0 -0
- junifer/configs/juseless/datagrabbers/tests/test_ucla.py +2 -2
- junifer/configs/juseless/datagrabbers/ucla.py +4 -4
- junifer/configs/juseless/py.typed +0 -0
- junifer/conftest.py +25 -0
- junifer/data/__init__.py +2 -42
- junifer/data/__init__.pyi +29 -0
- junifer/data/_dispatch.py +248 -0
- junifer/data/coordinates/__init__.py +9 -0
- junifer/data/coordinates/__init__.pyi +5 -0
- junifer/data/coordinates/_ants_coordinates_warper.py +104 -0
- junifer/data/coordinates/_coordinates.py +385 -0
- junifer/data/coordinates/_fsl_coordinates_warper.py +81 -0
- junifer/data/{tests → coordinates/tests}/test_coordinates.py +26 -33
- junifer/data/masks/__init__.py +9 -0
- junifer/data/masks/__init__.pyi +6 -0
- junifer/data/masks/_ants_mask_warper.py +177 -0
- junifer/data/masks/_fsl_mask_warper.py +106 -0
- junifer/data/masks/_masks.py +802 -0
- junifer/data/{tests → masks/tests}/test_masks.py +67 -63
- junifer/data/parcellations/__init__.py +9 -0
- junifer/data/parcellations/__init__.pyi +6 -0
- junifer/data/parcellations/_ants_parcellation_warper.py +166 -0
- junifer/data/parcellations/_fsl_parcellation_warper.py +89 -0
- junifer/data/parcellations/_parcellations.py +1388 -0
- junifer/data/{tests → parcellations/tests}/test_parcellations.py +165 -295
- junifer/data/pipeline_data_registry_base.py +76 -0
- junifer/data/py.typed +0 -0
- junifer/data/template_spaces.py +44 -79
- junifer/data/tests/test_data_utils.py +1 -2
- junifer/data/tests/test_template_spaces.py +8 -4
- junifer/data/utils.py +109 -4
- junifer/datagrabber/__init__.py +2 -26
- junifer/datagrabber/__init__.pyi +27 -0
- junifer/datagrabber/aomic/__init__.py +2 -4
- junifer/datagrabber/aomic/__init__.pyi +5 -0
- junifer/datagrabber/aomic/id1000.py +81 -52
- junifer/datagrabber/aomic/piop1.py +83 -55
- junifer/datagrabber/aomic/piop2.py +85 -56
- junifer/datagrabber/aomic/py.typed +0 -0
- junifer/datagrabber/aomic/tests/test_id1000.py +19 -12
- junifer/datagrabber/aomic/tests/test_piop1.py +52 -18
- junifer/datagrabber/aomic/tests/test_piop2.py +50 -17
- junifer/datagrabber/base.py +22 -18
- junifer/datagrabber/datalad_base.py +71 -34
- junifer/datagrabber/dmcc13_benchmark.py +31 -18
- junifer/datagrabber/hcp1200/__init__.py +2 -3
- junifer/datagrabber/hcp1200/__init__.pyi +4 -0
- junifer/datagrabber/hcp1200/datalad_hcp1200.py +3 -3
- junifer/datagrabber/hcp1200/hcp1200.py +26 -15
- junifer/datagrabber/hcp1200/py.typed +0 -0
- junifer/datagrabber/hcp1200/tests/test_hcp1200.py +8 -2
- junifer/datagrabber/multiple.py +14 -9
- junifer/datagrabber/pattern.py +132 -96
- junifer/datagrabber/pattern_validation_mixin.py +206 -94
- junifer/datagrabber/py.typed +0 -0
- junifer/datagrabber/tests/test_datalad_base.py +27 -12
- junifer/datagrabber/tests/test_dmcc13_benchmark.py +28 -11
- junifer/datagrabber/tests/test_multiple.py +48 -2
- junifer/datagrabber/tests/test_pattern_datalad.py +1 -1
- junifer/datagrabber/tests/test_pattern_validation_mixin.py +6 -6
- junifer/datareader/__init__.py +2 -2
- junifer/datareader/__init__.pyi +3 -0
- junifer/datareader/default.py +6 -6
- junifer/datareader/py.typed +0 -0
- junifer/external/nilearn/__init__.py +2 -3
- junifer/external/nilearn/__init__.pyi +4 -0
- junifer/external/nilearn/junifer_connectivity_measure.py +25 -17
- junifer/external/nilearn/junifer_nifti_spheres_masker.py +4 -4
- junifer/external/nilearn/py.typed +0 -0
- junifer/external/nilearn/tests/test_junifer_connectivity_measure.py +17 -16
- junifer/external/nilearn/tests/test_junifer_nifti_spheres_masker.py +2 -3
- junifer/markers/__init__.py +2 -38
- junifer/markers/__init__.pyi +37 -0
- junifer/markers/base.py +11 -14
- junifer/markers/brainprint.py +12 -14
- junifer/markers/complexity/__init__.py +2 -18
- junifer/markers/complexity/__init__.pyi +17 -0
- junifer/markers/complexity/complexity_base.py +9 -11
- junifer/markers/complexity/hurst_exponent.py +7 -7
- junifer/markers/complexity/multiscale_entropy_auc.py +7 -7
- junifer/markers/complexity/perm_entropy.py +7 -7
- junifer/markers/complexity/py.typed +0 -0
- junifer/markers/complexity/range_entropy.py +7 -7
- junifer/markers/complexity/range_entropy_auc.py +7 -7
- junifer/markers/complexity/sample_entropy.py +7 -7
- junifer/markers/complexity/tests/test_complexity_base.py +1 -1
- junifer/markers/complexity/tests/test_hurst_exponent.py +5 -5
- junifer/markers/complexity/tests/test_multiscale_entropy_auc.py +5 -5
- junifer/markers/complexity/tests/test_perm_entropy.py +5 -5
- junifer/markers/complexity/tests/test_range_entropy.py +5 -5
- junifer/markers/complexity/tests/test_range_entropy_auc.py +5 -5
- junifer/markers/complexity/tests/test_sample_entropy.py +5 -5
- junifer/markers/complexity/tests/test_weighted_perm_entropy.py +5 -5
- junifer/markers/complexity/weighted_perm_entropy.py +7 -7
- junifer/markers/ets_rss.py +12 -11
- junifer/markers/falff/__init__.py +2 -3
- junifer/markers/falff/__init__.pyi +4 -0
- junifer/markers/falff/_afni_falff.py +38 -45
- junifer/markers/falff/_junifer_falff.py +16 -19
- junifer/markers/falff/falff_base.py +7 -11
- junifer/markers/falff/falff_parcels.py +9 -9
- junifer/markers/falff/falff_spheres.py +8 -8
- junifer/markers/falff/py.typed +0 -0
- junifer/markers/falff/tests/test_falff_spheres.py +3 -1
- junifer/markers/functional_connectivity/__init__.py +2 -12
- junifer/markers/functional_connectivity/__init__.pyi +13 -0
- junifer/markers/functional_connectivity/crossparcellation_functional_connectivity.py +9 -8
- junifer/markers/functional_connectivity/edge_functional_connectivity_parcels.py +8 -8
- junifer/markers/functional_connectivity/edge_functional_connectivity_spheres.py +7 -7
- junifer/markers/functional_connectivity/functional_connectivity_base.py +13 -12
- junifer/markers/functional_connectivity/functional_connectivity_parcels.py +8 -8
- junifer/markers/functional_connectivity/functional_connectivity_spheres.py +7 -7
- junifer/markers/functional_connectivity/py.typed +0 -0
- junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_parcels.py +1 -2
- junifer/markers/functional_connectivity/tests/test_edge_functional_connectivity_spheres.py +1 -2
- junifer/markers/functional_connectivity/tests/test_functional_connectivity_parcels.py +6 -6
- junifer/markers/functional_connectivity/tests/test_functional_connectivity_spheres.py +5 -5
- junifer/markers/parcel_aggregation.py +22 -17
- junifer/markers/py.typed +0 -0
- junifer/markers/reho/__init__.py +2 -3
- junifer/markers/reho/__init__.pyi +4 -0
- junifer/markers/reho/_afni_reho.py +29 -35
- junifer/markers/reho/_junifer_reho.py +13 -14
- junifer/markers/reho/py.typed +0 -0
- junifer/markers/reho/reho_base.py +7 -11
- junifer/markers/reho/reho_parcels.py +10 -10
- junifer/markers/reho/reho_spheres.py +9 -9
- junifer/markers/sphere_aggregation.py +22 -17
- junifer/markers/temporal_snr/__init__.py +2 -3
- junifer/markers/temporal_snr/__init__.pyi +4 -0
- junifer/markers/temporal_snr/py.typed +0 -0
- junifer/markers/temporal_snr/temporal_snr_base.py +11 -10
- junifer/markers/temporal_snr/temporal_snr_parcels.py +8 -8
- junifer/markers/temporal_snr/temporal_snr_spheres.py +7 -7
- junifer/markers/tests/test_ets_rss.py +3 -3
- junifer/markers/tests/test_parcel_aggregation.py +24 -24
- junifer/markers/tests/test_sphere_aggregation.py +6 -6
- junifer/markers/utils.py +3 -3
- junifer/onthefly/__init__.py +2 -1
- junifer/onthefly/_brainprint.py +138 -0
- junifer/onthefly/read_transform.py +5 -8
- junifer/pipeline/__init__.py +2 -10
- junifer/pipeline/__init__.pyi +13 -0
- junifer/{markers/collection.py → pipeline/marker_collection.py} +8 -14
- junifer/pipeline/pipeline_component_registry.py +294 -0
- junifer/pipeline/pipeline_step_mixin.py +15 -11
- junifer/pipeline/py.typed +0 -0
- junifer/{markers/tests/test_collection.py → pipeline/tests/test_marker_collection.py} +2 -3
- junifer/pipeline/tests/test_pipeline_component_registry.py +200 -0
- junifer/pipeline/tests/test_pipeline_step_mixin.py +36 -37
- junifer/pipeline/tests/test_update_meta_mixin.py +4 -4
- junifer/pipeline/tests/test_workdir_manager.py +43 -0
- junifer/pipeline/update_meta_mixin.py +21 -17
- junifer/pipeline/utils.py +6 -6
- junifer/pipeline/workdir_manager.py +19 -5
- junifer/preprocess/__init__.py +2 -10
- junifer/preprocess/__init__.pyi +11 -0
- junifer/preprocess/base.py +10 -10
- junifer/preprocess/confounds/__init__.py +2 -2
- junifer/preprocess/confounds/__init__.pyi +3 -0
- junifer/preprocess/confounds/fmriprep_confound_remover.py +243 -64
- junifer/preprocess/confounds/py.typed +0 -0
- junifer/preprocess/confounds/tests/test_fmriprep_confound_remover.py +121 -14
- junifer/preprocess/py.typed +0 -0
- junifer/preprocess/smoothing/__init__.py +2 -2
- junifer/preprocess/smoothing/__init__.pyi +3 -0
- junifer/preprocess/smoothing/_afni_smoothing.py +40 -40
- junifer/preprocess/smoothing/_fsl_smoothing.py +22 -32
- junifer/preprocess/smoothing/_nilearn_smoothing.py +35 -14
- junifer/preprocess/smoothing/py.typed +0 -0
- junifer/preprocess/smoothing/smoothing.py +11 -13
- junifer/preprocess/warping/__init__.py +2 -2
- junifer/preprocess/warping/__init__.pyi +3 -0
- junifer/preprocess/warping/_ants_warper.py +136 -32
- junifer/preprocess/warping/_fsl_warper.py +73 -22
- junifer/preprocess/warping/py.typed +0 -0
- junifer/preprocess/warping/space_warper.py +39 -11
- junifer/preprocess/warping/tests/test_space_warper.py +5 -9
- junifer/py.typed +0 -0
- junifer/stats.py +5 -5
- junifer/storage/__init__.py +2 -10
- junifer/storage/__init__.pyi +11 -0
- junifer/storage/base.py +47 -13
- junifer/storage/hdf5.py +95 -33
- junifer/storage/pandas_base.py +12 -11
- junifer/storage/py.typed +0 -0
- junifer/storage/sqlite.py +11 -11
- junifer/storage/tests/test_hdf5.py +86 -4
- junifer/storage/tests/test_sqlite.py +2 -2
- junifer/storage/tests/test_storage_base.py +5 -2
- junifer/storage/tests/test_utils.py +33 -7
- junifer/storage/utils.py +95 -9
- junifer/testing/__init__.py +2 -3
- junifer/testing/__init__.pyi +4 -0
- junifer/testing/datagrabbers.py +10 -11
- junifer/testing/py.typed +0 -0
- junifer/testing/registry.py +4 -7
- junifer/testing/tests/test_testing_registry.py +9 -17
- junifer/tests/test_stats.py +2 -2
- junifer/typing/__init__.py +9 -0
- junifer/typing/__init__.pyi +31 -0
- junifer/typing/_typing.py +68 -0
- junifer/utils/__init__.py +2 -12
- junifer/utils/__init__.pyi +18 -0
- junifer/utils/_config.py +110 -0
- junifer/utils/_yaml.py +16 -0
- junifer/utils/helpers.py +6 -6
- junifer/utils/logging.py +117 -8
- junifer/utils/py.typed +0 -0
- junifer/{pipeline → utils}/singleton.py +19 -14
- junifer/utils/tests/test_config.py +59 -0
- {junifer-0.0.5.dev242.dist-info → junifer-0.0.6.dist-info}/METADATA +43 -38
- junifer-0.0.6.dist-info/RECORD +350 -0
- {junifer-0.0.5.dev242.dist-info → junifer-0.0.6.dist-info}/WHEEL +1 -1
- junifer-0.0.6.dist-info/entry_points.txt +2 -0
- junifer/api/parser.py +0 -118
- junifer/data/coordinates.py +0 -408
- junifer/data/masks.py +0 -670
- junifer/data/parcellations.py +0 -1828
- junifer/pipeline/registry.py +0 -177
- junifer/pipeline/tests/test_registry.py +0 -150
- junifer-0.0.5.dev242.dist-info/RECORD +0 -275
- junifer-0.0.5.dev242.dist-info/entry_points.txt +0 -2
- /junifer/{api → cli}/tests/data/gmd_mean.yaml +0 -0
- /junifer/{api → cli}/tests/data/gmd_mean_htcondor.yaml +0 -0
- /junifer/{api → cli}/tests/data/partly_cloudy_agg_mean_tian.yml +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/AutobiographicalMemory_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/CogAC_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/CogAR_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/DMNBuckner_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Dosenbach2010_MNI_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Empathy_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Motor_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/MultiTask_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/PhysioStress_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Power2011_MNI_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Power2013_MNI_VOIs.tsv +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Rew_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/Somatosensory_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/ToM_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/VigAtt_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/WM_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/eMDN_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/eSAD_VOIs.txt +0 -0
- /junifer/data/{VOIs → coordinates/VOIs}/meta/extDMN_VOIs.txt +0 -0
- {junifer-0.0.5.dev242.dist-info → junifer-0.0.6.dist-info/licenses}/AUTHORS.rst +0 -0
- {junifer-0.0.5.dev242.dist-info → junifer-0.0.6.dist-info/licenses}/LICENSE.md +0 -0
- {junifer-0.0.5.dev242.dist-info → junifer-0.0.6.dist-info}/top_level.txt +0 -0
junifer/markers/brainprint.py
CHANGED
@@ -8,10 +8,7 @@ from pathlib import Path
|
|
8
8
|
from typing import (
|
9
9
|
Any,
|
10
10
|
ClassVar,
|
11
|
-
Dict,
|
12
|
-
List,
|
13
11
|
Optional,
|
14
|
-
Set,
|
15
12
|
Union,
|
16
13
|
)
|
17
14
|
|
@@ -25,6 +22,7 @@ from ..external.BrainPrint.brainprint.brainprint import (
|
|
25
22
|
)
|
26
23
|
from ..external.BrainPrint.brainprint.surfaces import surf_to_vtk
|
27
24
|
from ..pipeline import WorkDirManager
|
25
|
+
from ..typing import Dependencies, ExternalDependencies, MarkerInOutMappings
|
28
26
|
from ..utils import logger, run_ext_cmd
|
29
27
|
from .base import BaseMarker
|
30
28
|
|
@@ -68,7 +66,7 @@ class BrainPrint(BaseMarker):
|
|
68
66
|
|
69
67
|
"""
|
70
68
|
|
71
|
-
_EXT_DEPENDENCIES: ClassVar[
|
69
|
+
_EXT_DEPENDENCIES: ClassVar[ExternalDependencies] = [
|
72
70
|
{
|
73
71
|
"name": "freesurfer",
|
74
72
|
"commands": [
|
@@ -80,9 +78,9 @@ class BrainPrint(BaseMarker):
|
|
80
78
|
},
|
81
79
|
]
|
82
80
|
|
83
|
-
_DEPENDENCIES: ClassVar[
|
81
|
+
_DEPENDENCIES: ClassVar[Dependencies] = {"lapy", "numpy"}
|
84
82
|
|
85
|
-
_MARKER_INOUT_MAPPINGS: ClassVar[
|
83
|
+
_MARKER_INOUT_MAPPINGS: ClassVar[MarkerInOutMappings] = {
|
86
84
|
"FreeSurfer": {
|
87
85
|
"eigenvalues": "scalar_table",
|
88
86
|
"areas": "vector",
|
@@ -117,7 +115,7 @@ class BrainPrint(BaseMarker):
|
|
117
115
|
self,
|
118
116
|
aseg_path: Path,
|
119
117
|
norm_path: Path,
|
120
|
-
indices:
|
118
|
+
indices: list,
|
121
119
|
) -> Path:
|
122
120
|
"""Generate a surface from the aseg and label files.
|
123
121
|
|
@@ -143,7 +141,7 @@ class BrainPrint(BaseMarker):
|
|
143
141
|
mri_binarize_cmd = [
|
144
142
|
"mri_binarize",
|
145
143
|
f"--i {aseg_path.resolve()}",
|
146
|
-
f"--match {''.join(indices)}",
|
144
|
+
f"--match {' '.join(indices)}",
|
147
145
|
f"--o {mri_binarize_output_path.resolve()}",
|
148
146
|
]
|
149
147
|
# Call mri_binarize command
|
@@ -193,7 +191,7 @@ class BrainPrint(BaseMarker):
|
|
193
191
|
self,
|
194
192
|
aseg_path: Path,
|
195
193
|
norm_path: Path,
|
196
|
-
) ->
|
194
|
+
) -> dict[str, Path]:
|
197
195
|
"""Create surfaces from FreeSurfer aseg labels.
|
198
196
|
|
199
197
|
Parameters
|
@@ -268,7 +266,7 @@ class BrainPrint(BaseMarker):
|
|
268
266
|
rh_white_path: Path,
|
269
267
|
lh_pial_path: Path,
|
270
268
|
rh_pial_path: Path,
|
271
|
-
) ->
|
269
|
+
) -> dict[str, Path]:
|
272
270
|
"""Create cortical surfaces from FreeSurfer labels.
|
273
271
|
|
274
272
|
Parameters
|
@@ -309,7 +307,7 @@ class BrainPrint(BaseMarker):
|
|
309
307
|
|
310
308
|
def _fix_nan(
|
311
309
|
self,
|
312
|
-
input_data:
|
310
|
+
input_data: list[Union[float, str, npt.ArrayLike]],
|
313
311
|
) -> np.ndarray:
|
314
312
|
"""Convert BrainPrint output with string NaN to ``numpy.nan``.
|
315
313
|
|
@@ -330,9 +328,9 @@ class BrainPrint(BaseMarker):
|
|
330
328
|
|
331
329
|
def compute(
|
332
330
|
self,
|
333
|
-
input:
|
334
|
-
extra_input: Optional[
|
335
|
-
) ->
|
331
|
+
input: dict[str, Any],
|
332
|
+
extra_input: Optional[dict] = None,
|
333
|
+
) -> dict:
|
336
334
|
"""Compute.
|
337
335
|
|
338
336
|
Parameters
|
@@ -4,7 +4,6 @@
|
|
4
4
|
# Synchon Mandal <s.mandal@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
|
8
7
|
from importlib.util import find_spec
|
9
8
|
|
10
9
|
from ..utils import raise_error
|
@@ -17,21 +16,6 @@ if find_spec("neurokit2") is None:
|
|
17
16
|
klass=ImportError,
|
18
17
|
)
|
19
18
|
else:
|
20
|
-
|
21
|
-
from .hurst_exponent import HurstExponent
|
22
|
-
from .range_entropy import RangeEntropy
|
23
|
-
from .range_entropy_auc import RangeEntropyAUC
|
24
|
-
from .perm_entropy import PermEntropy
|
25
|
-
from .weighted_perm_entropy import WeightedPermEntropy
|
26
|
-
from .sample_entropy import SampleEntropy
|
27
|
-
from .multiscale_entropy_auc import MultiscaleEntropyAUC
|
19
|
+
import lazy_loader as lazy
|
28
20
|
|
29
|
-
__all__ =
|
30
|
-
"HurstExponent",
|
31
|
-
"RangeEntropy",
|
32
|
-
"RangeEntropyAUC",
|
33
|
-
"PermEntropy",
|
34
|
-
"WeightedPermEntropy",
|
35
|
-
"SampleEntropy",
|
36
|
-
"MultiscaleEntropyAUC",
|
37
|
-
]
|
21
|
+
__getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
__all__ = [
|
2
|
+
"HurstExponent",
|
3
|
+
"RangeEntropy",
|
4
|
+
"RangeEntropyAUC",
|
5
|
+
"PermEntropy",
|
6
|
+
"WeightedPermEntropy",
|
7
|
+
"SampleEntropy",
|
8
|
+
"MultiscaleEntropyAUC",
|
9
|
+
]
|
10
|
+
|
11
|
+
from .hurst_exponent import HurstExponent
|
12
|
+
from .range_entropy import RangeEntropy
|
13
|
+
from .range_entropy_auc import RangeEntropyAUC
|
14
|
+
from .perm_entropy import PermEntropy
|
15
|
+
from .weighted_perm_entropy import WeightedPermEntropy
|
16
|
+
from .sample_entropy import SampleEntropy
|
17
|
+
from .multiscale_entropy_auc import MultiscaleEntropyAUC
|
@@ -8,13 +8,11 @@ from typing import (
|
|
8
8
|
TYPE_CHECKING,
|
9
9
|
Any,
|
10
10
|
ClassVar,
|
11
|
-
Dict,
|
12
|
-
List,
|
13
11
|
Optional,
|
14
|
-
Set,
|
15
12
|
Union,
|
16
13
|
)
|
17
14
|
|
15
|
+
from ...typing import Dependencies, MarkerInOutMappings
|
18
16
|
from ...utils import raise_error
|
19
17
|
from ..base import BaseMarker
|
20
18
|
from ..parcel_aggregation import ParcelAggregation
|
@@ -51,9 +49,9 @@ class ComplexityBase(BaseMarker):
|
|
51
49
|
|
52
50
|
"""
|
53
51
|
|
54
|
-
_DEPENDENCIES: ClassVar[
|
52
|
+
_DEPENDENCIES: ClassVar[Dependencies] = {"nilearn", "neurokit2"}
|
55
53
|
|
56
|
-
_MARKER_INOUT_MAPPINGS: ClassVar[
|
54
|
+
_MARKER_INOUT_MAPPINGS: ClassVar[MarkerInOutMappings] = {
|
57
55
|
"BOLD": {
|
58
56
|
"complexity": "vector",
|
59
57
|
},
|
@@ -61,10 +59,10 @@ class ComplexityBase(BaseMarker):
|
|
61
59
|
|
62
60
|
def __init__(
|
63
61
|
self,
|
64
|
-
parcellation: Union[str,
|
62
|
+
parcellation: Union[str, list[str]],
|
65
63
|
agg_method: str = "mean",
|
66
|
-
agg_method_params: Optional[
|
67
|
-
masks: Union[str,
|
64
|
+
agg_method_params: Optional[dict] = None,
|
65
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
68
66
|
name: Optional[str] = None,
|
69
67
|
) -> None:
|
70
68
|
self.parcellation = parcellation
|
@@ -86,9 +84,9 @@ class ComplexityBase(BaseMarker):
|
|
86
84
|
|
87
85
|
def compute(
|
88
86
|
self,
|
89
|
-
input:
|
90
|
-
extra_input: Optional[
|
91
|
-
) ->
|
87
|
+
input: dict[str, Any],
|
88
|
+
extra_input: Optional[dict[str, Any]] = None,
|
89
|
+
) -> dict[str, Any]:
|
92
90
|
"""Compute.
|
93
91
|
|
94
92
|
Parameters
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class HurstExponent(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -55,11 +55,11 @@ class HurstExponent(ComplexityBase):
|
|
55
55
|
|
56
56
|
def __init__(
|
57
57
|
self,
|
58
|
-
parcellation: Union[str,
|
58
|
+
parcellation: Union[str, list[str]],
|
59
59
|
agg_method: str = "mean",
|
60
|
-
agg_method_params: Optional[
|
61
|
-
masks: Union[str,
|
62
|
-
params: Optional[
|
60
|
+
agg_method_params: Optional[dict] = None,
|
61
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
62
|
+
params: Optional[dict] = None,
|
63
63
|
name: Optional[str] = None,
|
64
64
|
) -> None:
|
65
65
|
super().__init__(
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class MultiscaleEntropyAUC(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -56,11 +56,11 @@ class MultiscaleEntropyAUC(ComplexityBase):
|
|
56
56
|
|
57
57
|
def __init__(
|
58
58
|
self,
|
59
|
-
parcellation: Union[str,
|
59
|
+
parcellation: Union[str, list[str]],
|
60
60
|
agg_method: str = "mean",
|
61
|
-
agg_method_params: Optional[
|
62
|
-
masks: Union[str,
|
63
|
-
params: Optional[
|
61
|
+
agg_method_params: Optional[dict] = None,
|
62
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
63
|
+
params: Optional[dict] = None,
|
64
64
|
name: Optional[str] = None,
|
65
65
|
) -> None:
|
66
66
|
super().__init__(
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class PermEntropy(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -56,11 +56,11 @@ class PermEntropy(ComplexityBase):
|
|
56
56
|
|
57
57
|
def __init__(
|
58
58
|
self,
|
59
|
-
parcellation: Union[str,
|
59
|
+
parcellation: Union[str, list[str]],
|
60
60
|
agg_method: str = "mean",
|
61
|
-
agg_method_params: Optional[
|
62
|
-
masks: Union[str,
|
63
|
-
params: Optional[
|
61
|
+
agg_method_params: Optional[dict] = None,
|
62
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
63
|
+
params: Optional[dict] = None,
|
64
64
|
name: Optional[str] = None,
|
65
65
|
) -> None:
|
66
66
|
super().__init__(
|
File without changes
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class RangeEntropy(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -56,11 +56,11 @@ class RangeEntropy(ComplexityBase):
|
|
56
56
|
|
57
57
|
def __init__(
|
58
58
|
self,
|
59
|
-
parcellation: Union[str,
|
59
|
+
parcellation: Union[str, list[str]],
|
60
60
|
agg_method: str = "mean",
|
61
|
-
agg_method_params: Optional[
|
62
|
-
masks: Union[str,
|
63
|
-
params: Optional[
|
61
|
+
agg_method_params: Optional[dict] = None,
|
62
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
63
|
+
params: Optional[dict] = None,
|
64
64
|
name: Optional[str] = None,
|
65
65
|
) -> None:
|
66
66
|
super().__init__(
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class RangeEntropyAUC(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -56,11 +56,11 @@ class RangeEntropyAUC(ComplexityBase):
|
|
56
56
|
|
57
57
|
def __init__(
|
58
58
|
self,
|
59
|
-
parcellation: Union[str,
|
59
|
+
parcellation: Union[str, list[str]],
|
60
60
|
agg_method: str = "mean",
|
61
|
-
agg_method_params: Optional[
|
62
|
-
masks: Union[str,
|
63
|
-
params: Optional[
|
61
|
+
agg_method_params: Optional[dict] = None,
|
62
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
63
|
+
params: Optional[dict] = None,
|
64
64
|
name: Optional[str] = None,
|
65
65
|
) -> None:
|
66
66
|
super().__init__(
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class SampleEntropy(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -57,11 +57,11 @@ class SampleEntropy(ComplexityBase):
|
|
57
57
|
|
58
58
|
def __init__(
|
59
59
|
self,
|
60
|
-
parcellation: Union[str,
|
60
|
+
parcellation: Union[str, list[str]],
|
61
61
|
agg_method: str = "mean",
|
62
|
-
agg_method_params: Optional[
|
63
|
-
masks: Union[str,
|
64
|
-
params: Optional[
|
62
|
+
agg_method_params: Optional[dict] = None,
|
63
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
64
|
+
params: Optional[dict] = None,
|
65
65
|
name: Optional[str] = None,
|
66
66
|
) -> None:
|
67
67
|
super().__init__(
|
@@ -12,11 +12,11 @@ import pytest
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
14
|
|
15
|
-
from junifer.datareader import DefaultDataReader
|
16
|
-
from junifer.markers.complexity import HurstExponent
|
17
|
-
from junifer.pipeline.utils import _check_ants
|
18
|
-
from junifer.storage import SQLiteFeatureStorage
|
19
|
-
from junifer.testing.datagrabbers import (
|
15
|
+
from junifer.datareader import DefaultDataReader
|
16
|
+
from junifer.markers.complexity import HurstExponent
|
17
|
+
from junifer.pipeline.utils import _check_ants
|
18
|
+
from junifer.storage import SQLiteFeatureStorage
|
19
|
+
from junifer.testing.datagrabbers import (
|
20
20
|
SPMAuditoryTestingDataGrabber,
|
21
21
|
)
|
22
22
|
|
@@ -11,11 +11,11 @@ import pytest
|
|
11
11
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
|
-
from junifer.datareader import DefaultDataReader
|
15
|
-
from junifer.markers.complexity import MultiscaleEntropyAUC
|
16
|
-
from junifer.pipeline.utils import _check_ants
|
17
|
-
from junifer.storage import SQLiteFeatureStorage
|
18
|
-
from junifer.testing.datagrabbers import (
|
14
|
+
from junifer.datareader import DefaultDataReader
|
15
|
+
from junifer.markers.complexity import MultiscaleEntropyAUC
|
16
|
+
from junifer.pipeline.utils import _check_ants
|
17
|
+
from junifer.storage import SQLiteFeatureStorage
|
18
|
+
from junifer.testing.datagrabbers import (
|
19
19
|
SPMAuditoryTestingDataGrabber,
|
20
20
|
)
|
21
21
|
|
@@ -11,11 +11,11 @@ import pytest
|
|
11
11
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
|
-
from junifer.datareader import DefaultDataReader
|
15
|
-
from junifer.markers.complexity import PermEntropy
|
16
|
-
from junifer.pipeline.utils import _check_ants
|
17
|
-
from junifer.storage import SQLiteFeatureStorage
|
18
|
-
from junifer.testing.datagrabbers import (
|
14
|
+
from junifer.datareader import DefaultDataReader
|
15
|
+
from junifer.markers.complexity import PermEntropy
|
16
|
+
from junifer.pipeline.utils import _check_ants
|
17
|
+
from junifer.storage import SQLiteFeatureStorage
|
18
|
+
from junifer.testing.datagrabbers import (
|
19
19
|
SPMAuditoryTestingDataGrabber,
|
20
20
|
)
|
21
21
|
|
@@ -12,11 +12,11 @@ import pytest
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
14
|
|
15
|
-
from junifer.datareader import DefaultDataReader
|
16
|
-
from junifer.markers.complexity import RangeEntropy
|
17
|
-
from junifer.pipeline.utils import _check_ants
|
18
|
-
from junifer.storage import SQLiteFeatureStorage
|
19
|
-
from junifer.testing.datagrabbers import (
|
15
|
+
from junifer.datareader import DefaultDataReader
|
16
|
+
from junifer.markers.complexity import RangeEntropy
|
17
|
+
from junifer.pipeline.utils import _check_ants
|
18
|
+
from junifer.storage import SQLiteFeatureStorage
|
19
|
+
from junifer.testing.datagrabbers import (
|
20
20
|
SPMAuditoryTestingDataGrabber,
|
21
21
|
)
|
22
22
|
|
@@ -12,11 +12,11 @@ import pytest
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
14
|
|
15
|
-
from junifer.datareader import DefaultDataReader
|
16
|
-
from junifer.markers.complexity import RangeEntropyAUC
|
17
|
-
from junifer.pipeline.utils import _check_ants
|
18
|
-
from junifer.storage import SQLiteFeatureStorage
|
19
|
-
from junifer.testing.datagrabbers import (
|
15
|
+
from junifer.datareader import DefaultDataReader
|
16
|
+
from junifer.markers.complexity import RangeEntropyAUC
|
17
|
+
from junifer.pipeline.utils import _check_ants
|
18
|
+
from junifer.storage import SQLiteFeatureStorage
|
19
|
+
from junifer.testing.datagrabbers import (
|
20
20
|
SPMAuditoryTestingDataGrabber,
|
21
21
|
)
|
22
22
|
|
@@ -11,11 +11,11 @@ import pytest
|
|
11
11
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
|
-
from junifer.datareader import DefaultDataReader
|
15
|
-
from junifer.markers.complexity import SampleEntropy
|
16
|
-
from junifer.pipeline.utils import _check_ants
|
17
|
-
from junifer.storage import SQLiteFeatureStorage
|
18
|
-
from junifer.testing.datagrabbers import (
|
14
|
+
from junifer.datareader import DefaultDataReader
|
15
|
+
from junifer.markers.complexity import SampleEntropy
|
16
|
+
from junifer.pipeline.utils import _check_ants
|
17
|
+
from junifer.storage import SQLiteFeatureStorage
|
18
|
+
from junifer.testing.datagrabbers import (
|
19
19
|
SPMAuditoryTestingDataGrabber,
|
20
20
|
)
|
21
21
|
|
@@ -11,11 +11,11 @@ import pytest
|
|
11
11
|
|
12
12
|
pytest.importorskip("neurokit2")
|
13
13
|
|
14
|
-
from junifer.datareader import DefaultDataReader
|
15
|
-
from junifer.markers.complexity import WeightedPermEntropy
|
16
|
-
from junifer.pipeline.utils import _check_ants
|
17
|
-
from junifer.storage import SQLiteFeatureStorage
|
18
|
-
from junifer.testing.datagrabbers import (
|
14
|
+
from junifer.datareader import DefaultDataReader
|
15
|
+
from junifer.markers.complexity import WeightedPermEntropy
|
16
|
+
from junifer.pipeline.utils import _check_ants
|
17
|
+
from junifer.storage import SQLiteFeatureStorage
|
18
|
+
from junifer.testing.datagrabbers import (
|
19
19
|
SPMAuditoryTestingDataGrabber,
|
20
20
|
)
|
21
21
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Leonard Sasse <l.sasse@fz-juelich.de>
|
5
5
|
# License: AGPL
|
6
6
|
|
7
|
-
from typing import
|
7
|
+
from typing import Optional, Union
|
8
8
|
|
9
9
|
import neurokit2 as nk
|
10
10
|
import numpy as np
|
@@ -24,8 +24,8 @@ class WeightedPermEntropy(ComplexityBase):
|
|
24
24
|
Parameters
|
25
25
|
----------
|
26
26
|
parcellation : str or list of str
|
27
|
-
The name(s) of the parcellation(s)
|
28
|
-
:func
|
27
|
+
The name(s) of the parcellation(s) to use.
|
28
|
+
See :func:`.list_data` for options.
|
29
29
|
agg_method : str, optional
|
30
30
|
The method to perform aggregation using. Check valid options in
|
31
31
|
:func:`junifer.stats.get_aggfunc_by_name` (default "mean").
|
@@ -57,11 +57,11 @@ class WeightedPermEntropy(ComplexityBase):
|
|
57
57
|
|
58
58
|
def __init__(
|
59
59
|
self,
|
60
|
-
parcellation: Union[str,
|
60
|
+
parcellation: Union[str, list[str]],
|
61
61
|
agg_method: str = "mean",
|
62
|
-
agg_method_params: Optional[
|
63
|
-
masks: Union[str,
|
64
|
-
params: Optional[
|
62
|
+
agg_method_params: Optional[dict] = None,
|
63
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
64
|
+
params: Optional[dict] = None,
|
65
65
|
name: Optional[str] = None,
|
66
66
|
) -> None:
|
67
67
|
super().__init__(
|
junifer/markers/ets_rss.py
CHANGED
@@ -6,11 +6,12 @@
|
|
6
6
|
# Synchon Mandal <s.mandal@fz-juelich.de>
|
7
7
|
# License: AGPL
|
8
8
|
|
9
|
-
from typing import Any, ClassVar,
|
9
|
+
from typing import Any, ClassVar, Optional, Union
|
10
10
|
|
11
11
|
import numpy as np
|
12
12
|
|
13
13
|
from ..api.decorators import register_marker
|
14
|
+
from ..typing import Dependencies, MarkerInOutMappings
|
14
15
|
from ..utils import logger
|
15
16
|
from .base import BaseMarker
|
16
17
|
from .parcel_aggregation import ParcelAggregation
|
@@ -27,8 +28,8 @@ class RSSETSMarker(BaseMarker):
|
|
27
28
|
Parameters
|
28
29
|
----------
|
29
30
|
parcellation : str or list of str
|
30
|
-
The name(s) of the parcellation(s)
|
31
|
-
:func:`.
|
31
|
+
The name(s) of the parcellation(s) to use.
|
32
|
+
See :func:`.list_data` for options.
|
32
33
|
agg_method : str, optional
|
33
34
|
The method to perform aggregation using. Check valid options in
|
34
35
|
:func:`.get_aggfunc_by_name` (default "mean").
|
@@ -45,9 +46,9 @@ class RSSETSMarker(BaseMarker):
|
|
45
46
|
|
46
47
|
"""
|
47
48
|
|
48
|
-
_DEPENDENCIES: ClassVar[
|
49
|
+
_DEPENDENCIES: ClassVar[Dependencies] = {"nilearn"}
|
49
50
|
|
50
|
-
_MARKER_INOUT_MAPPINGS: ClassVar[
|
51
|
+
_MARKER_INOUT_MAPPINGS: ClassVar[MarkerInOutMappings] = {
|
51
52
|
"BOLD": {
|
52
53
|
"rss_ets": "timeseries",
|
53
54
|
},
|
@@ -55,10 +56,10 @@ class RSSETSMarker(BaseMarker):
|
|
55
56
|
|
56
57
|
def __init__(
|
57
58
|
self,
|
58
|
-
parcellation: Union[str,
|
59
|
+
parcellation: Union[str, list[str]],
|
59
60
|
agg_method: str = "mean",
|
60
|
-
agg_method_params: Optional[
|
61
|
-
masks: Union[str,
|
61
|
+
agg_method_params: Optional[dict] = None,
|
62
|
+
masks: Union[str, dict, list[Union[dict, str]], None] = None,
|
62
63
|
name: Optional[str] = None,
|
63
64
|
) -> None:
|
64
65
|
self.parcellation = parcellation
|
@@ -69,9 +70,9 @@ class RSSETSMarker(BaseMarker):
|
|
69
70
|
|
70
71
|
def compute(
|
71
72
|
self,
|
72
|
-
input:
|
73
|
-
extra_input: Optional[
|
74
|
-
) ->
|
73
|
+
input: dict[str, Any],
|
74
|
+
extra_input: Optional[dict] = None,
|
75
|
+
) -> dict:
|
75
76
|
"""Compute.
|
76
77
|
|
77
78
|
Take a timeseries of brain areas, and calculate timeseries for each
|
@@ -3,8 +3,7 @@
|
|
3
3
|
# Authors: Federico Raimondo <f.raimondo@fz-juelich.de>
|
4
4
|
# License: AGPL
|
5
5
|
|
6
|
-
|
7
|
-
from .falff_spheres import ALFFSpheres
|
6
|
+
import lazy_loader as lazy
|
8
7
|
|
9
8
|
|
10
|
-
__all__ =
|
9
|
+
__getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
|