py-neuromodulation 0.0.5__py3-none-any.whl → 0.0.7__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.
- py_neuromodulation/__init__.py +16 -10
- py_neuromodulation/{nm_RMAP.py → analysis/RMAP.py} +2 -2
- py_neuromodulation/analysis/__init__.py +4 -0
- py_neuromodulation/{nm_decode.py → analysis/decode.py} +4 -4
- py_neuromodulation/{nm_analysis.py → analysis/feature_reader.py} +21 -20
- py_neuromodulation/{nm_plots.py → analysis/plots.py} +54 -12
- py_neuromodulation/{nm_stats.py → analysis/stats.py} +2 -8
- py_neuromodulation/{nm_settings.yaml → default_settings.yaml} +7 -9
- py_neuromodulation/features/__init__.py +31 -0
- py_neuromodulation/features/bandpower.py +165 -0
- py_neuromodulation/{nm_bispectra.py → features/bispectra.py} +11 -12
- py_neuromodulation/{nm_bursts.py → features/bursts.py} +14 -9
- py_neuromodulation/{nm_coherence.py → features/coherence.py} +28 -19
- py_neuromodulation/{nm_features.py → features/feature_processor.py} +30 -53
- py_neuromodulation/{nm_fooof.py → features/fooof.py} +11 -8
- py_neuromodulation/{nm_hjorth_raw.py → features/hjorth_raw.py} +10 -5
- py_neuromodulation/{nm_linelength.py → features/linelength.py} +1 -1
- py_neuromodulation/{nm_mne_connectivity.py → features/mne_connectivity.py} +5 -6
- py_neuromodulation/{nm_nolds.py → features/nolds.py} +5 -7
- py_neuromodulation/{nm_oscillatory.py → features/oscillatory.py} +7 -181
- py_neuromodulation/{nm_sharpwaves.py → features/sharpwaves.py} +13 -4
- py_neuromodulation/filter/__init__.py +3 -0
- py_neuromodulation/{nm_kalmanfilter.py → filter/kalman_filter.py} +67 -71
- py_neuromodulation/filter/kalman_filter_external.py +1890 -0
- py_neuromodulation/{nm_filter.py → filter/mne_filter.py} +128 -219
- py_neuromodulation/filter/notch_filter.py +93 -0
- py_neuromodulation/processing/__init__.py +10 -0
- py_neuromodulation/{nm_artifacts.py → processing/artifacts.py} +2 -3
- py_neuromodulation/{nm_preprocessing.py → processing/data_preprocessor.py} +19 -25
- py_neuromodulation/{nm_filter_preprocessing.py → processing/filter_preprocessing.py} +3 -4
- py_neuromodulation/{nm_normalization.py → processing/normalization.py} +9 -7
- py_neuromodulation/{nm_projection.py → processing/projection.py} +14 -14
- py_neuromodulation/{nm_rereference.py → processing/rereference.py} +13 -13
- py_neuromodulation/{nm_resample.py → processing/resample.py} +1 -4
- py_neuromodulation/stream/__init__.py +3 -0
- py_neuromodulation/{nm_run_analysis.py → stream/data_processor.py} +42 -42
- py_neuromodulation/stream/generator.py +53 -0
- py_neuromodulation/{nm_mnelsl_generator.py → stream/mnelsl_player.py} +10 -6
- py_neuromodulation/{nm_mnelsl_stream.py → stream/mnelsl_stream.py} +13 -9
- py_neuromodulation/{nm_settings.py → stream/settings.py} +27 -24
- py_neuromodulation/{nm_stream.py → stream/stream.py} +217 -188
- py_neuromodulation/utils/__init__.py +2 -0
- py_neuromodulation/{nm_define_nmchannels.py → utils/channels.py} +14 -9
- py_neuromodulation/{nm_database.py → utils/database.py} +2 -2
- py_neuromodulation/{nm_IO.py → utils/io.py} +42 -77
- py_neuromodulation/utils/keyboard.py +52 -0
- py_neuromodulation/{nm_logger.py → utils/logging.py} +3 -3
- py_neuromodulation/{nm_types.py → utils/types.py} +72 -14
- {py_neuromodulation-0.0.5.dist-info → py_neuromodulation-0.0.7.dist-info}/METADATA +12 -29
- py_neuromodulation-0.0.7.dist-info/RECORD +89 -0
- py_neuromodulation/FieldTrip.py +0 -589
- py_neuromodulation/_write_example_dataset_helper.py +0 -83
- py_neuromodulation/nm_generator.py +0 -45
- py_neuromodulation/nm_stream_abc.py +0 -166
- py_neuromodulation-0.0.5.dist-info/RECORD +0 -83
- {py_neuromodulation-0.0.5.dist-info → py_neuromodulation-0.0.7.dist-info}/WHEEL +0 -0
- {py_neuromodulation-0.0.5.dist-info → py_neuromodulation-0.0.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
from collections.abc import Iterator
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
import numpy as np
|
|
4
|
-
|
|
5
|
-
if TYPE_CHECKING:
|
|
6
|
-
from py_neuromodulation.nm_settings import NMSettings
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def raw_data_generator(
|
|
10
|
-
data: np.ndarray,
|
|
11
|
-
settings: "NMSettings",
|
|
12
|
-
sfreq: float,
|
|
13
|
-
) -> Iterator[tuple[np.ndarray, np.ndarray]]:
|
|
14
|
-
"""
|
|
15
|
-
This generator function mimics online data acquisition.
|
|
16
|
-
The data are iteratively sampled with settings.sampling_rate_features_hz
|
|
17
|
-
|
|
18
|
-
Arguments
|
|
19
|
-
---------
|
|
20
|
-
data (np array): shape (channels, time)
|
|
21
|
-
settings (nm_settings.NMSettings): settings object
|
|
22
|
-
sfreq (float): sampling frequency of the data
|
|
23
|
-
|
|
24
|
-
Returns
|
|
25
|
-
-------
|
|
26
|
-
np.array: 1D array of time stamps
|
|
27
|
-
np.array: new batch for run function of full segment length shape
|
|
28
|
-
"""
|
|
29
|
-
sfreq_new = settings.sampling_rate_features_hz
|
|
30
|
-
offset_time = settings.segment_length_features_ms
|
|
31
|
-
offset_start = offset_time / 1000 * sfreq
|
|
32
|
-
|
|
33
|
-
ratio_samples_features = sfreq / sfreq_new
|
|
34
|
-
|
|
35
|
-
ratio_counter = 0
|
|
36
|
-
for cnt in range(
|
|
37
|
-
data.shape[1] + 1
|
|
38
|
-
): # shape + 1 guarantees that the last sample is also included
|
|
39
|
-
if (cnt - offset_start) >= ratio_samples_features * ratio_counter:
|
|
40
|
-
ratio_counter += 1
|
|
41
|
-
|
|
42
|
-
yield (
|
|
43
|
-
np.arange(cnt - offset_start, cnt) / sfreq,
|
|
44
|
-
data[:, np.floor(cnt - offset_start).astype(int) : cnt],
|
|
45
|
-
)
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"""Module that contains NMStream ABC."""
|
|
2
|
-
|
|
3
|
-
from abc import ABC, abstractmethod
|
|
4
|
-
|
|
5
|
-
import pandas as pd
|
|
6
|
-
|
|
7
|
-
from py_neuromodulation.nm_run_analysis import DataProcessor
|
|
8
|
-
from py_neuromodulation.nm_settings import NMSettings
|
|
9
|
-
from py_neuromodulation.nm_types import _PathLike, FeatureName
|
|
10
|
-
from py_neuromodulation import nm_IO, PYNM_DIR
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class NMStream(ABC):
|
|
14
|
-
def __init__(
|
|
15
|
-
self,
|
|
16
|
-
sfreq: float,
|
|
17
|
-
nm_channels: pd.DataFrame | _PathLike,
|
|
18
|
-
settings: "NMSettings | _PathLike | None" = None,
|
|
19
|
-
line_noise: float | None = 50,
|
|
20
|
-
sampling_rate_features_hz: float | None = None,
|
|
21
|
-
path_grids: _PathLike | None = None,
|
|
22
|
-
coord_names: list | None = None,
|
|
23
|
-
stream_name: str
|
|
24
|
-
| None = "example_stream", # Timon: do we need those in the nmstream_abc?
|
|
25
|
-
stream_lsl: bool = False,
|
|
26
|
-
coord_list: list | None = None,
|
|
27
|
-
verbose: bool = True,
|
|
28
|
-
) -> None:
|
|
29
|
-
"""Stream initialization
|
|
30
|
-
|
|
31
|
-
Parameters
|
|
32
|
-
----------
|
|
33
|
-
sfreq : float
|
|
34
|
-
sampling frequency of data in Hertz
|
|
35
|
-
nm_channels : pd.DataFrame | _PathLike
|
|
36
|
-
parametrization of channels (see nm_define_channels.py for initialization)
|
|
37
|
-
settings : NMSettings | _PathLike | None, optional
|
|
38
|
-
Initialized nm_settings.NMSettings object, by default the py_neuromodulation/nm_settings.yaml are read
|
|
39
|
-
and passed into a settings object
|
|
40
|
-
line_noise : float | None, optional
|
|
41
|
-
line noise, by default 50
|
|
42
|
-
sampling_rate_features_hz : float | None, optional
|
|
43
|
-
feature sampling rate, by default None
|
|
44
|
-
path_grids : _PathLike | None, optional
|
|
45
|
-
path to grid_cortex.tsv and/or gird_subcortex.tsv, by default Non
|
|
46
|
-
coord_names : list | None, optional
|
|
47
|
-
coordinate name in the form [coord_1_name, coord_2_name, etc], by default None
|
|
48
|
-
coord_list : list | None, optional
|
|
49
|
-
coordinates in the form [[coord_1_x, coord_1_y, coord_1_z], [coord_2_x, coord_2_y, coord_2_z],], by default None
|
|
50
|
-
verbose : bool, optional
|
|
51
|
-
print out stream computation time information, by default True
|
|
52
|
-
"""
|
|
53
|
-
self.settings: NMSettings = NMSettings.load(settings)
|
|
54
|
-
|
|
55
|
-
# If features that use frequency ranges are on, test them against nyquist frequency
|
|
56
|
-
use_freq_ranges: list[FeatureName] = [
|
|
57
|
-
"bandpass_filter",
|
|
58
|
-
"stft",
|
|
59
|
-
"fft",
|
|
60
|
-
"welch",
|
|
61
|
-
"bursts",
|
|
62
|
-
"coherence",
|
|
63
|
-
"nolds",
|
|
64
|
-
"bispectrum",
|
|
65
|
-
]
|
|
66
|
-
|
|
67
|
-
need_nyquist_check = any(
|
|
68
|
-
(f in use_freq_ranges for f in self.settings.features.get_enabled())
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
if need_nyquist_check:
|
|
72
|
-
assert all(
|
|
73
|
-
fb.frequency_high_hz < sfreq / 2
|
|
74
|
-
for fb in self.settings.frequency_ranges_hz.values()
|
|
75
|
-
), (
|
|
76
|
-
"If a feature that uses frequency ranges is selected, "
|
|
77
|
-
"the frequency band ranges need to be smaller than the nyquist frequency.\n"
|
|
78
|
-
f"Got sfreq = {sfreq} and fband ranges:\n {self.settings.frequency_ranges_hz}"
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
if sampling_rate_features_hz is not None:
|
|
82
|
-
self.settings.sampling_rate_features_hz = sampling_rate_features_hz
|
|
83
|
-
|
|
84
|
-
self.nm_channels = self._load_nm_channels(nm_channels)
|
|
85
|
-
if path_grids is None:
|
|
86
|
-
path_grids = PYNM_DIR
|
|
87
|
-
self.path_grids = path_grids
|
|
88
|
-
self.verbose = verbose
|
|
89
|
-
self.sfreq = sfreq
|
|
90
|
-
self.line_noise = line_noise
|
|
91
|
-
self.coord_names = coord_names
|
|
92
|
-
self.coord_list = coord_list
|
|
93
|
-
self.sess_right = None
|
|
94
|
-
self.projection = None
|
|
95
|
-
self.model = None
|
|
96
|
-
|
|
97
|
-
self.data_processor = DataProcessor(
|
|
98
|
-
sfreq=self.sfreq,
|
|
99
|
-
settings=self.settings,
|
|
100
|
-
nm_channels=self.nm_channels,
|
|
101
|
-
path_grids=self.path_grids,
|
|
102
|
-
coord_names=coord_names,
|
|
103
|
-
coord_list=coord_list,
|
|
104
|
-
line_noise=line_noise,
|
|
105
|
-
verbose=self.verbose,
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
@abstractmethod
|
|
109
|
-
def run(self) -> pd.DataFrame:
|
|
110
|
-
"""Reinitialize the stream
|
|
111
|
-
This might be handy in case the nm_channels or nm_settings changed
|
|
112
|
-
"""
|
|
113
|
-
|
|
114
|
-
self.data_processor = DataProcessor(
|
|
115
|
-
sfreq=self.sfreq,
|
|
116
|
-
settings=self.settings,
|
|
117
|
-
nm_channels=self.nm_channels,
|
|
118
|
-
path_grids=self.path_grids,
|
|
119
|
-
coord_names=self.coord_names,
|
|
120
|
-
coord_list=self.coord_list,
|
|
121
|
-
line_noise=self.line_noise,
|
|
122
|
-
verbose=self.verbose,
|
|
123
|
-
)
|
|
124
|
-
|
|
125
|
-
@staticmethod
|
|
126
|
-
def _load_nm_channels(
|
|
127
|
-
nm_channels: pd.DataFrame | _PathLike,
|
|
128
|
-
) -> pd.DataFrame:
|
|
129
|
-
if not isinstance(nm_channels, pd.DataFrame):
|
|
130
|
-
nm_channels = nm_IO.load_nm_channels(nm_channels)
|
|
131
|
-
|
|
132
|
-
if nm_channels.query("used == 1 and target == 0").shape[0] == 0:
|
|
133
|
-
raise ValueError(
|
|
134
|
-
"No channels selected for analysis that have column 'used' = 1 and 'target' = 0. Please check your nm_channels"
|
|
135
|
-
)
|
|
136
|
-
|
|
137
|
-
return nm_channels
|
|
138
|
-
|
|
139
|
-
def save_after_stream(
|
|
140
|
-
self,
|
|
141
|
-
out_dir: _PathLike = "",
|
|
142
|
-
prefix: str = "",
|
|
143
|
-
feature_arr: pd.DataFrame | None = None,
|
|
144
|
-
) -> None:
|
|
145
|
-
"""Save features, settings, nm_channels and sidecar after run"""
|
|
146
|
-
|
|
147
|
-
self.save_sidecar(out_dir, prefix)
|
|
148
|
-
|
|
149
|
-
if feature_arr is not None:
|
|
150
|
-
nm_IO.save_features(feature_arr, out_dir, prefix)
|
|
151
|
-
|
|
152
|
-
self.save_settings(out_dir, prefix)
|
|
153
|
-
|
|
154
|
-
self.save_nm_channels(out_dir, prefix)
|
|
155
|
-
|
|
156
|
-
def save_nm_channels(self, out_dir: _PathLike, prefix: str = "") -> None:
|
|
157
|
-
self.data_processor.save_nm_channels(out_dir, prefix)
|
|
158
|
-
|
|
159
|
-
def save_settings(self, out_dir: _PathLike, prefix: str = "") -> None:
|
|
160
|
-
self.data_processor.save_settings(out_dir, prefix)
|
|
161
|
-
|
|
162
|
-
def save_sidecar(self, out_dir: _PathLike, prefix: str = "") -> None:
|
|
163
|
-
"""Save sidecar incduing fs, coords, sess_right to
|
|
164
|
-
out_path_root and subfolder 'folder_name'"""
|
|
165
|
-
additional_args = {"sess_right": self.sess_right}
|
|
166
|
-
self.data_processor.save_sidecar(out_dir, prefix, additional_args)
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
py_neuromodulation/FieldTrip.py,sha256=SNP_hmHWbOHhnoZqk6hS_aUMRPzuqoZuvojzg2BvvUw,18008
|
|
2
|
-
py_neuromodulation/__init__.py,sha256=R5uKBJtyVshkLnAlkTLxCwHg8gBhmRWvgVM2_vLsT0M,2670
|
|
3
|
-
py_neuromodulation/_write_example_dataset_helper.py,sha256=2I3FMumu6fgvvn8KPNwSqppCu3cgaIxJP5GzYEwt1fI,2524
|
|
4
|
-
py_neuromodulation/grid_cortex.tsv,sha256=k2QOkHY1ej3lJ33LD6DOPVlTynzB3s4BYaoQaoUCyYc,643
|
|
5
|
-
py_neuromodulation/grid_subcortex.tsv,sha256=oCQDYLDdYSa1DAI9ybwECfuzWulFzXqKHyf7oZ1oDBM,25842
|
|
6
|
-
py_neuromodulation/nm_IO.py,sha256=7QtlKKiTcSBOfYusyfbF38Piu_MgQQdp1g6VRoA0Af8,11335
|
|
7
|
-
py_neuromodulation/nm_RMAP.py,sha256=4hdB_LytcP1QOHEXMQeFa1fRm4_WNu_NgYyqOo8kNiE,15007
|
|
8
|
-
py_neuromodulation/nm_analysis.py,sha256=A69X218R4qZl9pEGz_fmq94BjN5UzDir_EllR87bU4Q,35610
|
|
9
|
-
py_neuromodulation/nm_artifacts.py,sha256=EyFx7xr2O0DHPXgrFmFeW52jlxKv3Zt-ItQy97ec-a4,843
|
|
10
|
-
py_neuromodulation/nm_bispectra.py,sha256=vmaLeNLlxejBFsEcKDddd-75299KPUTtsJM6hnAEdhI,5569
|
|
11
|
-
py_neuromodulation/nm_bursts.py,sha256=1Yns30S4fYi0slo0oje86JPCs4IOTmREuCHPI6QwGRc,11234
|
|
12
|
-
py_neuromodulation/nm_coherence.py,sha256=dJVTPXeYxub4cM-TYQ21-j-3588ml2jTHtsEgQFEtdE,8731
|
|
13
|
-
py_neuromodulation/nm_database.py,sha256=R7KetIS9Wv-q5OSziEcUFYVk0LLrRaVD96JbTt16A4E,4749
|
|
14
|
-
py_neuromodulation/nm_decode.py,sha256=nn2sODnvDj5dZKAR3RucyKm90W65tLOI9jQvq5-a3C0,33176
|
|
15
|
-
py_neuromodulation/nm_define_nmchannels.py,sha256=rjPJMMhHcsMF_TKpXhekHfOPwZlHklhoofNiKJQrlu0,10537
|
|
16
|
-
py_neuromodulation/nm_features.py,sha256=da6Ah5qgddEije6SfxQXhzZVQ1QKpITmBC1ozr-A4Cc,4975
|
|
17
|
-
py_neuromodulation/nm_filter.py,sha256=cWoF7a5Vn2OjCSGsEed2JRZJEsI4cajpht3xExGIEZg,7570
|
|
18
|
-
py_neuromodulation/nm_filter_preprocessing.py,sha256=JuYBzVkpDTZP8WnHCyKdTEi9NW-JbRAXxhW83RAyUCs,2882
|
|
19
|
-
py_neuromodulation/nm_fooof.py,sha256=l7hAa3BQ6q-aFNlKhMfgsoiIpPDW_KpWko_EFMRVma8,5079
|
|
20
|
-
py_neuromodulation/nm_generator.py,sha256=kyVmI6R-TOhq5EATLpZND311oFP1Xx9ey_ieGf529nI,1403
|
|
21
|
-
py_neuromodulation/nm_hjorth_raw.py,sha256=DptET2nFi8dPSuzt4eTltul4Mg5k709VWdnKSVVc4Xw,1777
|
|
22
|
-
py_neuromodulation/nm_kalmanfilter.py,sha256=jpJXwg4cxiqHnwgMVMA6A3b_I4q95zotafhDyJdhOZw,1983
|
|
23
|
-
py_neuromodulation/nm_linelength.py,sha256=GUZ39tl3Bx3UT5MmAFJ15bvETxheS-0Uynv7Aunw8pY,626
|
|
24
|
-
py_neuromodulation/nm_logger.py,sha256=hcE2LiSIyJES5IeFw54QAhqVqbjdO3YnyUGJ9oaRTrE,2181
|
|
25
|
-
py_neuromodulation/nm_mne_connectivity.py,sha256=h_JOgCc3qV1Awpnlm61LPiTcemOBjOlFnEqtqhLjcRk,5724
|
|
26
|
-
py_neuromodulation/nm_mnelsl_generator.py,sha256=dEwVZwK9SgFjqf-N7I8n08Dgt__J6aqJue-zNoCl5rA,2897
|
|
27
|
-
py_neuromodulation/nm_mnelsl_stream.py,sha256=lXGR7u99PhHdP8TsywWDDfbP1Msj7TIKUTtxui2-v2E,4488
|
|
28
|
-
py_neuromodulation/nm_nolds.py,sha256=gsrCQBEfKstDdkYfbhPoZq5jU6s2C450NmbO46R9F3w,3460
|
|
29
|
-
py_neuromodulation/nm_normalization.py,sha256=JbGOntJVKnj2j2RjQ6F4OQQS1gUjuu4TAnBmB5ilu4Q,5492
|
|
30
|
-
py_neuromodulation/nm_oscillatory.py,sha256=YUeCQHV6hOKlWFH3bqHbT1FWVLKV7vHlaMsAEkXmpMc,14095
|
|
31
|
-
py_neuromodulation/nm_plots.py,sha256=3n0lrRVj1iDkPjO4dbGHdjECp47ygMMvkH1Vi31PYVA,16679
|
|
32
|
-
py_neuromodulation/nm_preprocessing.py,sha256=MHNOAisKgDN0qEIFoCw4eGNw6aoDMTFgx2AmoFVyqlY,3278
|
|
33
|
-
py_neuromodulation/nm_projection.py,sha256=YMa0HIwsAvmk68FuzrzLe2APtLhzvSPAyRMZ0MtHw6o,14720
|
|
34
|
-
py_neuromodulation/nm_rereference.py,sha256=ecixjJdhiyPGGID0hMvSPrTv_WZKhgKMDLHjM2Txifo,3354
|
|
35
|
-
py_neuromodulation/nm_resample.py,sha256=vYkYfaG8duUbnJ0ssXhqUM6-3sUJP5NesPgqEkJ0g9w,1276
|
|
36
|
-
py_neuromodulation/nm_run_analysis.py,sha256=xXGVCF7d0PLroZljktlGbMnx5B4t6RH918uTFvN6AiM,11261
|
|
37
|
-
py_neuromodulation/nm_settings.py,sha256=IrRBcw0F3cv_VlfnEN8nReEfwopWjY8aiVR45w4J9Ew,10068
|
|
38
|
-
py_neuromodulation/nm_settings.yaml,sha256=rnKOvFt06Pk3VQjyIMh4UcnIufxzSZBr3Ag7s8rhyEQ,5502
|
|
39
|
-
py_neuromodulation/nm_sharpwaves.py,sha256=d_zUXVX5b9YRXOm0F5S9l3-SAaONJhKzhj1uK3SGUk0,16527
|
|
40
|
-
py_neuromodulation/nm_stats.py,sha256=8lbG85VixiQNT1hLMVVQPUoZbhZFx-xyE3w7nV193fE,15318
|
|
41
|
-
py_neuromodulation/nm_stream.py,sha256=7cSIl8JCwLOzBu6nFnDjHc5pPKcyM2ptcpg1T-TKcwA,13851
|
|
42
|
-
py_neuromodulation/nm_stream_abc.py,sha256=OKoZJu2eZTIuuLNyX6sGoMXsr8ryU1T770XyKUpndqc,6155
|
|
43
|
-
py_neuromodulation/nm_types.py,sha256=dSmqnLHaSPqBk32Farr3r9SptMyZBdWX8XW0RjBmjv4,5497
|
|
44
|
-
py_neuromodulation/ConnectivityDecoding/Automated Anatomical Labeling 3 (Rolls 2020).nii,sha256=Sp-cjF_AuT0Tlilb5s8lB14hVgkXJiR2uKMS9nOQOeg,902981
|
|
45
|
-
py_neuromodulation/ConnectivityDecoding/_get_grid_hull.m,sha256=2RPDGotbLsCzDJLFB2JXatJtfOMno9UUBCBnsOuse8A,714
|
|
46
|
-
py_neuromodulation/ConnectivityDecoding/_get_grid_whole_brain.py,sha256=VsInAIADIf9d3unxUSN0B50aU472IQocGZ-kyG8A7Fc,3066
|
|
47
|
-
py_neuromodulation/ConnectivityDecoding/_helper_write_connectome.py,sha256=1DNrccrJqrH5PIW2yp24xbyqRrsRz98Gof5aPQZUUUE,3423
|
|
48
|
-
py_neuromodulation/ConnectivityDecoding/mni_coords_cortical_surface.mat,sha256=AZc0mgiAiqXVAxAnfxwICeh-dQX62RfTeRN_knS-i60,11622
|
|
49
|
-
py_neuromodulation/ConnectivityDecoding/mni_coords_whole_brain.mat,sha256=YxT9nrXZ2IECheEhN1SgSsqNyihHUTLuZQ7o5yP4Q-c,29864
|
|
50
|
-
py_neuromodulation/ConnectivityDecoding/rmap_func_all.nii,sha256=WjVA02B2cGNi670_45fdNssspf8GKbkKgRStZ2d4_FU,7221384
|
|
51
|
-
py_neuromodulation/ConnectivityDecoding/rmap_struc.nii,sha256=XsEMjsCxjAsMFvw1_jpQ-wIU2BUuZ_lISPwMa7zDmDk,7221384
|
|
52
|
-
py_neuromodulation/data/README,sha256=8PhEkUm8F2NgL7A5co1CgfumAMB14v5XPIbk54SvtAE,708
|
|
53
|
-
py_neuromodulation/data/dataset_description.json,sha256=HMHtmF0bbw9XO79GAyRt8urpEyxRJ5A1REcYos8D2s0,122
|
|
54
|
-
py_neuromodulation/data/participants.json,sha256=S4rrcSAmLcL_jLk9IY_cwJBipl8OwwCvouZ7tsgdldw,756
|
|
55
|
-
py_neuromodulation/data/participants.tsv,sha256=-dg_i5N4I-Cp1l21433z1lDjXUmcuTn8S3UqkxPvgdI,77
|
|
56
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/sub-testsub_ses-EphysMedOff_scans.tsv,sha256=iz6Nvf_E5jChjacmO_eAxX7Y8rR8v03-gGdUeBlyDVY,89
|
|
57
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_coordsystem.json,sha256=dq0Vc2fIR-YvbCEqBb7lq3P_YkOOzkKe1Hh-a1gd46E,118
|
|
58
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_electrodes.tsv,sha256=Kr9vKh1qnnwFQE0Cet7PkeVuuGx1u-CT_xXs4qucezg,722
|
|
59
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_channels.tsv,sha256=ZSixrfpSlNEfmv0diaJ96usFPwPtO_dA6CCDYDp85KY,779
|
|
60
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg,sha256=NnQeMDrKpeK3lctIZ5Bzh85UMTs5OCUCaivn_NU5rc4,760040
|
|
61
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.json,sha256=nRPEWAa0isyDKbeW1IPhL9ECWkzqfQw1sKwJkZU3vbk,474
|
|
62
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr,sha256=-QEHwQjJb9Hp9yudEawqhQl8vrD8bYqiuvlF4cyPNg0,988
|
|
63
|
-
py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk,sha256=BD-VmcKe7dR0vGzzkv4c09QnSwc3zYeAWDGJIzWEOI0,540
|
|
64
|
-
py_neuromodulation/liblsl/libpugixml.so.1.12,sha256=_bCOHUjcnGpDiROg1qjgty8ZQhcKHSnaCIP6SMgw6SY,240248
|
|
65
|
-
py_neuromodulation/liblsl/linux/bionic_amd64/liblsl.1.16.2.so,sha256=YXFbA23CQqWg6mWhk-73WY9gSx79NtgnBr6UFVByC2I,1033592
|
|
66
|
-
py_neuromodulation/liblsl/linux/bookworm_amd64/liblsl.1.16.2.so,sha256=3gKI0HsheWJvFgZdnT27Ev824y7rkOOCVRiHdAlKHUM,791688
|
|
67
|
-
py_neuromodulation/liblsl/linux/focal_amd46/liblsl.1.16.2.so,sha256=OCVevlOtKPblu7lWFN_x4HIibxfihgoPzQtGjsYEXUo,923264
|
|
68
|
-
py_neuromodulation/liblsl/linux/jammy_amd64/liblsl.1.16.2.so,sha256=MSmfv900ShdCj3-ipsADxmbiTg3WoZ_SvUrByeZB45g,935392
|
|
69
|
-
py_neuromodulation/liblsl/linux/jammy_x86/liblsl.1.16.2.so,sha256=MSmfv900ShdCj3-ipsADxmbiTg3WoZ_SvUrByeZB45g,935392
|
|
70
|
-
py_neuromodulation/liblsl/linux/noble_amd64/liblsl.1.16.2.so,sha256=-p_sEh6LuxDKKVVcT5Y0Loeq7FK11LoE34RmMIKqdaw,3009496
|
|
71
|
-
py_neuromodulation/liblsl/macos/amd64/liblsl.1.16.2.dylib,sha256=7BLTPGbq7ISuG3ZdLUem7fER6ZXrYYryY477b3j4lNw,807896
|
|
72
|
-
py_neuromodulation/liblsl/macos/arm64/liblsl.1.16.0.dylib,sha256=UD228wOmdFIY9WKmpYgWKeJuVQ6wqI6K2EWWk1G3vM8,758048
|
|
73
|
-
py_neuromodulation/liblsl/windows/amd64/liblsl.1.16.2.dll,sha256=M4tzeUOkvXv5_3GZheWJJ74q1AAIIGmcEZLugJIHxGo,804864
|
|
74
|
-
py_neuromodulation/liblsl/windows/x86/liblsl.1.16.2.dll,sha256=UBdyYfWp7CpydLo1I0nsCSM1uHnnbNrF2FF1fHuOops,599040
|
|
75
|
-
py_neuromodulation/plots/STN_surf.mat,sha256=Hh2nfQRmP0TYIt8SWV-ajKnC8yk7EmBoAj1c6RMoi9g,124526
|
|
76
|
-
py_neuromodulation/plots/Vertices.mat,sha256=k72WB8-0Datt-bRScxcfpp38LBPHV34zzodS49kQAgs,3709780
|
|
77
|
-
py_neuromodulation/plots/faces.mat,sha256=gWSr-9qNxsAPoG8q-muNnaFZHVHGKqnKN0j3Q1JfMk4,2859245
|
|
78
|
-
py_neuromodulation/plots/grid.mat,sha256=G3MYIVcvk8lbf_kKWIe3lZZ4d0QV6HkoLsOFN1A2vhE,775
|
|
79
|
-
py_neuromodulation/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
-
py_neuromodulation-0.0.5.dist-info/METADATA,sha256=5IJGPs-8SN-Glc-oqVZ1QmTkJMn0SJLx5jQRjz0DO9M,7439
|
|
81
|
-
py_neuromodulation-0.0.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
82
|
-
py_neuromodulation-0.0.5.dist-info/licenses/LICENSE,sha256=EMBwuBRPBo-WkHSjqxZ55E6j95gKNBZ8x30pt-VGfrM,1118
|
|
83
|
-
py_neuromodulation-0.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|