-
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
Calibration task refactor #330
Conversation
… associated timing test
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.
Should this be an enum?
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 really nice refactoring of our calibration tasks!! Thanks for doing the work!
colors: List[str] | ||
|
||
@property | ||
def target(self) -> str: |
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 on the expected stimuli would be helpful. It seems like it would expect target fixation inquiry_stimuli
?
"""Symbols used in the calibration""" | ||
return self._symbol_set | ||
|
||
def name(self) -> str: |
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.
Seems like we might throw a not implemented error if name wasn't defined?
bcipy/task/base_calibration.py
Outdated
"""Trigger Type. | ||
|
||
This method is passed to convert_timing_triggers to properly assign TriggerTypes | ||
to the timing of stimuli presented. |
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.
Would be helpful to document the assumptions here.
target prompt, fixation, stimuli (nontarget or target; dep on target
# Allow for some additional data to be collected for later processing | ||
self.wait() | ||
|
||
def cleanup(self) -> None: |
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 could throw a not implemented error. We can add that in the future once we add cleanup to these tasks more explicitly though.
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.
Yeah, I think cleanup may be optional for many tasks so I prefer to leave this empty by default.
Overview
Refactored calibration tasks to pull out common workflow into a parent task. In the process, added session logging to Matrix and RSVP tasks.
Ticket
https://www.pivotaltracker.com/story/show/187637041
https://www.pivotaltracker.com/story/show/187636806
https://www.pivotaltracker.com/story/show/187636860
Contributions
Test