Skip to content

Commit

Permalink
FF: Added save_results_screen option to ValidationProcedure
Browse files Browse the repository at this point in the history
If true, saves results screen to .png image in script directory. show_results_screen must also be True for it to work.
  • Loading branch information
isolver committed Apr 1, 2021
1 parent 5439ab3 commit f556639
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
1 change: 1 addition & 0 deletions psychopy/demos/coder/iohub/eyetracking/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
show_intro_screen=True,
intro_text='Validation procedure is now going to be performed.',
show_results_screen=True, results_in_degrees=False,
save_results_screen=True,
toggle_gaze_cursor_key='g', terminate_key='escape')

# Run the validation procedure. run() does not return until the validation is complete.
Expand Down
16 changes: 10 additions & 6 deletions psychopy/iohub/client/eyetracker/validation/procedure.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class ValidationProcedure(object):
def __init__(self, win=None, target=None, positions=None, target_animation={}, randomize_positions=True,
background=None, triggers=None, storeeventsfor=None, accuracy_period_start=0.350,
accuracy_period_stop=.050, show_intro_screen=True, intro_text='Ready to Start Validation Procedure.',
show_results_screen=True, results_in_degrees=False, save_figure_path=None,
show_results_screen=True, results_in_degrees=False, save_results_screen=False,
terminate_key="escape", toggle_gaze_cursor_key="g"):
"""
ValidationProcedure is used to check the accuracy of a calibrated eye tracking system.
Expand Down Expand Up @@ -189,7 +189,7 @@ def __init__(self, win=None, target=None, positions=None, target_animation={}, r
:param intro_text:
:param show_results_screen:
:param results_in_degrees:
:param save_figure_path:
:param save_results_screen:
:param terminate_key:
:param toggle_gaze_cursor_key:
"""
Expand All @@ -216,7 +216,7 @@ def __init__(self, win=None, target=None, positions=None, target_animation={}, r
self.intro_text_stim = None
self.show_results_screen = show_results_screen
self.results_in_degrees = results_in_degrees
self.save_figure_path = save_figure_path
self.save_results_screen = save_results_screen
self.validation_results = None
if storeeventsfor is None:
storeeventsfor = [self.io.devices.keyboard,
Expand Down Expand Up @@ -277,7 +277,11 @@ def run(self):

def showResultsScreen(self):
self.drawResultScreen()
return self.win.flip()
ftime = self.win.flip()
if self.save_results_screen:
self.win.getMovieFrame()
self.win.saveMovieFrames(self._generateImageName())
return ftime

def showIntroScreen(self):
text = self.intro_text + '\nPress SPACE to Start....'
Expand Down Expand Up @@ -473,8 +477,8 @@ def _createValidationResults(self):
def _generateImageName(self):
import datetime
file_name = 'validation_' + datetime.datetime.now().strftime('%d_%m_%Y_%H_%M') + '.png'
if self.save_figure_path:
return normjoin(self.save_figure_path, file_name)
#if self.save_results_screen:
# return normjoin(self.save_results_screen, file_name)
rootScriptPath = os.path.dirname(sys.argv[0])
return normjoin(rootScriptPath, file_name)

Expand Down

0 comments on commit f556639

Please sign in to comment.