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

Matrix Copy Phrase Task #261

Merged
merged 17 commits into from
Jan 31, 2023
Merged

Matrix Copy Phrase Task #261

merged 17 commits into from
Jan 31, 2023

Conversation

lawhead
Copy link
Collaborator

@lawhead lawhead commented Jan 11, 2023

Overview

Added a Matrix Copy Phrase Task.

Ticket

https://www.pivotaltracker.com/story/show/180699453

Contributions

  • Refactored Copy Phrase Task:
    • Use display methods rather than directly writing to properties.
    • Pass paradigm to session data.
  • Created new Matrix Copy Phrase Task, which subclasses RSVP Copy Phrase.
  • Matrix Display Refactors:
    • Removed unused variables.
    • Eliminated redundant creation of TextStim elements which affects screen draw time.
    • Use configured parameters for pause length, rather than hardcoded values.
    • Added configuration to distinguish between inquiries that display the target and those that don't.
    • Simplified trigger handling.
    • Converted fixation display to be rendered as the entire matrix with all elements highlighted.
  • Fixed bugs in demo code.
  • Fixed display issues with matrix timing task.
  • Documented display parameters required for Matrix tasks that differ from RSVP.

Test

  • Ran all unit tests.
  • Ran matrix demos.
  • Ran Matrix Calibration Task.
  • Using the model from the offline analysis, ran the Matrix Copy Phrase task.
  • Confirmed the session data was generated correctly.
  • Confirmed the appropriate trigger data was generated.
  • Ran the Matrix Timing Task.
matrix_copy_phrase.mov

@lawhead lawhead requested a review from tab-cmd January 11, 2023 00:38
Copy link
Contributor

@tab-cmd tab-cmd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I finished testing this locally last week, and it looks good to me! I like the little cleanups you did. After a successful human-in-the-loop test, you can merge this. I'll do a group slack message to arrange it.

@lawhead
Copy link
Collaborator Author

lawhead commented Jan 28, 2023

We ran the Matrix Timing Task using the photodiode and analyzed the offsets:

(venv) $ python scripts/python/offset_analysis.py -p data/default/test_user/matrix_time_test/ --recommend
DescribeResult(nobs=180, minmax=(-0.13009050000002276, -0.08524633333337306), mean=-0.12255393444440926, variance=1.6374044080996804e-05, skewness=4.272662777942606, kurtosis=38.30511817724184)
    Non-normal distribution
    System recommended static offset median=[0.12264436666660572]
    System recommended static offset mean=[0.12255393444440926]

Using the recommended offset:

(venv) $ python scripts/python/offset_analysis.py -p data/default/test_user/matrix_time_test/ --offset 0.1225
RESULTS: Allowable tolerance between triggers and photodiode exceeded. ['trigger=304.1205869999999 diode=304.0833333333333 diff=0.03725366666657237']Number of violations: 1

@lawhead lawhead merged commit 75261e9 into 2.0.0rc3 Jan 31, 2023
@lawhead lawhead deleted the matrix-copy-phrase branch January 31, 2023 22: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.

2 participants