py-neuromodulation 0.0.3__py3-none-any.whl → 0.0.5__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 (233) hide show
  1. py_neuromodulation/ConnectivityDecoding/Automated Anatomical Labeling 3 (Rolls 2020).nii +0 -0
  2. py_neuromodulation/ConnectivityDecoding/_get_grid_hull.m +34 -0
  3. py_neuromodulation/ConnectivityDecoding/_get_grid_whole_brain.py +95 -0
  4. py_neuromodulation/ConnectivityDecoding/_helper_write_connectome.py +107 -0
  5. py_neuromodulation/ConnectivityDecoding/mni_coords_cortical_surface.mat +0 -0
  6. py_neuromodulation/ConnectivityDecoding/mni_coords_whole_brain.mat +0 -0
  7. py_neuromodulation/ConnectivityDecoding/rmap_func_all.nii +0 -0
  8. py_neuromodulation/ConnectivityDecoding/rmap_struc.nii +0 -0
  9. py_neuromodulation/FieldTrip.py +589 -589
  10. py_neuromodulation/__init__.py +74 -13
  11. py_neuromodulation/_write_example_dataset_helper.py +83 -65
  12. py_neuromodulation/data/README +6 -0
  13. py_neuromodulation/data/dataset_description.json +8 -0
  14. py_neuromodulation/data/participants.json +32 -0
  15. py_neuromodulation/data/participants.tsv +2 -0
  16. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_coordsystem.json +5 -0
  17. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_electrodes.tsv +11 -0
  18. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_channels.tsv +11 -0
  19. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg +0 -0
  20. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.json +18 -0
  21. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr +35 -0
  22. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk +13 -0
  23. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/sub-testsub_ses-EphysMedOff_scans.tsv +2 -0
  24. py_neuromodulation/grid_cortex.tsv +40 -0
  25. py_neuromodulation/grid_subcortex.tsv +1429 -0
  26. py_neuromodulation/liblsl/libpugixml.so.1.12 +0 -0
  27. py_neuromodulation/liblsl/linux/bionic_amd64/liblsl.1.16.2.so +0 -0
  28. py_neuromodulation/liblsl/linux/bookworm_amd64/liblsl.1.16.2.so +0 -0
  29. py_neuromodulation/liblsl/linux/focal_amd46/liblsl.1.16.2.so +0 -0
  30. py_neuromodulation/liblsl/linux/jammy_amd64/liblsl.1.16.2.so +0 -0
  31. py_neuromodulation/liblsl/linux/jammy_x86/liblsl.1.16.2.so +0 -0
  32. py_neuromodulation/liblsl/linux/noble_amd64/liblsl.1.16.2.so +0 -0
  33. py_neuromodulation/liblsl/macos/amd64/liblsl.1.16.2.dylib +0 -0
  34. py_neuromodulation/liblsl/macos/arm64/liblsl.1.16.0.dylib +0 -0
  35. py_neuromodulation/liblsl/windows/amd64/liblsl.1.16.2.dll +0 -0
  36. py_neuromodulation/liblsl/windows/x86/liblsl.1.16.2.dll +0 -0
  37. py_neuromodulation/nm_IO.py +413 -417
  38. py_neuromodulation/nm_RMAP.py +496 -531
  39. py_neuromodulation/nm_analysis.py +993 -1074
  40. py_neuromodulation/nm_artifacts.py +30 -25
  41. py_neuromodulation/nm_bispectra.py +154 -168
  42. py_neuromodulation/nm_bursts.py +292 -198
  43. py_neuromodulation/nm_coherence.py +251 -205
  44. py_neuromodulation/nm_database.py +149 -0
  45. py_neuromodulation/nm_decode.py +918 -992
  46. py_neuromodulation/nm_define_nmchannels.py +300 -302
  47. py_neuromodulation/nm_features.py +144 -116
  48. py_neuromodulation/nm_filter.py +219 -219
  49. py_neuromodulation/nm_filter_preprocessing.py +79 -91
  50. py_neuromodulation/nm_fooof.py +139 -159
  51. py_neuromodulation/nm_generator.py +45 -37
  52. py_neuromodulation/nm_hjorth_raw.py +52 -73
  53. py_neuromodulation/nm_kalmanfilter.py +71 -58
  54. py_neuromodulation/nm_linelength.py +21 -33
  55. py_neuromodulation/nm_logger.py +66 -0
  56. py_neuromodulation/nm_mne_connectivity.py +149 -112
  57. py_neuromodulation/nm_mnelsl_generator.py +90 -0
  58. py_neuromodulation/nm_mnelsl_stream.py +116 -0
  59. py_neuromodulation/nm_nolds.py +96 -93
  60. py_neuromodulation/nm_normalization.py +173 -214
  61. py_neuromodulation/nm_oscillatory.py +423 -448
  62. py_neuromodulation/nm_plots.py +585 -612
  63. py_neuromodulation/nm_preprocessing.py +83 -0
  64. py_neuromodulation/nm_projection.py +370 -394
  65. py_neuromodulation/nm_rereference.py +97 -95
  66. py_neuromodulation/nm_resample.py +59 -50
  67. py_neuromodulation/nm_run_analysis.py +325 -435
  68. py_neuromodulation/nm_settings.py +289 -68
  69. py_neuromodulation/nm_settings.yaml +244 -0
  70. py_neuromodulation/nm_sharpwaves.py +423 -401
  71. py_neuromodulation/nm_stats.py +464 -480
  72. py_neuromodulation/nm_stream.py +398 -0
  73. py_neuromodulation/nm_stream_abc.py +166 -218
  74. py_neuromodulation/nm_types.py +193 -0
  75. py_neuromodulation/plots/STN_surf.mat +0 -0
  76. py_neuromodulation/plots/Vertices.mat +0 -0
  77. py_neuromodulation/plots/faces.mat +0 -0
  78. py_neuromodulation/plots/grid.mat +0 -0
  79. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.5.dist-info}/METADATA +185 -182
  80. py_neuromodulation-0.0.5.dist-info/RECORD +83 -0
  81. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.5.dist-info}/WHEEL +1 -2
  82. {py_neuromodulation-0.0.3.dist-info → py_neuromodulation-0.0.5.dist-info/licenses}/LICENSE +21 -21
  83. docs/build/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -68
  84. docs/build/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -233
  85. docs/build/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  86. docs/build/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -97
  87. docs/build/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  88. docs/build/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -192
  89. docs/build/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  90. docs/build/html/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -68
  91. docs/build/html/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -239
  92. docs/build/html/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  93. docs/build/html/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -97
  94. docs/build/html/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  95. docs/build/html/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -192
  96. docs/build/html/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  97. docs/source/_build/html/_downloads/09df217f95985497f45d69e2d4bdc5b1/plot_2_example_add_feature.py +0 -76
  98. docs/source/_build/html/_downloads/0d0d0a76e8f648d5d3cbc47da6351932/plot_real_time_demo.py +0 -97
  99. docs/source/_build/html/_downloads/3b4900a2b2818ff30362215b76f7d5eb/plot_1_example_BIDS.py +0 -240
  100. docs/source/_build/html/_downloads/5d73cadc59a8805c47e3b84063afc157/plot_example_BIDS.py +0 -233
  101. docs/source/_build/html/_downloads/7660317fa5a6bfbd12fcca9961457fc4/plot_example_rmap_computing.py +0 -63
  102. docs/source/_build/html/_downloads/7e92dd2e6cc86b239d14cafad972ae4f/plot_3_example_sharpwave_analysis.py +0 -219
  103. docs/source/_build/html/_downloads/839e5b319379f7fd9e867deb00fd797f/plot_example_gridPointProjection.py +0 -210
  104. docs/source/_build/html/_downloads/ae8be19afe5e559f011fc9b138968ba0/plot_first_demo.py +0 -192
  105. docs/source/_build/html/_downloads/b8b06cacc17969d3725a0b6f1d7741c5/plot_example_sharpwave_analysis.py +0 -219
  106. docs/source/_build/html/_downloads/c2db0bf2b334d541b00662b991682256/plot_6_real_time_demo.py +0 -121
  107. docs/source/_build/html/_downloads/c31a86c0b68cb4167d968091ace8080d/plot_example_add_feature.py +0 -68
  108. docs/source/_build/html/_downloads/ce3914826f782cbd1ea8fd024eaf0ac3/plot_5_example_rmap_computing.py +0 -64
  109. docs/source/_build/html/_downloads/da36848a41e6a3235d91fb7cfb6d59b4/plot_0_first_demo.py +0 -189
  110. docs/source/_build/html/_downloads/eaa4305c75b19a1e2eea941f742a6331/plot_4_example_gridPointProjection.py +0 -210
  111. docs/source/auto_examples/plot_0_first_demo.py +0 -189
  112. docs/source/auto_examples/plot_1_example_BIDS.py +0 -240
  113. docs/source/auto_examples/plot_2_example_add_feature.py +0 -76
  114. docs/source/auto_examples/plot_3_example_sharpwave_analysis.py +0 -219
  115. docs/source/auto_examples/plot_4_example_gridPointProjection.py +0 -210
  116. docs/source/auto_examples/plot_5_example_rmap_computing.py +0 -64
  117. docs/source/auto_examples/plot_6_real_time_demo.py +0 -121
  118. docs/source/conf.py +0 -105
  119. examples/plot_0_first_demo.py +0 -189
  120. examples/plot_1_example_BIDS.py +0 -240
  121. examples/plot_2_example_add_feature.py +0 -76
  122. examples/plot_3_example_sharpwave_analysis.py +0 -219
  123. examples/plot_4_example_gridPointProjection.py +0 -210
  124. examples/plot_5_example_rmap_computing.py +0 -64
  125. examples/plot_6_real_time_demo.py +0 -121
  126. packages/realtime_decoding/build/lib/realtime_decoding/__init__.py +0 -4
  127. packages/realtime_decoding/build/lib/realtime_decoding/decoder.py +0 -104
  128. packages/realtime_decoding/build/lib/realtime_decoding/features.py +0 -163
  129. packages/realtime_decoding/build/lib/realtime_decoding/helpers.py +0 -15
  130. packages/realtime_decoding/build/lib/realtime_decoding/run_decoding.py +0 -345
  131. packages/realtime_decoding/build/lib/realtime_decoding/trainer.py +0 -54
  132. packages/tmsi/build/lib/TMSiFileFormats/__init__.py +0 -37
  133. packages/tmsi/build/lib/TMSiFileFormats/file_formats/__init__.py +0 -36
  134. packages/tmsi/build/lib/TMSiFileFormats/file_formats/lsl_stream_writer.py +0 -200
  135. packages/tmsi/build/lib/TMSiFileFormats/file_formats/poly5_file_writer.py +0 -496
  136. packages/tmsi/build/lib/TMSiFileFormats/file_formats/poly5_to_edf_converter.py +0 -236
  137. packages/tmsi/build/lib/TMSiFileFormats/file_formats/xdf_file_writer.py +0 -977
  138. packages/tmsi/build/lib/TMSiFileFormats/file_readers/__init__.py +0 -35
  139. packages/tmsi/build/lib/TMSiFileFormats/file_readers/edf_reader.py +0 -116
  140. packages/tmsi/build/lib/TMSiFileFormats/file_readers/poly5reader.py +0 -294
  141. packages/tmsi/build/lib/TMSiFileFormats/file_readers/xdf_reader.py +0 -229
  142. packages/tmsi/build/lib/TMSiFileFormats/file_writer.py +0 -102
  143. packages/tmsi/build/lib/TMSiPlotters/__init__.py +0 -2
  144. packages/tmsi/build/lib/TMSiPlotters/gui/__init__.py +0 -39
  145. packages/tmsi/build/lib/TMSiPlotters/gui/_plotter_gui.py +0 -234
  146. packages/tmsi/build/lib/TMSiPlotters/gui/plotting_gui.py +0 -440
  147. packages/tmsi/build/lib/TMSiPlotters/plotters/__init__.py +0 -44
  148. packages/tmsi/build/lib/TMSiPlotters/plotters/hd_emg_plotter.py +0 -446
  149. packages/tmsi/build/lib/TMSiPlotters/plotters/impedance_plotter.py +0 -589
  150. packages/tmsi/build/lib/TMSiPlotters/plotters/signal_plotter.py +0 -1326
  151. packages/tmsi/build/lib/TMSiSDK/__init__.py +0 -54
  152. packages/tmsi/build/lib/TMSiSDK/device.py +0 -588
  153. packages/tmsi/build/lib/TMSiSDK/devices/__init__.py +0 -34
  154. packages/tmsi/build/lib/TMSiSDK/devices/saga/TMSi_Device_API.py +0 -1764
  155. packages/tmsi/build/lib/TMSiSDK/devices/saga/__init__.py +0 -34
  156. packages/tmsi/build/lib/TMSiSDK/devices/saga/saga_device.py +0 -1366
  157. packages/tmsi/build/lib/TMSiSDK/devices/saga/saga_types.py +0 -520
  158. packages/tmsi/build/lib/TMSiSDK/devices/saga/xml_saga_config.py +0 -165
  159. packages/tmsi/build/lib/TMSiSDK/error.py +0 -95
  160. packages/tmsi/build/lib/TMSiSDK/sample_data.py +0 -63
  161. packages/tmsi/build/lib/TMSiSDK/sample_data_server.py +0 -99
  162. packages/tmsi/build/lib/TMSiSDK/settings.py +0 -45
  163. packages/tmsi/build/lib/TMSiSDK/tmsi_device.py +0 -111
  164. packages/tmsi/build/lib/__init__.py +0 -4
  165. packages/tmsi/build/lib/apex_sdk/__init__.py +0 -34
  166. packages/tmsi/build/lib/apex_sdk/device/__init__.py +0 -41
  167. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API.py +0 -1009
  168. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API_enums.py +0 -239
  169. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_API_structures.py +0 -668
  170. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_device.py +0 -1611
  171. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_dongle.py +0 -38
  172. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_event_reader.py +0 -57
  173. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_channel.py +0 -44
  174. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_config.py +0 -150
  175. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_const.py +0 -36
  176. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_impedance_channel.py +0 -48
  177. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/apex_info.py +0 -108
  178. packages/tmsi/build/lib/apex_sdk/device/devices/apex/apex_structures/dongle_info.py +0 -39
  179. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/download_measurement.py +0 -77
  180. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/eeg_measurement.py +0 -150
  181. packages/tmsi/build/lib/apex_sdk/device/devices/apex/measurements/impedance_measurement.py +0 -129
  182. packages/tmsi/build/lib/apex_sdk/device/threads/conversion_thread.py +0 -59
  183. packages/tmsi/build/lib/apex_sdk/device/threads/sampling_thread.py +0 -57
  184. packages/tmsi/build/lib/apex_sdk/device/tmsi_channel.py +0 -83
  185. packages/tmsi/build/lib/apex_sdk/device/tmsi_device.py +0 -201
  186. packages/tmsi/build/lib/apex_sdk/device/tmsi_device_enums.py +0 -103
  187. packages/tmsi/build/lib/apex_sdk/device/tmsi_dongle.py +0 -43
  188. packages/tmsi/build/lib/apex_sdk/device/tmsi_event_reader.py +0 -50
  189. packages/tmsi/build/lib/apex_sdk/device/tmsi_measurement.py +0 -118
  190. packages/tmsi/build/lib/apex_sdk/sample_data_server/__init__.py +0 -33
  191. packages/tmsi/build/lib/apex_sdk/sample_data_server/event_data.py +0 -44
  192. packages/tmsi/build/lib/apex_sdk/sample_data_server/sample_data.py +0 -50
  193. packages/tmsi/build/lib/apex_sdk/sample_data_server/sample_data_server.py +0 -136
  194. packages/tmsi/build/lib/apex_sdk/tmsi_errors/error.py +0 -126
  195. packages/tmsi/build/lib/apex_sdk/tmsi_sdk.py +0 -113
  196. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/apex/apex_structure_generator.py +0 -134
  197. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/decorators.py +0 -60
  198. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/logger_filter.py +0 -42
  199. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/singleton.py +0 -42
  200. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/support_functions.py +0 -72
  201. packages/tmsi/build/lib/apex_sdk/tmsi_utilities/tmsi_logger.py +0 -98
  202. py_neuromodulation/nm_EpochStream.py +0 -92
  203. py_neuromodulation/nm_across_patient_decoding.py +0 -927
  204. py_neuromodulation/nm_cohortwrapper.py +0 -435
  205. py_neuromodulation/nm_eval_timing.py +0 -239
  206. py_neuromodulation/nm_features_abc.py +0 -39
  207. py_neuromodulation/nm_stream_offline.py +0 -358
  208. py_neuromodulation/utils/_logging.py +0 -24
  209. py_neuromodulation-0.0.3.dist-info/RECORD +0 -188
  210. py_neuromodulation-0.0.3.dist-info/top_level.txt +0 -5
  211. tests/__init__.py +0 -0
  212. tests/conftest.py +0 -117
  213. tests/test_all_examples.py +0 -10
  214. tests/test_all_features.py +0 -63
  215. tests/test_bispectra.py +0 -70
  216. tests/test_bursts.py +0 -105
  217. tests/test_feature_sampling_rates.py +0 -143
  218. tests/test_fooof.py +0 -16
  219. tests/test_initalization_offline_stream.py +0 -41
  220. tests/test_multiprocessing.py +0 -58
  221. tests/test_nan_values.py +0 -29
  222. tests/test_nm_filter.py +0 -95
  223. tests/test_nm_resample.py +0 -63
  224. tests/test_normalization_settings.py +0 -146
  225. tests/test_notch_filter.py +0 -31
  226. tests/test_osc_features.py +0 -424
  227. tests/test_preprocessing_filter.py +0 -151
  228. tests/test_rereference.py +0 -171
  229. tests/test_sampling.py +0 -57
  230. tests/test_settings_change_after_init.py +0 -76
  231. tests/test_sharpwave.py +0 -165
  232. tests/test_target_channel_add.py +0 -100
  233. tests/test_timing.py +0 -80
