Skip to content

Conversation

@cbmorrell
Copy link
Collaborator

Up to this point we have stored metadata as the index in the list of potential values that the user passes in. This was done to reduce memory usage for things like strings. This can lead to confusing behaviour, particularly when isolating data (e.g., you want to isolate rep 2, but its index is 1 due to Python indexing).

These changes allow the user to store metadata as the values themselves instead of the indices. To avoid breaking previous code, the option to store as indices is still supported (and enabled by default).

cbmorrell and others added 30 commits July 24, 2024 12:15
Modified feature extraction to use new FeatureExtractor interface.
Replaced list of features with FeatureExtractor. This allows the user to pass in a FeatureExtractor object with feature parameters + standardization.
Added offline regression example .md and .rst files. Also added link to this example in index.rst.
Class name was accidentally changed during a previous commit.

Reverted so its name is more consistent with other classes.
Previous commit added a duplicate write_output method definition in OnlineStreamer.
Some time series models operate by predicting on a sequence of windows instead of raw EMG data.

Added option to queue windows instead of just passing in a single window.
Feature queue parameter was in OnlineStreamer, but not the online classifier and regressor.

Added documentation to those classes and implemented parameters to create models that feature queue.
Channels could not be isolated for online data.

Added functionality to only grab certain channels online.
Rename ColumnFetch to ColumnFetcher
Default value for regex helper function often threw an error when searching for a pattern.

Replaced the default value with the wildcard, so users can use this to grab the potential values without knowing them.
Since the regex helper function can take None values, users may pass in None to RegexFilter. This wouldn't work since we store metadata as an index of the values they pass in.

Added a check to ensure this doesn't happen.
Default value for regex helper function often threw an error when searching for a pattern.

Replaced the default value with the wildcard, so users can use this to grab the potential values without knowing them.
Since the regex helper function can take None values, users may pass in None to RegexFilter. This wouldn't work since we store metadata as an index of the values they pass in.

Added a check to ensure this doesn't happen.
Users could pass in function handles to change metadata operations, but there are some operations that are very common and require users to define function handles (like grabbing the last sample).

Added ability to pass in strings for some common operations.
Add string parameters for common metadata operations
Data could not be standardized online.

Added a method to install standardization to online models.
@eeddy eeddy force-pushed the dataset_updates branch 27 times, most recently from ceab009 to 371ea73 Compare November 22, 2024 17:19
Base automatically changed from dataset_updates to latest November 29, 2024 19:43
@eeddy eeddy force-pushed the latest branch 2 times, most recently from e230a12 to 439358c Compare January 27, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants