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

VEP calibration session data #322

Merged
merged 4 commits into from
May 17, 2024
Merged

VEP calibration session data #322

merged 4 commits into from
May 17, 2024

Conversation

lawhead
Copy link
Collaborator

@lawhead lawhead commented May 10, 2024

Overview

Added session.json output for VEP Calibration task to capture data needed for creating a model.

Ticket

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

Contributions

  • Updated task data module to allow for task-specific Inquiry and Session data
  • Added properties to display elements useful for recording in the session data.
  • Added functionality to VEP Calibration task for outputting session data. General task data includes information about each box (coordinates, colors, flicker rate). Each Inquiry has information about which stimuli were presented in each box, which box contained the target symbol, as well as the flicker rate of that box.

Test

  • Ran all unit tests
  • Ran a VEP calibration task and inspected the resulting session.json file.

lawhead added 2 commits May 7, 2024 15:20
…o record details about the setup and the box of interest for each inquiry.
@lawhead lawhead requested a review from tab-cmd May 10, 2024 21:36
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.

This looks good to me! I sent the output to @celikbasak to check it had all the information needed for our models.

Here are my notes for things to address in future PRs:

  • I wasn't able to get the time spent output in the session.json on my machine.
  • I encountered a weird double animation during inquiries. I'll send you a screen capture on Discord (too large for GitHub).
  • Fake data capability. I ended up hardcoding my frame rate and hacking in the fake parameter from start_task. We might consider adding that feature to help with development. This may be related to the double animation I experienced though!

stim_props = VEPStimuliProperties(
stim_font=parameters['font'],
stim_pos=box_config.positions,
stim_height=0.1,
Copy link
Contributor

Choose a reason for hiding this comment

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

This may be a good class variable so we can change it with task parameters as needed

@lawhead
Copy link
Collaborator Author

lawhead commented May 15, 2024

The double animation happens if the frame rate is incorrect. There is a VEP Display parameter for manually setting the frame rate, which overrides the psychopy computed value, which doesn't seem to work on my M2 Mac. You can try setting this value and see if that fixes it for you. I had to set this to 120hz even though I have my Display settings set to 60hz. I set this in the VEP calibration module, but I agree that exposing this as a parameter might be useful.

I'm not sure I'm computing the time_spent. I'll double-check that and add it to this PR.

@tab-cmd
Copy link
Contributor

tab-cmd commented May 15, 2024

The double animation happens if the frame rate is incorrect. There is a VEP Display parameter for manually setting the frame rate, which overrides the psychopy computed value, which doesn't seem to work on my M2 Mac. You can try setting this value and see if that fixes it for you. I had to set this to 120hz even though I have my Display settings set to 60hz. I set this in the VEP calibration module, but I agree that exposing this as a parameter might be useful.

I'm not sure I'm computing the time_spent. I'll double-check that and add it to this PR.

Okay! @celikbasak said this should be enough to train VEP models. We may find better ways to organize/make this available online, but I think it's worth waiting to test out / encounter pain points.

@lawhead lawhead merged commit 6ddd5d6 into 2.0.0rc4 May 17, 2024
4 of 6 checks passed
@lawhead lawhead deleted the vep-calib-triggers branch May 17, 2024 16:22
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