py-neuromodulation 0.0.4__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.
Files changed (109) hide show
  1. py_neuromodulation/ConnectivityDecoding/_get_grid_hull.m +34 -34
  2. py_neuromodulation/ConnectivityDecoding/_get_grid_whole_brain.py +95 -106
  3. py_neuromodulation/ConnectivityDecoding/_helper_write_connectome.py +107 -119
  4. py_neuromodulation/__init__.py +80 -13
  5. py_neuromodulation/{nm_RMAP.py → analysis/RMAP.py} +496 -531
  6. py_neuromodulation/analysis/__init__.py +4 -0
  7. py_neuromodulation/{nm_decode.py → analysis/decode.py} +918 -992
  8. py_neuromodulation/{nm_analysis.py → analysis/feature_reader.py} +994 -1074
  9. py_neuromodulation/{nm_plots.py → analysis/plots.py} +627 -612
  10. py_neuromodulation/{nm_stats.py → analysis/stats.py} +458 -480
  11. py_neuromodulation/data/README +6 -6
  12. py_neuromodulation/data/dataset_description.json +8 -8
  13. py_neuromodulation/data/participants.json +32 -32
  14. py_neuromodulation/data/participants.tsv +2 -2
  15. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_coordsystem.json +5 -5
  16. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_space-mni_electrodes.tsv +11 -11
  17. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_channels.tsv +11 -11
  18. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.json +18 -18
  19. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr +35 -35
  20. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk +13 -13
  21. py_neuromodulation/data/sub-testsub/ses-EphysMedOff/sub-testsub_ses-EphysMedOff_scans.tsv +2 -2
  22. py_neuromodulation/default_settings.yaml +241 -0
  23. py_neuromodulation/features/__init__.py +31 -0
  24. py_neuromodulation/features/bandpower.py +165 -0
  25. py_neuromodulation/features/bispectra.py +157 -0
  26. py_neuromodulation/features/bursts.py +297 -0
  27. py_neuromodulation/features/coherence.py +255 -0
  28. py_neuromodulation/features/feature_processor.py +121 -0
  29. py_neuromodulation/features/fooof.py +142 -0
  30. py_neuromodulation/features/hjorth_raw.py +57 -0
  31. py_neuromodulation/features/linelength.py +21 -0
  32. py_neuromodulation/features/mne_connectivity.py +148 -0
  33. py_neuromodulation/features/nolds.py +94 -0
  34. py_neuromodulation/features/oscillatory.py +249 -0
  35. py_neuromodulation/features/sharpwaves.py +432 -0
  36. py_neuromodulation/filter/__init__.py +3 -0
  37. py_neuromodulation/filter/kalman_filter.py +67 -0
  38. py_neuromodulation/filter/kalman_filter_external.py +1890 -0
  39. py_neuromodulation/filter/mne_filter.py +128 -0
  40. py_neuromodulation/filter/notch_filter.py +93 -0
  41. py_neuromodulation/grid_cortex.tsv +40 -40
  42. py_neuromodulation/liblsl/libpugixml.so.1.12 +0 -0
  43. py_neuromodulation/liblsl/linux/bionic_amd64/liblsl.1.16.2.so +0 -0
  44. py_neuromodulation/liblsl/linux/bookworm_amd64/liblsl.1.16.2.so +0 -0
  45. py_neuromodulation/liblsl/linux/focal_amd46/liblsl.1.16.2.so +0 -0
  46. py_neuromodulation/liblsl/linux/jammy_amd64/liblsl.1.16.2.so +0 -0
  47. py_neuromodulation/liblsl/linux/jammy_x86/liblsl.1.16.2.so +0 -0
  48. py_neuromodulation/liblsl/linux/noble_amd64/liblsl.1.16.2.so +0 -0
  49. py_neuromodulation/liblsl/macos/amd64/liblsl.1.16.2.dylib +0 -0
  50. py_neuromodulation/liblsl/macos/arm64/liblsl.1.16.0.dylib +0 -0
  51. py_neuromodulation/liblsl/windows/amd64/liblsl.1.16.2.dll +0 -0
  52. py_neuromodulation/liblsl/windows/x86/liblsl.1.16.2.dll +0 -0
  53. py_neuromodulation/processing/__init__.py +10 -0
  54. py_neuromodulation/{nm_artifacts.py → processing/artifacts.py} +29 -25
  55. py_neuromodulation/processing/data_preprocessor.py +77 -0
  56. py_neuromodulation/processing/filter_preprocessing.py +78 -0
  57. py_neuromodulation/processing/normalization.py +175 -0
  58. py_neuromodulation/{nm_projection.py → processing/projection.py} +370 -394
  59. py_neuromodulation/{nm_rereference.py → processing/rereference.py} +97 -95
  60. py_neuromodulation/{nm_resample.py → processing/resample.py} +56 -50
  61. py_neuromodulation/stream/__init__.py +3 -0
  62. py_neuromodulation/stream/data_processor.py +325 -0
  63. py_neuromodulation/stream/generator.py +53 -0
  64. py_neuromodulation/stream/mnelsl_player.py +94 -0
  65. py_neuromodulation/stream/mnelsl_stream.py +120 -0
  66. py_neuromodulation/stream/settings.py +292 -0
  67. py_neuromodulation/stream/stream.py +427 -0
  68. py_neuromodulation/utils/__init__.py +2 -0
  69. py_neuromodulation/{nm_define_nmchannels.py → utils/channels.py} +305 -302
  70. py_neuromodulation/utils/database.py +149 -0
  71. py_neuromodulation/utils/io.py +378 -0
  72. py_neuromodulation/utils/keyboard.py +52 -0
  73. py_neuromodulation/utils/logging.py +66 -0
  74. py_neuromodulation/utils/types.py +251 -0
  75. {py_neuromodulation-0.0.4.dist-info → py_neuromodulation-0.0.6.dist-info}/METADATA +28 -33
  76. py_neuromodulation-0.0.6.dist-info/RECORD +89 -0
  77. {py_neuromodulation-0.0.4.dist-info → py_neuromodulation-0.0.6.dist-info}/WHEEL +1 -1
  78. {py_neuromodulation-0.0.4.dist-info → py_neuromodulation-0.0.6.dist-info}/licenses/LICENSE +21 -21
  79. py_neuromodulation/FieldTrip.py +0 -589
  80. py_neuromodulation/_write_example_dataset_helper.py +0 -65
  81. py_neuromodulation/nm_EpochStream.py +0 -92
  82. py_neuromodulation/nm_IO.py +0 -417
  83. py_neuromodulation/nm_across_patient_decoding.py +0 -927
  84. py_neuromodulation/nm_bispectra.py +0 -168
  85. py_neuromodulation/nm_bursts.py +0 -198
  86. py_neuromodulation/nm_coherence.py +0 -205
  87. py_neuromodulation/nm_cohortwrapper.py +0 -435
  88. py_neuromodulation/nm_eval_timing.py +0 -239
  89. py_neuromodulation/nm_features.py +0 -116
  90. py_neuromodulation/nm_features_abc.py +0 -39
  91. py_neuromodulation/nm_filter.py +0 -219
  92. py_neuromodulation/nm_filter_preprocessing.py +0 -91
  93. py_neuromodulation/nm_fooof.py +0 -159
  94. py_neuromodulation/nm_generator.py +0 -37
  95. py_neuromodulation/nm_hjorth_raw.py +0 -73
  96. py_neuromodulation/nm_kalmanfilter.py +0 -58
  97. py_neuromodulation/nm_linelength.py +0 -33
  98. py_neuromodulation/nm_mne_connectivity.py +0 -112
  99. py_neuromodulation/nm_nolds.py +0 -93
  100. py_neuromodulation/nm_normalization.py +0 -214
  101. py_neuromodulation/nm_oscillatory.py +0 -448
  102. py_neuromodulation/nm_run_analysis.py +0 -435
  103. py_neuromodulation/nm_settings.json +0 -338
  104. py_neuromodulation/nm_settings.py +0 -68
  105. py_neuromodulation/nm_sharpwaves.py +0 -401
  106. py_neuromodulation/nm_stream_abc.py +0 -218
  107. py_neuromodulation/nm_stream_offline.py +0 -359
  108. py_neuromodulation/utils/_logging.py +0 -24
  109. py_neuromodulation-0.0.4.dist-info/RECORD +0 -72
