Commit 989ae24
Rc 4.5.1 (#450)
* feat: sleep activity example
* Release 4.5.0 (#448)
* APIS-1444 ASR processor module (no auto-calib)
* APIS-1443 Split calib step from process step, introduced larger buffer for ASR cleaning
* Add CSV client support for data streaming
Introduced CsvClient and CsvServer classes to enable reading data from CSV sources. Updated parser to support 'csv' as a new bt_interface option and route streaming logic accordingly. This allows the system to simulate device data input from CSV for testing or offline analysis.
* Refactor CsvClient for channel count and packet size
CsvClient and CsvServer now support configurable channel counts (8 or 32), with packet size tracking via a new PacketSize enum. Parser updated to instantiate CsvClient with channel count and to use packet_size for CSV packet length. Orientation packet handling and device info logic improved for mock streaming.
* read samples from csv file in data server
* Update CSV file paths and firmware versions
Changed CSV file path construction in CsvClient to use a test-specific file based on channel count. Updated firmware versions in device info dictionaries. Added setting of BT interface to 'csv' and a debug print of current working directory in Parser.
* Changed csv_client path to artifact file, added calib setting to ASR processor
* Added WIP file to clean from file and compare cleaned, matched by timestamp data
* Rewrote code for matrix testing
* Cleaned up plotting / matrix test for ASR
* Added setting file to csv_client, extended example script with corrupting channel
* Updated asr example, update asr processor
- ASR example now saves channels that are corrupted so they (and the channels around them) are passed to plotting
- ASR processor updated with bigger time window range (0.01 to 30.0 seconds)
* Added skipping already recorded files in clean example
* Added plotting from folder to ASR example, made filenames less hard-coded
* lower order for 1000 Hz filter
* add bumpversion configs to toml
* separate notch filter from general workflow
* check if notch filter exists
* get power line frequency value
* disable impedance state change from recorder, remove debug print
* fallback to default notch on failure, set cutoff freq for imp
* raw exg topic for asr subscriber
* remove setting bt interface to csv, remove debug print
* Linted code, sorted imports
* Use getter for cutoff frequency
* Prevent ASR while impedance mode is active
Add ImpedanceModeActiveError and guard ASR availability when impedance is running. StreamProcessor gains is_asr_processor_available() which raises ImpedanceModeActiveError if impedance mode is active and otherwise checks the ASR processor initialization. Explore.is_asr_processor_available() now delegates to the stream processor. Also add the new exception import.
* use non-causal filter
* add eegprep to toml
* rename is_asr_processor_available method
* Added exg_fs argument to get_data for CleanEEG
* hotfix for missing cutoff-freq variable in filt class
* Set binary time (#432)
* set time as bin file name
* Shorten device-info wait and set binary time
Reduce the polling sleep interval from 1s to 0.5s while waiting for the device info packet to speed up startup. After receiving device info, call self.set_binary_time() to initialize device time immediately. Also remove the redundant self._check_connection() call from set_binary_time to avoid an unnecessary connection verification.
* Revert "Shorten device-info wait and set binary time"
This reverts commit 7fb6792.
* Reapply "Shorten device-info wait and set binary time"
This reverts commit d0de9e7.
* set time on connect with fw version check
* add new dev info and adjust time cmd
* fix flake8 errors
* add packet id to header length check
* refactor class name to 64b command, fix docs
* return bool in is_asr_processor_available
* Sorted imports
* add new binary time set packet ID in binary converter (#437)
* Rc 4.5.0 (#435)
* bumpversion minor
* pip deps on toml
* remove sps from args in imp recorder (#436)
* Handle invalid time value set (#439)
* bumpversion minor
* pip deps on toml
* remove sps from args in imp recorder
* handle invalid binary time value set
only sends the time command when the time is gregorian calendar, else raise an exception
* Set imp_calculator to None on disable_imp
* Create LICENSE_eegprep.txt (#441)
* change padding bytes length (#440)
* change depricated function (#443)
* Hotfix bdf recording (#444)
* change depricated function
* Flush EDF buffer at quarter-second intervals
Reduce the threshold for writing EDF samples from _fs to _fs // 4 so buffered data is flushed more frequently. Previously the FileRecorder only wrote when the buffer exceeded one second of samples; this change triggers writes at roughly quarter-second increments to lower memory usage and latency while retaining the existing behavior of writing full _fs-sized chunks and updating annotations/timestamps under the same lock.
* Hotfix bdf recording (#445)
* change depricated function
* Flush EDF buffer at quarter-second intervals
Reduce the threshold for writing EDF samples from _fs to _fs // 4 so buffered data is flushed more frequently. Previously the FileRecorder only wrote when the buffer exceeded one second of samples; this change triggers writes at roughly quarter-second increments to lower memory usage and latency while retaining the existing behavior of writing full _fs-sized chunks and updating annotations/timestamps under the same lock.
* Write full-second sample blocks to file
Replace the previous arbitrary threshold write logic with computation of whole-second sample blocks: compute num_samples_to_write as (n_samples // fs) * fs and only write when > 0. This ensures written chunks are multiples of the sampling frequency, avoids partial-frame writes and potential timestamp/data misalignment, and then drops the written samples from the buffer.
* remove unused functions
* Rc 4.5.0 (#446)
* Bump pyEDFlib and update changelog
Add 4.5.0 changelog entry (Live impedance, LSL push for preprocessed data, support for new FW version). Bump pyEDFlib from 0.1.38 to 0.1.42 and remove the eegprep==0.2.23 dependency from pyproject.toml
* fix pypi rendering
* remove unused file (#447)
* Fix release date for version 4.5.0
Updated the release date for version 4.5.0 in the changelog.
---------
Co-authored-by: Sonja Stefani <sonja.stefani@tum.de>
Co-authored-by: Sonja Stefani <35492857+SonjaSt@users.noreply.github.com>
* bumpversion patch
* update changelog
* update author list
---------
Co-authored-by: nayan <nayansharma1010@gmail.com>
Co-authored-by: Christoph Aurnhammer <33545884+caurnhammer@users.noreply.github.com>
Co-authored-by: Sonja Stefani <sonja.stefani@tum.de>
Co-authored-by: Sonja Stefani <35492857+SonjaSt@users.noreply.github.com>1 parent 90a1c4b commit 989ae24
26 files changed
Lines changed: 23183 additions & 12 deletions
File tree
- docs
- examples/sleep_activity_analysis
- accelerometer_results
- activity_data_results
- analyze
- preprocess
- sleep_staging_results
- sleep_staging
- installer/windows
- src/explorepy
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
4 | 8 | | |
5 | 9 | | |
6 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
125 | 124 | | |
126 | | - | |
127 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
128 | 130 | | |
129 | 131 | | |
130 | 132 | | |
| |||
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
136 | | - | |
137 | 138 | | |
138 | | - | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
140 | 144 | | |
141 | 145 | | |
142 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
0 commit comments