Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iterating on Simulator Design for Sampling #297

Closed
wants to merge 225 commits into from

Conversation

sreekaroo
Copy link
Collaborator

@sreekaroo sreekaroo commented Oct 2, 2023

Overview

Focused on high-level design for the simulator. Modularized parts of the simulator so we can iterate on designs more easily. This draft PR is mostly just to share code easily. The goal was to create a simple data ingestor and sampler that could sample by letter from multiple data sources. View sim_test.py for examples of use.

I think the replay session logic will fit into this design without any change as well. The sampler would just be an iterator, that I implemented in the previous design. The DataEngine would load in-session data instead, which is also already implemented.

Ticket

Link a pivotal ticket here

Contributions

  • Created interfaces for DataEngine, Sampler, MetricReferee, ModelHandler, StateManager
  • Implemented RawDataEngine and SimpleLetterSampler, which can successfully load in multiple data sources, organize into queryable schema, and return eeg samples that can be fed into SignalModel
  • Implemented draft StateManager that handles a lot of the updating logic from inquiry to inquiry

Started but unfinished

  • The simulator run loop needs a little more work, view in sim_sampler.py
  • MetricReferee, ModelHandler, all have unfinished implementations
  • StateManager is a bit naive right now. There is also an issue with how I'm evaluating evidence because the simulator is always making a decision; albeit, mostly wrong ones.

Test

-No unit testing yet, just ran script to test sampling and data loading in sim_test.py

Documentation

  • Are documentation updates required? In-line, README, or documentation? Verify the updates you did here.

Changelog

  • Is the CHANGELOG.md updated with your detailed changes?

celikbasak and others added 30 commits March 16, 2023 14:56
…aded correctly

TODO implement the GazeModel and transfer to offline analysis
lawhead and others added 29 commits January 11, 2024 15:40
# Conflicts:
#	bcipy/simulator/helpers/log_utils.py
Refactoring data engine helper
# Conflicts:
#	.gitignore
#	requirements.txt
@sreekaroo sreekaroo closed this Feb 16, 2024
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