-
Notifications
You must be signed in to change notification settings - Fork 34
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
Multimodal config #277
Multimodal config #277
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This worked well in my testing locally! @celikbasak please coordinate testing this to make sure it works for you in the upcoming experiment
bcipy/acquisition/multimodal.py
Outdated
|
||
|
||
class ClientManager(): | ||
"""Manages multiple acquisition clients. This class can also |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++ some documentation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops! Looks like I deleted what I had written. Good catch.
bcipy/acquisition/multimodal.py
Outdated
|
||
""" | ||
|
||
def __init__(self, default_content_type='EEG'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type
bcipy/acquisition/devices.py
Outdated
"""Retrieve the DeviceSpec with the given name. An exception is raised | ||
if the device is not found.""" | ||
device = preconfigured_devices().get(name, None) | ||
if not device: | ||
if strict and not device: | ||
raise ValueError(f"Device not found: {name}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could give a more direct pointer here to our spec or current support devices
++ CHANGELOG.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This Copy Phrase Demo does not do any updates using the eye gaze data right? In other words, I see the the preconfigured device is DSI-24 here, but even if we updated that and collected multimodal data the decision maker would solely rely on the EEG data, is that correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's correct. The eye tracker data would be collected but not yet used for any decision making. At this point only the EEG device is sent to the tasks. We created another ticket for how to integrate the additional devices in the tasks. This will take a bit of discussion.
return device | ||
|
||
|
||
def with_content_type(content_type: str) -> List[DeviceSpec]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great addition. Using content type (Eyetracker) instead of device name (Tobii-P0) can solve the problem we encountered here https://www.pivotaltracker.com/story/show/184882983.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is huge! Thank you so much Matt! I will test multimodal data acquisition within this week.
Overview
Added functionality for configuring multiple acquisition devices.
Ticket
https://www.pivotaltracker.com/story/show/184338485
Contributions
Test
Discussion
This PR is for the configuration and recording of data for the configured acquisition devices. However, only the EEG device is currently passed to the tasks. It will be a future refinement to pass the client_manager to the tasks so the different devices can be queried.