@@ -1,6 +1,6 @@
1
- References
2
- ----------
3
- Appelhoff, S., Sanderson, M., Brooks, T., Vliet, M., Quentin, R., Holdgraf, C., Chaumon, M., Mikulan, E., Tavabi, K., Höchenberger, R., Welke, D., Brunner, C., Rockhill, A., Larson, E., Gramfort, A. and Jas, M. (2019). MNE-BIDS: Organizing electrophysiological data into the BIDS format and facilitating their analysis. Journal of Open Source Software 4: (1896). https://doi.org/10.21105/joss.01896
4
-
5
- Holdgraf, C., Appelhoff, S., Bickel, S., Bouchard, K., D'Ambrosio, S., David, O., … Hermes, D. (2019). iEEG-BIDS, extending the Brain Imaging Data Structure specification to human intracranial electrophysiology. Scientific Data, 6, 102. https://doi.org/10.1038/s41597-019-0105-7
6
-
1
+ References
2
+ ----------
3
+ Appelhoff, S., Sanderson, M., Brooks, T., Vliet, M., Quentin, R., Holdgraf, C., Chaumon, M., Mikulan, E., Tavabi, K., Höchenberger, R., Welke, D., Brunner, C., Rockhill, A., Larson, E., Gramfort, A. and Jas, M. (2019). MNE-BIDS: Organizing electrophysiological data into the BIDS format and facilitating their analysis. Journal of Open Source Software 4: (1896). https://doi.org/10.21105/joss.01896
4
+
5
+ Holdgraf, C., Appelhoff, S., Bickel, S., Bouchard, K., D'Ambrosio, S., David, O., … Hermes, D. (2019). iEEG-BIDS, extending the Brain Imaging Data Structure specification to human intracranial electrophysiology. Scientific Data, 6, 102. https://doi.org/10.1038/s41597-019-0105-7
6
+
@@ -1,8 +1,8 @@
1
- {
2
- "Name": " ",
3
- "BIDSVersion": "1.7.0",
4
- "DatasetType": "raw",
5
- "Authors": [
6
- "[Unspecified]"
7
- ]
8
- }
1
+ {
2
+ "Name": " ",
3
+ "BIDSVersion": "1.7.0",
4
+ "DatasetType": "raw",
5
+ "Authors": [
6
+ "[Unspecified]"
7
+ ]
8
+ }
@@ -1,32 +1,32 @@
1
- {
2
- "participant_id": {
3
- "Description": "Unique participant identifier"
4
- },
5
- "age": {
6
- "Description": "Age of the participant at time of testing",
7
- "Units": "years"
8
- },
9
- "sex": {
10
- "Description": "Biological sex of the participant",
11
- "Levels": {
12
- "F": "female",
13
- "M": "male"
14
- }
15
- },
16
- "hand": {
17
- "Description": "Handedness of the participant",
18
- "Levels": {
19
- "R": "right",
20
- "L": "left",
21
- "A": "ambidextrous"
22
- }
23
- },
24
- "weight": {
25
- "Description": "Body weight of the participant",
26
- "Units": "kg"
27
- },
28
- "height": {
29
- "Description": "Body height of the participant",
30
- "Units": "m"
31
- }
32
- }
1
+ {
2
+ "participant_id": {
3
+ "Description": "Unique participant identifier"
4
+ },
5
+ "age": {
6
+ "Description": "Age of the participant at time of testing",
7
+ "Units": "years"
8
+ },
9
+ "sex": {
10
+ "Description": "Biological sex of the participant",
11
+ "Levels": {
12
+ "F": "female",
13
+ "M": "male"
14
+ }
15
+ },
16
+ "hand": {
17
+ "Description": "Handedness of the participant",
18
+ "Levels": {
19
+ "R": "right",
20
+ "L": "left",
21
+ "A": "ambidextrous"
22
+ }
23
+ },
24
+ "weight": {
25
+ "Description": "Body weight of the participant",
26
+ "Units": "kg"
27
+ },
28
+ "height": {
29
+ "Description": "Body height of the participant",
30
+ "Units": "m"
31
+ }
32
+ }
@@ -1,2 +1,2 @@
1
- participant_id age sex hand weight height
2
- sub-testsub n/a n/a n/a n/a n/a
1
+ participant_id age sex hand weight height
2
+ sub-testsub n/a n/a n/a n/a n/a
@@ -1,5 +1,5 @@
1
- {
2
- "iEEGCoordinateSystem": "Other",
3
- "iEEGCoordinateSystemDescription": "n/a",
4
- "iEEGCoordinateUnits": "m"
5
- }
1
+ {
2
+ "iEEGCoordinateSystem": "Other",
3
+ "iEEGCoordinateSystemDescription": "n/a",
4
+ "iEEGCoordinateUnits": "m"
5
+ }
@@ -1,11 +1,11 @@
1
- name x y z size impedance
2
- LFP_RIGHT_0 0.0118280802308701 -0.0151597482742092 -0.00776909845640809 n/a n/a
3
- LFP_RIGHT_1 0.0123908351968705 -0.0142925082817827 -0.0059367986990887 n/a n/a
4
- LFP_RIGHT_2 0.012930849148285701 -0.0134128499400548 -0.00409165661961333 n/a n/a
5
- ECOG_RIGHT_0 0.037318173999999996 -0.048610126639999994 0.06179765474 n/a n/a
6
- ECOG_RIGHT_1 0.0401598943 -0.037315929830000004 0.06431171618 n/a n/a
7
- ECOG_RIGHT_2 0.040943035780000005 -0.02721778456 0.06409518407999999 n/a n/a
8
- ECOG_RIGHT_3 0.03978395522 -0.01700523081 0.06386618136 n/a n/a
9
- ECOG_RIGHT_4 0.03968813641 -0.005528024572 0.06168254254 n/a n/a
10
- ECOG_RIGHT_5 0.03751915924 0.004304913414 0.060541263549999995 n/a n/a
11
- MOV_RIGHT n/a n/a n/a n/a n/a
1
+ name x y z size impedance
2
+ LFP_RIGHT_0 0.0118280802308701 -0.0151597482742092 -0.00776909845640809 n/a n/a
3
+ LFP_RIGHT_1 0.0123908351968705 -0.0142925082817827 -0.0059367986990887 n/a n/a
4
+ LFP_RIGHT_2 0.012930849148285701 -0.0134128499400548 -0.00409165661961333 n/a n/a
5
+ ECOG_RIGHT_0 0.037318173999999996 -0.048610126639999994 0.06179765474 n/a n/a
6
+ ECOG_RIGHT_1 0.0401598943 -0.037315929830000004 0.06431171618 n/a n/a
7
+ ECOG_RIGHT_2 0.040943035780000005 -0.02721778456 0.06409518407999999 n/a n/a
8
+ ECOG_RIGHT_3 0.03978395522 -0.01700523081 0.06386618136 n/a n/a
9
+ ECOG_RIGHT_4 0.03968813641 -0.005528024572 0.06168254254 n/a n/a
10
+ ECOG_RIGHT_5 0.03751915924 0.004304913414 0.060541263549999995 n/a n/a
11
+ MOV_RIGHT n/a n/a n/a n/a n/a
@@ -1,11 +1,11 @@
1
- name type units low_cutoff high_cutoff description sampling_frequency status status_description
2
- LFP_RIGHT_0 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
3
- LFP_RIGHT_1 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
4
- LFP_RIGHT_2 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
5
- ECOG_RIGHT_0 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
6
- ECOG_RIGHT_1 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
7
- ECOG_RIGHT_2 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
8
- ECOG_RIGHT_3 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
9
- ECOG_RIGHT_4 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
10
- ECOG_RIGHT_5 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
11
- MOV_RIGHT MISC µV 0.0 500.0 Miscellaneous 1000.0 good n/a
1
+ name type units low_cutoff high_cutoff description sampling_frequency status status_description
2
+ LFP_RIGHT_0 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
3
+ LFP_RIGHT_1 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
4
+ LFP_RIGHT_2 DBS µV 0.0 500.0 Deep Brain Stimulation 1000.0 good n/a
5
+ ECOG_RIGHT_0 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
6
+ ECOG_RIGHT_1 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
7
+ ECOG_RIGHT_2 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
8
+ ECOG_RIGHT_3 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
9
+ ECOG_RIGHT_4 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
10
+ ECOG_RIGHT_5 ECOG µV 0.0 500.0 Electrocorticography 1000.0 good n/a
11
+ MOV_RIGHT MISC µV 0.0 500.0 Miscellaneous 1000.0 good n/a
@@ -1,18 +1,18 @@
1
- {
2
- "TaskName": "gripforce",
3
- "Manufacturer": "Brain Products",
4
- "PowerLineFrequency": 60.0,
5
- "SamplingFrequency": 1000.0,
6
- "SoftwareFilters": "n/a",
7
- "RecordingDuration": 19.0,
8
- "RecordingType": "continuous",
9
- "iEEGReference": "n/a",
10
- "ECOGChannelCount": 6,
11
- "SEEGChannelCount": 3,
12
- "EEGChannelCount": 0,
13
- "EOGChannelCount": 0,
14
- "ECGChannelCount": 0,
15
- "EMGChannelCount": 0,
16
- "MiscChannelCount": 1,
17
- "TriggerChannelCount": 0
18
- }
1
+ {
2
+ "TaskName": "gripforce",
3
+ "Manufacturer": "Brain Products",
4
+ "PowerLineFrequency": 60.0,
5
+ "SamplingFrequency": 1000.0,
6
+ "SoftwareFilters": "n/a",
7
+ "RecordingDuration": 19.0,
8
+ "RecordingType": "continuous",
9
+ "iEEGReference": "n/a",
10
+ "ECOGChannelCount": 6,
11
+ "SEEGChannelCount": 3,
12
+ "EEGChannelCount": 0,
13
+ "EOGChannelCount": 0,
14
+ "ECGChannelCount": 0,
15
+ "EMGChannelCount": 0,
16
+ "MiscChannelCount": 1,
17
+ "TriggerChannelCount": 0
18
+ }
@@ -1,35 +1,35 @@
1
- Brain Vision Data Exchange Header File Version 1.0
2
- ; Written using pybv 0.7.5
3
-
4
- [Common Infos]
5
- Codepage=UTF-8
6
- DataFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg
7
- MarkerFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk
8
- DataFormat=BINARY
9
- ; Data orientation: MULTIPLEXED=ch1,pt1, ch2,pt1 ...
10
- DataOrientation=MULTIPLEXED
11
- NumberOfChannels=10
12
- ; Sampling interval in microseconds
13
- SamplingInterval=1000.0
14
-
15
- [Binary Infos]
16
- BinaryFormat=IEEE_FLOAT_32
17
-
18
- [Channel Infos]
19
- ; Each entry: Ch<Channel number>=<Name>,<Reference channel name>,
20
- ; <Resolution in "Unit">,<Unit>, Future extensions..
21
- ; Fields are delimited by commas, some fields might be omitted (empty).
22
- ; Commas in channel names are coded as "\1".
23
- Ch1=LFP_RIGHT_0,,0.1,µV
24
- Ch2=LFP_RIGHT_1,,0.1,µV
25
- Ch3=LFP_RIGHT_2,,0.1,µV
26
- Ch4=ECOG_RIGHT_0,,0.1,µV
27
- Ch5=ECOG_RIGHT_1,,0.1,µV
28
- Ch6=ECOG_RIGHT_2,,0.1,µV
29
- Ch7=ECOG_RIGHT_3,,0.1,µV
30
- Ch8=ECOG_RIGHT_4,,0.1,µV
31
- Ch9=ECOG_RIGHT_5,,0.1,µV
32
- Ch10=MOV_RIGHT,,0.1,µV
33
-
34
- [Comment]
35
-
1
+ Brain Vision Data Exchange Header File Version 1.0
2
+ ; Written using pybv 0.7.5
3
+
4
+ [Common Infos]
5
+ Codepage=UTF-8
6
+ DataFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg
7
+ MarkerFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vmrk
8
+ DataFormat=BINARY
9
+ ; Data orientation: MULTIPLEXED=ch1,pt1, ch2,pt1 ...
10
+ DataOrientation=MULTIPLEXED
11
+ NumberOfChannels=10
12
+ ; Sampling interval in microseconds
13
+ SamplingInterval=1000.0
14
+
15
+ [Binary Infos]
16
+ BinaryFormat=IEEE_FLOAT_32
17
+
18
+ [Channel Infos]
19
+ ; Each entry: Ch<Channel number>=<Name>,<Reference channel name>,
20
+ ; <Resolution in "Unit">,<Unit>, Future extensions..
21
+ ; Fields are delimited by commas, some fields might be omitted (empty).
22
+ ; Commas in channel names are coded as "\1".
23
+ Ch1=LFP_RIGHT_0,,0.1,µV
24
+ Ch2=LFP_RIGHT_1,,0.1,µV
25
+ Ch3=LFP_RIGHT_2,,0.1,µV
26
+ Ch4=ECOG_RIGHT_0,,0.1,µV
27
+ Ch5=ECOG_RIGHT_1,,0.1,µV
28
+ Ch6=ECOG_RIGHT_2,,0.1,µV
29
+ Ch7=ECOG_RIGHT_3,,0.1,µV
30
+ Ch8=ECOG_RIGHT_4,,0.1,µV
31
+ Ch9=ECOG_RIGHT_5,,0.1,µV
32
+ Ch10=MOV_RIGHT,,0.1,µV
33
+
34
+ [Comment]
35
+
@@ -1,13 +1,13 @@
1
- Brain Vision Data Exchange Marker File, Version 1.0
2
- ; Exported using pybv 0.7.5
3
-
4
- [Common Infos]
5
- Codepage=UTF-8
6
- DataFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg
7
-
8
- [Marker Infos]
9
- ; Each entry: Mk<Marker number>=<Type>,<Description>,<Position in data points>,
10
- ; <Size in data points>, <Channel number (0 = marker is related to all channels)>
11
- ; <Date (YYYYMMDDhhmmssuuuuuu)>
12
- ; Fields are delimited by commas, some fields might be omitted (empty).
13
- ; Commas in type or description text are coded as "\1".
1
+ Brain Vision Data Exchange Marker File, Version 1.0
2
+ ; Exported using pybv 0.7.5
3
+
4
+ [Common Infos]
5
+ Codepage=UTF-8
6
+ DataFile=sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.eeg
7
+
8
+ [Marker Infos]
9
+ ; Each entry: Mk<Marker number>=<Type>,<Description>,<Position in data points>,
10
+ ; <Size in data points>, <Channel number (0 = marker is related to all channels)>
11
+ ; <Date (YYYYMMDDhhmmssuuuuuu)>
12
+ ; Fields are delimited by commas, some fields might be omitted (empty).
13
+ ; Commas in type or description text are coded as "\1".
@@ -1,2 +1,2 @@
1
- filename acq_time
2
- ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr n/a
1
+ filename acq_time
2
+ ieeg/sub-testsub_ses-EphysMedOff_task-gripforce_run-0_ieeg.vhdr n/a
@@ -0,0 +1,241 @@
1
+ ---
2
+ ########################
3
+ ### General settings ###
4
+ ########################
5
+ sampling_rate_features_hz: 10
6
+ segment_length_features_ms: 1000
7
+
8
+ frequency_ranges_hz: # frequency band ranges can be added, removed and altered
9
+ theta: [4, 8]
10
+ alpha: [8, 12]
11
+ low_beta: [13, 20]
12
+ high_beta: [20, 35]
13
+ low_gamma: [60, 80]
14
+ high_gamma: [90, 200]
15
+ HFA: [200, 400]
16
+
17
+ # Enabled features
18
+ features:
19
+ raw_hjorth: true
20
+ return_raw: true
21
+ bandpass_filter: false
22
+ stft: false
23
+ fft: true
24
+ welch: true
25
+ sharpwave_analysis: true
26
+ fooof: false
27
+ bursts: true
28
+ linelength: true
29
+ coherence: false
30
+ nolds: false
31
+ mne_connectivity: false
32
+ bispectrum: false
33
+
34
+ ##############################
35
+ ### Preprocessing settings ###
36
+ ##############################
37
+ # preprocessing options: raw_resampling, notch_filter, re_referencing, preprocessing_filter, raw_normalization
38
+ # note: the list order specifies also the order of execution
39
+ preprocessing: [raw_resampling, notch_filter, re_referencing]
40
+
41
+ raw_resampling_settings:
42
+ resample_freq_hz: 1000
43
+
44
+ raw_normalization_settings:
45
+ normalization_time_s: 30
46
+ normalization_method: zscore # supported methods: mean, median, zscore, zscore-median, quantile, power, robust, minmax
47
+ clip: 3
48
+
49
+ preprocessing_filter:
50
+ bandstop_filter: true
51
+ lowpass_filter: true
52
+ highpass_filter: true
53
+ bandpass_filter: true
54
+ bandstop_filter_settings:
55
+ frequency_low_hz: 100
56
+ frequency_high_hz: 160
57
+ bandpass_filter_settings:
58
+ frequency_low_hz: 3
59
+ frequency_high_hz: 200
60
+ lowpass_filter_cutoff_hz: 200
61
+ highpass_filter_cutoff_hz: 3
62
+
63
+ ################################
64
+ ### Postprocessing settings ####
65
+ ################################
66
+ postprocessing:
67
+ feature_normalization: true
68
+ project_cortex: false
69
+ project_subcortex: false
70
+
71
+ feature_normalization_settings:
72
+ normalization_time_s: 30
73
+ normalization_method: zscore # supported methods: mean, median, zscore, zscore-median, quantile, power, robust, minmax
74
+ clip: 3
75
+
76
+ project_cortex_settings:
77
+ max_dist_mm: 20
78
+
79
+ project_subcortex_settings:
80
+ max_dist_mm: 5
81
+
82
+ #################################
83
+ ### Feature specific settings ###
84
+ #################################
85
+
86
+ fft_settings:
87
+ windowlength_ms: 1000
88
+ log_transform: true
89
+ features:
90
+ mean: true
91
+ median: false
92
+ std: false
93
+ max: false
94
+ return_spectrum: false
95
+
96
+ welch_settings:
97
+ windowlength_ms: 1000
98
+ log_transform: true
99
+ features:
100
+ mean: true
101
+ median: false
102
+ std: false
103
+ max: false
104
+ return_spectrum: false
105
+
106
+ stft_settings:
107
+ windowlength_ms: 500
108
+ log_transform: true
109
+ features:
110
+ mean: true
111
+ median: false
112
+ std: false
113
+ max: false
114
+ return_spectrum: false
115
+
116
+ bandpass_filter_settings:
117
+ segment_lengths_ms:
118
+ theta: 1000
119
+ alpha: 500
120
+ low_beta: 333
121
+ high_beta: 333
122
+ low_gamma: 100
123
+ high_gamma: 100
124
+ HFA: 100
125
+ bandpower_features:
126
+ activity: true
127
+ mobility: false
128
+ complexity: false
129
+ log_transform: true
130
+ kalman_filter: false
131
+
132
+ kalman_filter_settings:
133
+ Tp: 0.1
134
+ sigma_w: 0.7
135
+ sigma_v: 1
136
+ frequency_bands:
137
+ [theta, alpha, low_beta, high_beta, low_gamma, high_gamma, HFA]
138
+
139
+ burst_settings:
140
+ threshold: 75
141
+ time_duration_s: 30
142
+ frequency_bands: [low_beta, high_beta, low_gamma]
143
+ burst_features:
144
+ duration: true
145
+ amplitude: true
146
+ burst_rate_per_s: true
147
+ in_burst: true
148
+
149
+ sharpwave_analysis_settings:
150
+ sharpwave_features:
151
+ peak_left: false
152
+ peak_right: false
153
+ num_peaks: false
154
+ trough: false
155
+ width: false
156
+ prominence: true
157
+ interval: true
158
+ decay_time: false
159
+ rise_time: false
160
+ sharpness: true
161
+ rise_steepness: false
162
+ decay_steepness: false
163
+ slope_ratio: false
164
+ filter_ranges_hz:
165
+ - frequency_low_hz: 5
166
+ frequency_high_hz: 80
167
+ - frequency_low_hz: 5
168
+ frequency_high_hz: 30
169
+ detect_troughs:
170
+ estimate: true
171
+ distance_troughs_ms: 10
172
+ distance_peaks_ms: 5
173
+ detect_peaks:
174
+ estimate: true
175
+ distance_troughs_ms: 5
176
+ distance_peaks_ms: 10
177
+ estimator:
178
+ mean: [interval]
179
+ median: []
180
+ max: [prominence, sharpness]
181
+ min: []
182
+ var: []
183
+ apply_estimator_between_peaks_and_troughs: true
184
+
185
+ coherence_settings:
186
+ channels: [] # List of channel pairs, empty by default. Each pair is a list of two channels.
187
+ # Example channels: [[STN_RIGHT_0, ECOG_RIGHT_0], [STN_RIGHT_1, ECOG_RIGHT_1]]
188
+ frequency_bands: [high_beta]
189
+ features:
190
+ mean_fband: true
191
+ max_fband: true
192
+ max_allfbands: true
193
+ method:
194
+ coh: true
195
+ icoh: true
196
+
197
+ fooof_settings:
198
+ aperiodic:
199
+ exponent: true
200
+ offset: true
201
+ knee: true
202
+ periodic:
203
+ center_frequency: false
204
+ band_width: false
205
+ height_over_ap: false
206
+ windowlength_ms: 800
207
+ peak_width_limits: [0.5, 12]
208
+ max_n_peaks: 3
209
+ min_peak_height: 0
210
+ peak_threshold: 2
211
+ freq_range_hz: [2, 40]
212
+ knee: true
213
+
214
+ nolds_settings:
215
+ sample_entropy: false
216
+ correlation_dimension: false
217
+ lyapunov_exponent: true
218
+ hurst_exponent: false
219
+ detrended_fluctutaion_analysis: false
220
+ data:
221
+ raw: true
222
+ frequency_bands: [low_beta]
223
+
224
+ mne_connectiviy_settings:
225
+ method: plv
226
+ mode: multitaper
227
+
228
+ bispectrum_settings:
229
+ f1s: [5, 35]
230
+ f2s: [5, 35]
231
+ compute_features_for_whole_fband_range: true
232
+ frequency_bands: [theta, alpha, low_beta, high_beta]
233
+ components:
234
+ absolute: true
235
+ real: true
236
+ imag: true
237
+ phase: true
238
+ bispectrum_features:
239
+ mean: true
240
+ sum: true
241
+ var: true
@@ -0,0 +1,31 @@
1
+ # Expose feature settings
2
+ from py_neuromodulation.features.bispectra import BispectraSettings
3
+ from py_neuromodulation.features.coherence import CoherenceSettings
4
+ from py_neuromodulation.features.fooof import FooofSettings
5
+ from py_neuromodulation.features.mne_connectivity import MNEConnectivitySettings
6
+ from py_neuromodulation.features.nolds import NoldsSettings
7
+ from py_neuromodulation.features.sharpwaves import SharpwaveSettings
8
+ from py_neuromodulation.features.bursts import BurstsSettings
9
+ from py_neuromodulation.features.oscillatory import OscillatorySettings
10
+ from py_neuromodulation.features.bandpower import BandPowerSettings
11
+
12
+
13
+ # Expose feature classes
14
+ from py_neuromodulation.features.linelength import LineLength
15
+ from py_neuromodulation.features.hjorth_raw import Hjorth, Raw
16
+ from py_neuromodulation.features.bispectra import Bispectra
17
+ from py_neuromodulation.features.coherence import Coherence
18
+ from py_neuromodulation.features.fooof import FooofAnalyzer
19
+ from py_neuromodulation.features.mne_connectivity import MNEConnectivity
20
+ from py_neuromodulation.features.nolds import Nolds
21
+ from py_neuromodulation.features.sharpwaves import SharpwaveAnalyzer
22
+ from py_neuromodulation.features.bursts import Bursts
23
+ from py_neuromodulation.features.oscillatory import FFT, STFT, Welch
24
+ from py_neuromodulation.features.bandpower import BandPower
25
+
26
+ # Expose feature processor and custom feature functions
27
+ from py_neuromodulation.features.feature_processor import (
28
+ FeatureProcessors,
29
+ add_custom_feature,
30
+ remove_custom_feature,
31
+ )