@@ -1,182 +1,185 @@
1
- Metadata-Version: 2.1
2
- Name: py_neuromodulation
3
- Version: 0.0.3
4
- Summary: Real-time analysis of intracranial neurophysiology recordings.
5
- Author-email: Timon Merk <timon.merk@charite.de>
6
- Maintainer: Timon Merk
7
- License: MIT License
8
-
9
- Copyright (c) 2021 Interventional Cognitive Neuromodulation - Neumann Lab Berlin
10
-
11
- Permission is hereby granted, free of charge, to any person obtaining a copy
12
- of this software and associated documentation files (the "Software"), to deal
13
- in the Software without restriction, including without limitation the rights
14
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
- copies of the Software, and to permit persons to whom the Software is
16
- furnished to do so, subject to the following conditions:
17
-
18
- The above copyright notice and this permission notice shall be included in all
19
- copies or substantial portions of the Software.
20
-
21
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
- SOFTWARE.
28
-
29
- Project-URL: bugtracker, https://github.com/neuromodulation/py_neuromodulation/issues
30
- Project-URL: repository, https://github.com/neuromodulation/py_neuromodulation
31
- Keywords: real-time,eeg,ieeg,dbs,ecog,electrocorticography,deep-brain-stimulation,machine-learning
32
- Classifier: Development Status :: 2 - Pre-Alpha
33
- Classifier: License :: OSI Approved :: MIT License
34
- Classifier: Programming Language :: Python
35
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
36
- Requires-Python: >=3.10
37
- Description-Content-Type: text/x-rst
38
- License-File: LICENSE
39
- Requires-Dist: mne
40
- Requires-Dist: filterpy >=1.4.5
41
- Requires-Dist: fooof
42
- Requires-Dist: imbalanced-learn
43
- Requires-Dist: matplotlib >=3.3.4
44
- Requires-Dist: mne-bids >=0.8
45
- Requires-Dist: mne-connectivity
46
- Requires-Dist: mrmr-selection
47
- Requires-Dist: nolds
48
- Requires-Dist: numpy >=1.21.2
49
- Requires-Dist: pandas >=1.2.2
50
- Requires-Dist: pip
51
- Requires-Dist: pynput
52
- Requires-Dist: pybids
53
- Requires-Dist: scikit-image
54
- Requires-Dist: scikit-learn >=0.24.2
55
- Requires-Dist: scikit-optimize
56
- Requires-Dist: scipy >=1.7.1
57
- Requires-Dist: seaborn >=0.11
58
- Requires-Dist: notebook
59
- Requires-Dist: ipython
60
- Requires-Dist: pybispectra >=1.0.0
61
- Requires-Dist: pyparrm
62
- Requires-Dist: pyarrow >=14.0.2
63
- Requires-Dist: joblib >=1.3.2
64
- Requires-Dist: black >=24.2.0
65
- Requires-Dist: pytest >=8.0.2
66
- Requires-Dist: wget
67
- Provides-Extra: dev
68
- Requires-Dist: black ; extra == 'dev'
69
- Requires-Dist: pytest ; extra == 'dev'
70
- Requires-Dist: pytest-cov ; extra == 'dev'
71
-
72
- py_neuromodulation
73
- ==================
74
-
75
- Analyzing neural data can be a troublesome, trial and error prone,
76
- and beginner unfriendly process. *py_neuromodulation* allows using a simple
77
- interface for extraction of established neurophysiological features and includes commonly applied pre -and postprocessing methods.
78
-
79
- Only **time series data** with a corresponding **sampling frequency** are required for feature extraction.
80
-
81
- The output will be a `pandas.DataFrame <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html>`_ including different time-resolved computed features. Internally a **stream** get's initialized,
82
- which resembles an *online* data-stream that can in theory also be be used with a hardware acquisition system.
83
-
84
- The following features are currently included:
85
-
86
- * oscillatory: fft, stft or bandpass filtered band power
87
- * `temporal waveform shape <https://www.sciencedirect.com/science/article/pii/S1364661316302182>`_
88
- * `fooof <https://fooof-tools.github.io/fooof/>`_
89
- * `mne_connectivity estimates <https://mne.tools/mne-connectivity/stable/index.html>`_
90
- * `Hjorth parameter <https://en.wikipedia.org/wiki/Hjorth_parameters>`_
91
- * `non-linear dynamical estimates <https://nolds.readthedocs.io/en/latest/>`_
92
- * various burst features
93
- * line length
94
- * and more...
95
-
96
-
97
- Find here the preprint of **py_neuromodulation** called *"Invasive neurophysiology and whole brain connectomics for neural decoding in patients with brain implants"* [1]_.
98
-
99
- The original intention for writing this toolbox was movement decoding from invasive brain signals [2]_.
100
- The application however could be any neural decoding problem.
101
- *py_neuromodulation* offers wrappers around common practice machine learning methods for efficient analysis.
102
-
103
- Find the documentation here http://py-neuromodulation.readthedocs.io for example usage and parametrization.
104
-
105
- Installation
106
- ============
107
-
108
- py_neuromodulation requires at least python 3.10. For installation you can use pip:
109
-
110
- .. code-block::
111
-
112
- pip install py-neuromodulation
113
-
114
-
115
- We recommend however installing the package using `rye <https://rye-up.com/guide/installation/>`_:
116
-
117
- .. code-block::
118
-
119
- git clone https://github.com/neuromodulation/py_neuromodulation.git
120
- rye pin 3.11
121
- rye sync
122
-
123
- And then activating the virtual environment e.g. in Windows using:
124
-
125
- .. code-block::
126
-
127
- .\.venv\Scripts\activate
128
-
129
- Alternatively you can also install the package in a conda environment:
130
-
131
- conda create -n pynm-test python=3.11
132
- conda activate pynm-test
133
-
134
- Then install the packages listed in the `pyproject.toml`:
135
-
136
- .. code-block::
137
-
138
- pip install .
139
-
140
-
141
- Optionally the ipython kernel can be specified for the installed pynm-test conda environment:
142
-
143
- .. code-block::
144
-
145
- ipython kernel install --user --name=pynm-test
146
-
147
- Then *py_neuromodulation* can be imported via:
148
-
149
- .. code-block::
150
-
151
- import py_neuromodulation as nm
152
-
153
- Basic Usage
154
- ===========
155
-
156
- .. code-block:: python
157
-
158
- import py_neuromodulation as nm
159
- import numpy as np
160
-
161
- NUM_CHANNELS = 5
162
- NUM_DATA = 10000
163
- sfreq = 1000 # Hz
164
- sampling_rate_features_hz = 3 # Hz
165
-
166
- data = np.random.random([NUM_CHANNELS, NUM_DATA])
167
-
168
- stream = nm.Stream(sfreq=sfreq, data=data, sampling_rate_features_hz=sampling_rate_features_hz)
169
- features = stream.run()
170
-
171
- Check the `Usage <https://py-neuromodulation.readthedocs.io/en/latest/usage.html>`_ and `First examples <https://py-neuromodulation.readthedocs.io/en/latest/auto_examples/plot_0_first_demo.html>`_ for further introduction.
172
-
173
- Contact information
174
- -------------------
175
- For any question or suggestion please find my contact
176
- information at `my GitHub profile <https://github.com/timonmerk>`_.
177
-
178
- References
179
- ----------
180
-
181
- .. [1] Merk, T. et al. *Invasive neurophysiology and whole brain connectomics for neural decoding in patients with brain implants*, `https://doi.org/10.21203/rs.3.rs-3212709/v1` (2023).
182
- .. [2] Merk, T. et al. *Electrocorticography is superior to subthalamic local field potentials for movement decoding in Parkinson’s disease*. Elife 11, e75126, `https://doi.org/10.7554/eLife.75126` (2022).
1
+ Metadata-Version: 2.3
2
+ Name: py_neuromodulation
3
+ Version: 0.0.5
4
+ Summary: Real-time analysis of intracranial neurophysiology recordings.
5
+ Project-URL: bugtracker, https://github.com/neuromodulation/py_neuromodulation/issues
6
+ Project-URL: repository, https://github.com/neuromodulation/py_neuromodulation
7
+ Author-email: Timon Merk <timon.merk@charite.de>
8
+ Maintainer: Timon Merk
9
+ License: MIT License
10
+
11
+ Copyright (c) 2021 Interventional Cognitive Neuromodulation - Neumann Lab Berlin
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in all
21
+ copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
+ SOFTWARE.
30
+ License-File: LICENSE
31
+ Keywords: dbs,deep-brain-stimulation,ecog,eeg,electrocorticography,ieeg,machine-learning,real-time
32
+ Classifier: Development Status :: 2 - Pre-Alpha
33
+ Classifier: License :: OSI Approved :: MIT License
34
+ Classifier: Programming Language :: Python
35
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
36
+ Requires-Python: >=3.10
37
+ Requires-Dist: filterpy>=1.4.5
38
+ Requires-Dist: fooof
39
+ Requires-Dist: hatch>=1.9.4
40
+ Requires-Dist: imbalanced-learn
41
+ Requires-Dist: joblib>=1.3.2
42
+ Requires-Dist: matplotlib>=3.9.0
43
+ Requires-Dist: mne
44
+ Requires-Dist: mne-bids>=0.8
45
+ Requires-Dist: mne-connectivity
46
+ Requires-Dist: mne-lsl>=1.2.0
47
+ Requires-Dist: mrmr-selection
48
+ Requires-Dist: nibabel>=5.2.1
49
+ Requires-Dist: nolds
50
+ Requires-Dist: numpy>=1.21.2
51
+ Requires-Dist: pandas>=2.0.0
52
+ Requires-Dist: pip>=24.2
53
+ Requires-Dist: pyarrow>=14.0.2
54
+ Requires-Dist: pybispectra>=1.0.0
55
+ Requires-Dist: pydantic>=2.7.3
56
+ Requires-Dist: pynput
57
+ Requires-Dist: pyparrm
58
+ Requires-Dist: pyqt5
59
+ Requires-Dist: scikit-image
60
+ Requires-Dist: scikit-learn>=0.24.2
61
+ Requires-Dist: scikit-optimize
62
+ Requires-Dist: scipy>=1.7.1
63
+ Requires-Dist: seaborn>=0.11
64
+ Requires-Dist: statsmodels
65
+ Provides-Extra: dev
66
+ Requires-Dist: notebook; extra == 'dev'
67
+ Requires-Dist: pytest-cov; extra == 'dev'
68
+ Requires-Dist: pytest-sugar; extra == 'dev'
69
+ Requires-Dist: pytest>=8.0.2; extra == 'dev'
70
+ Requires-Dist: ruff; extra == 'dev'
71
+ Provides-Extra: docs
72
+ Requires-Dist: notebook; extra == 'docs'
73
+ Requires-Dist: numpydoc; extra == 'docs'
74
+ Requires-Dist: pydata-sphinx-theme; extra == 'docs'
75
+ Requires-Dist: pytest-cov; extra == 'docs'
76
+ Requires-Dist: pytest-sugar; extra == 'docs'
77
+ Requires-Dist: pytest>=8.0.2; extra == 'docs'
78
+ Requires-Dist: recommonmark; extra == 'docs'
79
+ Requires-Dist: ruff; extra == 'docs'
80
+ Requires-Dist: sphinx; extra == 'docs'
81
+ Requires-Dist: sphinx-gallery; extra == 'docs'
82
+ Requires-Dist: sphinx-togglebutton; extra == 'docs'
83
+ Provides-Extra: test
84
+ Requires-Dist: pytest-xdist; extra == 'test'
85
+ Requires-Dist: pytest>=8.0.2; extra == 'test'
86
+ Description-Content-Type: text/x-rst
87
+
88
+ py_neuromodulation
89
+ ==================
90
+
91
+ Analyzing neural data can be a troublesome, trial and error prone,
92
+ and beginner unfriendly process. *py_neuromodulation* allows using a simple
93
+ interface for extraction of established neurophysiological features and includes commonly applied pre -and postprocessing methods.
94
+
95
+ Only **time series data** with a corresponding **sampling frequency** are required for feature extraction.
96
+
97
+ The output will be a `pandas.DataFrame <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html>`_ including different time-resolved computed features. Internally a **stream** get's initialized,
98
+ which resembles an *online* data-stream that can in theory also be be used with a hardware acquisition system.
99
+
100
+ The following features are currently included:
101
+
102
+ * oscillatory: fft, stft or bandpass filtered band power
103
+ * `temporal waveform shape <https://www.sciencedirect.com/science/article/pii/S1364661316302182>`_
104
+ * `fooof <https://fooof-tools.github.io/fooof/>`_
105
+ * `mne_connectivity estimates <https://mne.tools/mne-connectivity/stable/index.html>`_
106
+ * `Hjorth parameter <https://en.wikipedia.org/wiki/Hjorth_parameters>`_
107
+ * `non-linear dynamical estimates <https://nolds.readthedocs.io/en/latest/>`_
108
+ * various burst features
109
+ * line length
110
+ * and more...
111
+
112
+
113
+ Find here the preprint of **py_neuromodulation** called *"Invasive neurophysiology and whole brain connectomics for neural decoding in patients with brain implants"* [1]_.
114
+
115
+ The original intention for writing this toolbox was movement decoding from invasive brain signals [2]_.
116
+ The application however could be any neural decoding problem.
117
+ *py_neuromodulation* offers wrappers around common practice machine learning methods for efficient analysis.
118
+
119
+ Find the documentation here http://py-neuromodulation.readthedocs.io for example usage and parametrization.
120
+
121
+ Installation
122
+ ============
123
+
124
+ py_neuromodulation requires at least python 3.10. For installation you can use pip:
125
+
126
+ .. code-block::
127
+
128
+ pip install py-neuromodulation
129
+
130
+ Alternatively you can also install the package in a conda environment:
131
+
132
+ .. code-block::
133
+
134
+ conda create -n pynm-test python=3.11
135
+ conda activate pynm-test
136
+
137
+ Then install the packages listed in the `pyproject.toml`:
138
+
139
+ .. code-block::
140
+
141
+ pip install .
142
+
143
+
144
+ Optionally the ipython kernel can be specified for the installed pynm-test conda environment:
145
+
146
+ .. code-block::
147
+
148
+ ipython kernel install --user --name=pynm-test
149
+
150
+ Then *py_neuromodulation* can be imported via:
151
+
152
+ .. code-block::
153
+
154
+ import py_neuromodulation as nm
155
+
156
+ Basic Usage
157
+ ===========
158
+
159
+ .. code-block:: python
160
+
161
+ import py_neuromodulation as nm
162
+ import numpy as np
163
+
164
+ NUM_CHANNELS = 5
165
+ NUM_DATA = 10000
166
+ sfreq = 1000 # Hz
167
+ sampling_rate_features_hz = 3 # Hz
168
+
169
+ data = np.random.random([NUM_CHANNELS, NUM_DATA])
170
+
171
+ stream = nm.Stream(sfreq=sfreq, data=data, sampling_rate_features_hz=sampling_rate_features_hz)
172
+ features = stream.run()
173
+
174
+ Check the `Usage <https://py-neuromodulation.readthedocs.io/en/latest/usage.html>`_ and `First examples <https://py-neuromodulation.readthedocs.io/en/latest/auto_examples/plot_0_first_demo.html>`_ for further introduction.
175
+
176
+ Contact information
177
+ -------------------
178
+ For any question or suggestion please find my contact
179
+ information at `my GitHub profile <https://github.com/timonmerk>`_.
180
+
181
+ References
182
+ ----------
183
+
184
+ .. [1] Merk, T. et al. *Invasive neurophysiology and whole brain connectomics for neural decoding in patients with brain implants*, `https://doi.org/10.21203/rs.3.rs-3212709/v1` (2023).
185
+ .. [2] Merk, T. et al. *Electrocorticography is superior to subthalamic local field potentials for movement decoding in Parkinson’s disease*. Elife 11, e75126, `https://doi.org/10.7554/eLife.75126` (2022).
@@ -0,0 +1,83 @@
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,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: hatchling 1.25.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 Interventional Cognitive Neuromodulation - Neumann Lab Berlin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Interventional Cognitive Neuromodulation - Neumann Lab Berlin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,68 +0,0 @@
1
- """
2
- ===================
3
- Adding New Features
4
- ===================
5
-
6
- """
7
-
8
- import py_neuromodulation as pn
9
- from py_neuromodulation import nm_features_abc
10
- import numpy as np
11
- from typing import Iterable
12
-
13
- # %%
14
- # In this example we will demonstrate how a new feature can be added to the existing feature pipeline.
15
- # This can be done simply by adding an object of the inherited :class:`~nm_features_abc.Feature`
16
- # class to the stream `stream.run_analysis.features.features` list.
17
-
18
- data = np.random.random([1, 1000])
19
-
20
- stream = pn.Stream(sfreq=1000, data=data, sampling_rate_features_hz=10, verbose=False,)
21
-
22
- class NewFeature(nm_features_abc.Feature):
23
-
24
- def __init__(
25
- self, settings: dict, ch_names: Iterable[str], sfreq: float
26
- ) -> None:
27
- self.s = settings
28
- self.ch_names = ch_names
29
-
30
- def calc_feature(self, data: np.array, features_compute: dict) -> dict:
31
- for ch_idx, ch in enumerate(self.ch_names):
32
- features_compute[f"new_feature_{ch}"] = np.mean(data[ch_idx, :])
33
-
34
- return features_compute
35
-
36
- def test_settings():
37
- pass
38
-
39
- newFeature = NewFeature(stream.settings, list(stream.nm_channels["name"]), stream.sfreq)
40
- stream.run_analysis.features.features.append(newFeature)
41
-
42
- features = stream.run_analysis.process(data)
43
- feature_name = f"new_feature_{stream.nm_channels['name'][0]}"
44
-
45
- print(f"{feature_name}: {features[feature_name]}")
46
-
47
- # %%
48
- # This example shows a simple newly instantiated feature class called `NewFeature`.
49
- # The instantiated `newFeature` object could then be added to the existing feature list by calling
50
- # `stream.run_analysis.features.features.append(newFeature)`.
51
- #
52
- # To permanently add a novel feature, the new feature class needs to be added to
53
- # the :class:`~nm_features` class. This can be done by inserting the feature_name in
54
- # in the :class:`~nm_features.Feature` init function:
55
- #
56
- # .. code-block:: python
57
- #
58
- # for feature in s["features"]:
59
- # if s["features"][feature] is False:
60
- # continue
61
- # match feature:
62
- # case "new_feature":
63
- # FeatureClass = nm_new_feature.NewFeature
64
- # ...
65
- #
66
- # The new feature class can then be used by setting the `settings["feature"]["new_feature"]` value in the
67
- # settings to true.
68
- #