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,668 +0,0 @@
1
- """
2
- (c) 2022 Twente Medical Systems International B.V., Oldenzaal The Netherlands
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
-
16
- ####### # # ##### #
17
- # ## ## #
18
- # # # # # # #
19
- # # # # ##### #
20
- # # # # #
21
- # # # # #
22
- # # # ##### #
23
-
24
- /**
25
- * @file apex_API_structures.py
26
- * @brief
27
- * Structures useful for the use of the API.
28
- */
29
-
30
-
31
- """
32
-
33
- from ctypes import *
34
-
35
- # Protocol block definitions
36
-
37
- # ---
38
- # TMSiDevList
39
- # ---
40
- class TMSiDevList(Structure):
41
- _pack_ = 1
42
- _fields_ = [
43
- (
44
- "TMSiDeviceID",
45
- c_ushort,
46
- ), # Unique ID to identify device, used to open device.
47
- (
48
- "SerialNumberDataRecorder",
49
- c_uint,
50
- ), # The Data Recorder serial number.
51
- (
52
- "PairingStatus",
53
- c_ubyte,
54
- ), # The pairing status between the dongle and the recorder
55
- ("SerialNumberDongle", c_uint), # The Bluetooth Dongle serial number.
56
- ]
57
-
58
-
59
- # ---
60
- # TMSiDongleList
61
- # ---
62
- class TMSiDongleList(Structure):
63
- _pack_ = 1
64
- _fields_ = [
65
- (
66
- "TMSiDongleID",
67
- c_ushort,
68
- ), # Unique ID to identify a bluetooth-dongle, used for pairing and connect purposes.
69
- ("SerialNumber", c_uint), # The bluetooth-dongle serial number.
70
- ]
71
-
72
-
73
- # ---
74
- # TMSiDevInfoReport
75
- # ---
76
- class TMSiDevInfoReport(Structure):
77
- _pack_ = 1
78
- _fields_ = [
79
- ("SerialNumber", c_uint), # The Data Recorder serial number.
80
- ("DevID", c_ushort), # The device ID.
81
- ("APIVersion", c_ushort), # The current Front-End API version 0xUU.LL
82
- (
83
- "APIVersionString",
84
- c_char * 18,
85
- ), # The current Front-End API version string
86
- ("FWMCUVersion", c_ushort), # The current firmware version 0xUU.LL
87
- (
88
- "FWMCUVersionString",
89
- c_char * 18,
90
- ), # The current firmware version string
91
- (
92
- "FWBTPCVersion",
93
- c_ushort,
94
- ), # The current firmware version 0xUU.LL of the PC Bluetooth module
95
- (
96
- "FWBTPCVersionString",
97
- c_char * 18,
98
- ), # The current firmware version string of the PC Bluetooth module
99
- (
100
- "FWBTSensorVersion",
101
- c_ushort,
102
- ), # The current firmware version 0xUU.LL of the Sensor Bluetooth module
103
- (
104
- "FWBTSensorVersionString",
105
- c_char * 18,
106
- ), # The current firmware version string of the Sensor Bluetooth module
107
- (
108
- "NrOfHWChannels",
109
- c_ushort,
110
- ), # Total number of hardware channels (ExG, BIP, AUX).
111
- (
112
- "NrOfChannels",
113
- c_ushort,
114
- ), # Total number of hardware + software channels.
115
- ("NrOfImpChannels", c_ushort), # Total number of impedance channels.
116
- ("NrOfCyclingStates", c_ushort), # Total number of cycling states.
117
- (
118
- "DeviceName",
119
- c_char * 18,
120
- ), # Full device name 17 char string (zero terminated).
121
- ]
122
-
123
-
124
- # ---
125
- # TMSiDevPowerStatus
126
- # ---
127
- class TMSiDevPowerStatus(Structure):
128
- _pack_ = 1
129
- _fields_ = [
130
- ("BatTemp", c_short), # Battery temperature.
131
- ("BatVoltage", c_short), # Battery voltage in mV.
132
- (
133
- "BatRemainingCapacity",
134
- c_short,
135
- ), # Available battery capacity in mAh.
136
- ("BatFullChargeCapacity", c_short), # Max battery capacity in mAh.
137
- (
138
- "BatAverageCurrent",
139
- c_short,
140
- ), # Discharge current of the battery in mA.
141
- ("BatTimeToEmpty", c_short), # Estimated remaining min. before empty.
142
- ("BatStateOfCharge", c_short), # Estimated capacity in %.
143
- ("BatStateOfHealth", c_short), # Estimated battery health in %.
144
- ("BatCycleCount", c_short), # Battery charge cycles.
145
- ("ChargeStatus", c_short), # Battery charge cycles.
146
- ("ExternalPowerState", c_short), # N.A., Connected
147
- ]
148
-
149
-
150
- # ---
151
- # TMSiTime
152
- # ---
153
- class TMSiTime(Structure):
154
- _pack_ = 1
155
- _fields_ = [
156
- ("Seconds", c_short), # Time seconds.
157
- ("Minutes", c_short), # Time minutes.
158
- ("Hours", c_short), # Time Hours.
159
- ("DayOfMonth", c_short), # Time Day of month.
160
- ("Month", c_short), # Time month.
161
- ("Year", c_short), # Years Since 1900.
162
- ("WeekDay", c_short), # Day since Sunday.
163
- ("YearDay", c_short), # Day since January 1st.
164
- ]
165
-
166
-
167
- # ---
168
- # TMSiInterfaceStatus
169
- # ---
170
- class TMSiInterfaceStatus(Structure):
171
- _pack_ = 1
172
- _fields_ = [
173
- ("InterfaceControl", c_byte), # See <TMSiControlType>
174
- ("InterfaceStatus", c_byte), # See <TMSiInterfaceControlStatusType>
175
- ]
176
-
177
-
178
- # ---
179
- # TMSiDevSamplingCfg
180
- # ---
181
- class TMSiDevSamplingCfg(Structure):
182
- _pack_ = 1
183
- _fields_ = [
184
- (
185
- "BaseSampleRate",
186
- c_ushort,
187
- ), # The fs used for this config, 1024 or 1000.
188
- ("ImpedanceLimit", c_short), # The impedance limit for signal quality.
189
- (
190
- "LiveImpedance",
191
- c_byte,
192
- ), # <ControlDisabled> = No Imp during measurement reference, <ControlEnabled> = LiveIMp.
193
- ]
194
-
195
-
196
- # ---
197
- # TMSiDevChName
198
- # ---
199
- class TMSiDevChName(Structure):
200
- _pack_ = 1
201
- _fields_ = [
202
- (
203
- "ChanIdx",
204
- c_ushort,
205
- ), # Which channel, in the channel-array, is this configure for.
206
- ("ChanName", c_char * 10), # Default name 9 char zero
207
- ]
208
-
209
-
210
- # ---
211
- # TMSiDevAltChName
212
- # ---
213
- class TMSiDevAltChName(Structure):
214
- _pack_ = 1
215
- _fields_ = [
216
- (
217
- "ChanIdx",
218
- c_ushort,
219
- ), # Which channel, in the channel-array, is this configure for.
220
- ("AltChanName", c_char * 10), # User configurable name 9 char zero
221
- ]
222
-
223
-
224
- # ---
225
- # TMSiDevChanRef
226
- # ---
227
- class TMSiDevChanRef(Structure):
228
- _pack_ = 1
229
- _fields_ = [
230
- (
231
- "ChanIdx",
232
- c_ushort,
233
- ), # Which channel, in the channel-array, is this configure for.
234
- (
235
- "ChanRefStatus",
236
- c_byte,
237
- ), # -1 Channel disabled, 0 Channel not in reference, 1 Channel in reference
238
- ]
239
-
240
-
241
- # ---
242
- # TMSiSampleMetadataHeader
243
- # ---
244
- class TMSiSampleMetadataHeader(Structure):
245
- _pack_ = 1
246
- _fields_ = [
247
- ("BaseFS", c_ushort), # The sample rate in this config
248
- ("NrOfChannels", c_ushort), # The nr of Channels in this config
249
- (
250
- "NrOfCyclingStates",
251
- c_ushort,
252
- ), # The nr of cycling state items in this config
253
- ("Interface", c_byte), # The interface for "streaming"
254
- ]
255
-
256
-
257
- # ---
258
- # TMSiChannelMetadata
259
- # ---
260
- class TMSiChannelMetadata(Structure):
261
- _pack_ = 1
262
- _fields_ = [
263
- (
264
- "ChanIdx",
265
- c_ushort,
266
- ), # The channel index number. (starts at 0 for channel 1).
267
- (
268
- "ChannelType",
269
- c_ushort,
270
- ), # 0=Unknown, 1=UNI, 2=BIP, 3=AUX, 4=DIGRAW/Sensor, 5=STATUS, 6=COUNTER, 7=IMP, 8=Cycl
271
- (
272
- "ChannelFormat",
273
- c_ushort,
274
- ), # 0x11xx Float, 0x00xx Unsigned xx bits, 0x01xx signed xx bits
275
- (
276
- "ChanDivider",
277
- c_short,
278
- ), # -1 disabled, else BaseSampleRateHz >> ChanDivider.
279
- ("ImpDivider", c_short), # -1 disabled, else BaseSampleRate>>ImpDivider
280
- (
281
- "ChannelBandWidth",
282
- c_int,
283
- ), # Bandwidth (in MB/s) required for transfer from DR to DS, used by bandwidth manager in application software.
284
- ("Unitconva", c_float), # Unit = a*Bits + b
285
- ("Unitconvb", c_float), #
286
- ("Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
287
- ("UnitName", c_char * 10), # Channel Unit, 9 char zero terminated.
288
- (
289
- "ChanName",
290
- c_char * 10,
291
- ), # Default channel name 9 char zero terminated.
292
- (
293
- "AltChanName",
294
- c_char * 10,
295
- ), # User configurable name 9 char zero terminated.
296
- ]
297
-
298
-
299
- # ---
300
- # TMSiCyclingStateMetadata
301
- # ---
302
- class TMSiCyclingStateMetadata(Structure):
303
- _pack_ = 1
304
- _fields_ = [
305
- ("CyclingIdx", c_ushort), # The cycling index number. (starts at 0).
306
- (
307
- "ST1Format",
308
- c_ushort,
309
- ), # 0x11xx Float, 0x00xx Unsigned xx bits, 0x01xx signed xx bits
310
- (
311
- "ST2Format",
312
- c_ushort,
313
- ), # 0x11xx Float, 0x00xx Unsigned xx bits, 0x01xx signed xx bits
314
- ("ST1Unitconva", c_float), # Unit = a*Bits + b
315
- ("ST1Unitconvb", c_float), #
316
- ("ST2Unitconva", c_float), # Unit = a*Bits + b
317
- ("ST2Unitconvb", c_float), #
318
- ("ST1Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
319
- ("ST2Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
320
- ("ST1UnitName", c_char * 10), # Channel Unit, 9 char zero terminated.
321
- (
322
- "ST1ChanName",
323
- c_char * 10,
324
- ), # Default channel name 9 char zero terminated.
325
- (
326
- "ST1AltChanName",
327
- c_char * 10,
328
- ), # User configurable name 9 char zero terminated.
329
- ("ST2UnitName", c_char * 10), # Channel Unit, 9 char zero terminated.
330
- (
331
- "ST2ChanName",
332
- c_char * 10,
333
- ), # Default channel name 9 char zero terminated.
334
- (
335
- "ST2AltChanName",
336
- c_char * 10,
337
- ), # User configurable name 9 char zero terminated.
338
- ]
339
-
340
-
341
- # ---
342
- # TMSiImpedanceMetadata
343
- # ---
344
- class TMSiImpedanceMetadata(Structure):
345
- _pack_ = 1
346
- _fields_ = [
347
- (
348
- "ChanIdx",
349
- c_ushort,
350
- ), # The channel index number. (starts at 0 for channel 1)..
351
- (
352
- "ChanName",
353
- c_char * 10,
354
- ), # Default channel name 9 char zero terminated.
355
- (
356
- "ImpedanceReUnit",
357
- c_char * 10,
358
- ), # Impedance Unit name , real part, 9 char zero terminated.
359
- (
360
- "ImpedanceImUnit",
361
- c_char * 10,
362
- ), # Impedance Unit name, imaginary part, 9 char zero terminated.
363
- ]
364
-
365
-
366
- # ---
367
- # TMSiImpedanceSample
368
- # ---
369
- class TMSiImpedanceSample(Structure):
370
- _pack_ = 1
371
- _fields_ = [
372
- (
373
- "ChanIdx",
374
- c_ushort,
375
- ), # The channel index number. (starts at 0 for channel 1)..
376
- ("ImpedanceRe", c_short), # Real-part of the impedance sample value.
377
- (
378
- "ImpedanceIm",
379
- c_short,
380
- ), # Imaginary-part of the impedance sample value.
381
- ]
382
-
383
-
384
- # ---
385
- # TMSiDevSampleRequest
386
- # ---
387
- class TMSiDevSampleRequest(Structure):
388
- _pack_ = 1
389
- _fields_ = [
390
- (
391
- "StartStop",
392
- c_byte,
393
- ), # Flag to start <StartSampling> and stop <StopSampling>
394
- (
395
- "DisableLiveImp",
396
- c_byte,
397
- ), # Disable the Live-Impedance for this measurement.
398
- (
399
- "DisableAvrRefCalc",
400
- c_byte,
401
- ), # Disable average reference calculation for now.
402
- ]
403
-
404
-
405
- # ---
406
- # TMSiDevImpedanceRequest
407
- # ---
408
- class TMSiDevImpedanceRequest(Structure):
409
- _pack_ = 1
410
- _fields_ = [
411
- (
412
- "StartStop",
413
- c_byte,
414
- ), # Flag to start <StartImpedance> and stop <StopImpedance>
415
- ]
416
-
417
-
418
- # ---
419
- # TMSiDevCardRecCfg
420
- # ---
421
- class TMSiDevCardRecCfg(Structure):
422
- _pack_ = 1
423
- _fields_ = [
424
- ("ProtoVer", c_short), # Version of the current spec used.
425
- ("FileType", c_short), # Type of file set by device.
426
- (
427
- "StartControl",
428
- c_short,
429
- ), # Configuration how to start the ambulant recording.
430
- (
431
- "EndControl",
432
- c_int,
433
- ), # Configuration how to stop the amplulant recording.
434
- ("StorageStatus", c_int), # Status of the internal storage.
435
- ("InitIdentifier", c_int), # Identifier can be used by the application.
436
- (
437
- "PrefixFileName",
438
- c_char * 16,
439
- ), # Prefix for the final recording filename.
440
- ("StartTime", TMSiTime), # The start time for the recording.
441
- ("StopTime", TMSiTime), # The stop time for the recording.
442
- ("PreImp", c_short), # Pre measurement impedance 0=no, 1=yes.
443
- ("PreImpSec", c_short), # Amount of seconds for impedance.
444
- (
445
- "UserString1",
446
- c_char * 64,
447
- ), # Freeformat string, can be set by application.
448
- (
449
- "UserString2",
450
- c_char * 64,
451
- ), # Freeformat string, can be set by application.
452
- ]
453
-
454
-
455
- # ---
456
- # TMSiDevCardStatus
457
- # ---
458
- class TMSiDevCardStatus(Structure):
459
- _pack_ = 1
460
- _fields_ = [
461
- ("NrOfRecordings", c_ushort), # Number of available card recordings.
462
- ("TotalSpace", c_uint), # Total space in MB
463
- ("AvailableSpace", c_uint), # Free space in MB
464
- ]
465
-
466
-
467
- # ---
468
- # TMSiDevCardFileInfo
469
- # ---
470
- class TMSiDevCardFileInfo(Structure):
471
- _pack_ = 1
472
- _fields_ = [
473
- ("RecFileID", c_ushort), # Identifier for this file.
474
- ("RecFileName", c_char * 32), # Filename
475
- ("StartTime", TMSiTime), # StartTime of this recording.
476
- ("StopTime", TMSiTime), # StopTime of this recording.
477
- ]
478
-
479
-
480
- # ---
481
- # TMSiFileMetadataHeader
482
- # ---
483
- class TMSiFileMetadataHeader(Structure):
484
- _pack_ = 1
485
- _fields_ = [
486
- ("BaseFS", c_ushort), #
487
- ("NrOfChannels", c_ushort), # The nr of Channels in this config
488
- (
489
- "NrOfCyclingStates",
490
- c_ushort,
491
- ), # The nr of cycling states in this config
492
- (
493
- "NrOfImpReportChannels",
494
- c_ushort,
495
- ), # The nr of impedance report channels.
496
- ("Interface", c_byte), #
497
- ]
498
-
499
-
500
- # ---
501
- # TMSiDevCardFileDetails,
502
- # ---
503
- class TMSiDevCardFileDetails(Structure):
504
- _pack_ = 1
505
- _fields_ = [
506
- ("RecFileID", c_ushort),
507
- ("StorageStatus", c_int),
508
- ("NumberOfSamples", c_uint),
509
- ("RecFileName", c_char * 32),
510
- ("StartTime", TMSiTime),
511
- ("StopTime", TMSiTime),
512
- ("ImpAvailable", c_short),
513
- ("UserString1", c_char * 64),
514
- ("UserString2", c_char * 64),
515
- ]
516
-
517
-
518
- # ---
519
- # TMSiDevImpReportMetadata
520
- # ---
521
- class TMSiDevImpReportMetadata(Structure):
522
- _pack_ = 1
523
- _fields_ = [
524
- (
525
- "NrOfImpReportChannels",
526
- c_ushort,
527
- ), # The nr of impedance report channels.
528
- (
529
- "ImpedanceReUnit",
530
- c_char * 10,
531
- ), # Impedance Unit name , real part, 9 char zero terminated.
532
- (
533
- "ImpedanceImUnit",
534
- c_char * 10,
535
- ), # Impedance Unit name, imaginary part, 9 char zero terminated.
536
- ]
537
-
538
-
539
- # ---
540
- # TMSiDevImpReport
541
- # ---
542
- class TMSiDevImpReport(Structure):
543
- _pack_ = 1
544
- _fields_ = [
545
- ("ChanIdx", c_ushort), # The channel for which this impedance value is.
546
- (
547
- "ChanName",
548
- c_char * 10,
549
- ), # Default channel name 9 char zero terminated.
550
- ("ImpedanceRe", c_short), # Real-part of the impedance sample value.
551
- (
552
- "ImpedanceIm",
553
- c_short,
554
- ), # Imaginary-part of the impedance sample value.
555
- ]
556
-
557
-
558
- # ---
559
- # TMSiDevSetCardFileReq
560
- # ---
561
- class TMSiDevSetCardFileReq(Structure):
562
- _pack_ = 1
563
- _fields_ = [
564
- (
565
- "StartStop",
566
- c_ushort,
567
- ), # The channel for which this impedance value is.
568
- ("RecFileID", c_ushort), # The actual impedance value for this channel.
569
- (
570
- "StartCounter",
571
- c_uint,
572
- ), # The actual impedance value for this channel.
573
- (
574
- "NumberOfSamples",
575
- c_uint,
576
- ), # The actual impedance value for this channel.
577
- ]
578
-
579
-
580
- # ---
581
- # TMSiDevChCal
582
- # ---
583
- class TMSiDevChCal(Structure):
584
- _pack_ = 1
585
- _fields_ = [
586
- ("ChanIdx", c_uint), # Which channel is this configure for.
587
- ("ChanGainCorr", c_float), # A float value for the Gain calibration.
588
- (
589
- "ChanOffsetCorr",
590
- c_float,
591
- ), # A float value for the Offset calibration.
592
- ]
593
-
594
-
595
- # ---
596
- # TMSiDevProductConfig
597
- # ---
598
- class TMSiDevProductConfig(Structure):
599
- _pack_ = 1
600
- _fields_ = [
601
- ("DRSerialNumber", c_uint), # The DR serial number.
602
- ("DRDevID", c_ushort), # DR Device ID
603
- ("NrOfHWChannels", c_ushort), # total nr of UNI, Bip, Aux channels.
604
- ("NrOfChannels", c_ushort), # Total number of channels.
605
- ]
606
-
607
-
608
- # ---
609
- # TMSiDevProductChCfg
610
- # ---
611
- class TMSiDevProductChCfg(Structure):
612
- _pack_ = 1
613
- _fields_ = [
614
- (
615
- "ChannelType",
616
- c_ushort,
617
- ), # 0=Unknown, 1=UNI, 2=BIP, 3=AUX, 4=DIGRAW/Sensor,5=DIGSTAT, 6=SAW.
618
- (
619
- "ChannelFormat",
620
- c_ushort,
621
- ), # 0x00xx Usigned xx bits, 0x01xx signed xx bits
622
- (
623
- "Unitconva",
624
- c_float,
625
- ), # Unit = a*Bits + b used for bits -> unit, IEEE 754
626
- ("Unitconvb", c_float),
627
- ("Exp", c_short), # Exponent, 3= kilo, -6 = micro etc.
628
- ("UnitName", c_char * 10), # Channel Unit, 9 char zero terminated.
629
- (
630
- "DefChanName",
631
- c_char * 10,
632
- ), # Default channel name 9 char zero terminated.
633
- ]
634
-
635
-
636
- # ---
637
- # TMSiEvent
638
- # ---
639
- class TMSiEvent(Structure):
640
- _pack_ = 1
641
- _fields_ = [
642
- ("EventID", c_uint), # See <TMSiEventIDType>
643
- ("Code", c_uint), # See <TMSiEventCodeType>
644
- (
645
- "TMSiDeviceID",
646
- c_ushort,
647
- ), # Unique ID to identify device, retrieved with TMSi_GetDeviceList().
648
- (
649
- "TMSiDongleID",
650
- c_ushort,
651
- ), # Unique ID to identify a bluetooth-dongle, retrieved with TMSi_GetDongleList().
652
- ]
653
-
654
-
655
- # ---
656
- # TMSiDeviceDriverVersionInfo
657
- # ---
658
- class TMSiDeviceDriverVersionInfo(Structure):
659
- _pack_ = 1
660
- _fields_ = [
661
- ("DllVersion", c_uint), # The current dll version 0xUU.LL
662
- ("DllVersionString", c_char * 18), # The current dll API version string
663
- ("LibUsbVersion", c_uint), # The current libusb version 0xUU.LL
664
- (
665
- "LibUsbVersionString",
666
- c_char * 18,
667
- ), # The current libusb version string
668
- ]