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.
Files changed (57) hide show
  1. py_neuromodulation/__init__.py +16 -10
  2. py_neuromodulation/{nm_RMAP.py → analysis/RMAP.py} +2 -2
  3. py_neuromodulation/analysis/__init__.py +4 -0
  4. py_neuromodulation/{nm_decode.py → analysis/decode.py} +4 -4
  5. py_neuromodulation/{nm_analysis.py → analysis/feature_reader.py} +21 -20
  6. py_neuromodulation/{nm_plots.py → analysis/plots.py} +54 -12
  7. py_neuromodulation/{nm_stats.py → analysis/stats.py} +2 -8
  8. py_neuromodulation/{nm_settings.yaml → default_settings.yaml} +7 -9
  9. py_neuromodulation/features/__init__.py +31 -0
  10. py_neuromodulation/features/bandpower.py +165 -0
  11. py_neuromodulation/{nm_bispectra.py → features/bispectra.py} +11 -12
  12. py_neuromodulation/{nm_bursts.py → features/bursts.py} +14 -9
  13. py_neuromodulation/{nm_coherence.py → features/coherence.py} +28 -19
  14. py_neuromodulation/{nm_features.py → features/feature_processor.py} +30 -53
  15. py_neuromodulation/{nm_fooof.py → features/fooof.py} +11 -8
  16. py_neuromodulation/{nm_hjorth_raw.py → features/hjorth_raw.py} +10 -5
  17. py_neuromodulation/{nm_linelength.py → features/linelength.py} +1 -1
  18. py_neuromodulation/{nm_mne_connectivity.py → features/mne_connectivity.py} +5 -6
  19. py_neuromodulation/{nm_nolds.py → features/nolds.py} +5 -7
  20. py_neuromodulation/{nm_oscillatory.py → features/oscillatory.py} +7 -181
  21. py_neuromodulation/{nm_sharpwaves.py → features/sharpwaves.py} +13 -4
  22. py_neuromodulation/filter/__init__.py +3 -0
  23. py_neuromodulation/{nm_kalmanfilter.py → filter/kalman_filter.py} +67 -71
  24. py_neuromodulation/filter/kalman_filter_external.py +1890 -0
  25. py_neuromodulation/{nm_filter.py → filter/mne_filter.py} +128 -219
  26. py_neuromodulation/filter/notch_filter.py +93 -0
  27. py_neuromodulation/processing/__init__.py +10 -0
  28. py_neuromodulation/{nm_artifacts.py → processing/artifacts.py} +2 -3
  29. py_neuromodulation/{nm_preprocessing.py → processing/data_preprocessor.py} +19 -25
  30. py_neuromodulation/{nm_filter_preprocessing.py → processing/filter_preprocessing.py} +3 -4
  31. py_neuromodulation/{nm_normalization.py → processing/normalization.py} +9 -7
  32. py_neuromodulation/{nm_projection.py → processing/projection.py} +14 -14
  33. py_neuromodulation/{nm_rereference.py → processing/rereference.py} +13 -13
  34. py_neuromodulation/{nm_resample.py → processing/resample.py} +1 -4
  35. py_neuromodulation/stream/__init__.py +3 -0
  36. py_neuromodulation/{nm_run_analysis.py → stream/data_processor.py} +42 -42
  37. py_neuromodulation/stream/generator.py +53 -0
  38. py_neuromodulation/{nm_mnelsl_generator.py → stream/mnelsl_player.py} +10 -6
  39. py_neuromodulation/{nm_mnelsl_stream.py → stream/mnelsl_stream.py} +13 -9
  40. py_neuromodulation/{nm_settings.py → stream/settings.py} +27 -24
  41. py_neuromodulation/{nm_stream.py → stream/stream.py} +217 -188
  42. py_neuromodulation/utils/__init__.py +2 -0
  43. py_neuromodulation/{nm_define_nmchannels.py → utils/channels.py} +14 -9
  44. py_neuromodulation/{nm_database.py → utils/database.py} +2 -2
  45. py_neuromodulation/{nm_IO.py → utils/io.py} +42 -77
  46. py_neuromodulation/utils/keyboard.py +52 -0
  47. py_neuromodulation/{nm_logger.py → utils/logging.py} +3 -3
  48. py_neuromodulation/{nm_types.py → utils/types.py} +72 -14
  49. {py_neuromodulation-0.0.5.dist-info → py_neuromodulation-0.0.7.dist-info}/METADATA +12 -29
  50. py_neuromodulation-0.0.7.dist-info/RECORD +89 -0
  51. py_neuromodulation/FieldTrip.py +0 -589
  52. py_neuromodulation/_write_example_dataset_helper.py +0 -83
  53. py_neuromodulation/nm_generator.py +0 -45
  54. py_neuromodulation/nm_stream_abc.py +0 -166
  55. py_neuromodulation-0.0.5.dist-info/RECORD +0 -83
  56. {py_neuromodulation-0.0.5.dist-info → py_neuromodulation-0.0.7.dist-info}/WHEEL +0 -0
  57. {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,,