This repository contains the ISE experiment materials (PsychoPy), supporting stimuli, and analysis scripts for scoring free-recall and recognition outcomes. The PsychoPy task produces per-participant CSV/LOG/PSYDAT files, and the RMarkdown scripts compute summary scores and strategy selections from those outputs.
ISE_PY/: PsychoPy experiment files and audio stimuliISE_PY/word_recall_1_new.psyexp: Builder source for the taskISE_PY/word_recall_1_new.py: Generated PsychoPy script (v2024.1.5)ISE_PY/word_recall_1_new_lastrun.py: Last-run script snapshotISE_data/: Raw participant data organized by subject folderise_scripts/: Analysis and utility scriptsise_scripts/summaryscore_ISE.Rmd: Main scoring pipeline for Study 1ise_scripts/File_renaming_BASHscript.sh: Utility to normalize filenames to participant IDsise_scripts/study_2.1/: Study 2.1 analysis scripts and raw data stagingise_osf/: Export-ready CSVs and column index for OSFManuscript/: Manuscript PDFs
- The task is defined in
ISE_PY/word_recall_1_new.psyexpand exported toword_recall_1_new.py. - The experiment uses PsychoPy audio via
prefs.hardware['audioLib'] = 'ptb'and expects a 1920x1080 fullscreen window by default. - Data output defaults to a
data/directory alongside the script and uses the pattern:data/<participant>_word_recall_1_new_<timestamp>.(csv|log|psydat)
ise_scripts/summaryscore_ISE.Rmdreads all CSVs underISE_data/.- Free Recall (FR) scoring is computed by filtering:
Condition == "Free",SoundCondition in {Silence, Natural, Repeated},TrialType == "Real"and summingFreeScore. - Recognition (IR) scoring is computed by filtering
Condition == "Recognition"and usingir_conditionwith SoundCondition and TrialType to compute target/lure counts and scores. - Strategy variables are pulled from
RespFinalStrat1.responseandRespFinalStrat2.response, with fallback totrials_3.RespFinalStrat1.response/trials_3.RespFinalStrat2.responsewhen present. - The script uses row windows (e.g., FR
140:190, IR300:410) to find the first non-missing response in a flexible way.
ise_scripts/study_2.1/summaryscore_ISE.Rmdmirrors the Study 1 logic but targetsise_scripts/study_2.1/ISE_data_raw/.
- Open
ISE_PY/word_recall_1_new.psyexpin PsychoPy Builder (v2024.1.5). - Ensure the audio stimuli files (e.g.,
CS1.mp3,SS1.mp3, etc.) are present inISE_PY/. - Run from Builder or execute
word_recall_1_new.pyvia PsychoPy Runner.
- Update the hardcoded
parent_directoryinise_scripts/summaryscore_ISE.Rmdto the local path where yourISE_datalives. - Knit the RMarkdown or run the chunks in RStudio.
- Repeat for Study 2.1 if needed, using the study-specific Rmd.
Many scripts use absolute paths (e.g., /Users/dannyzweben/Desktop/CABLAB_Files/...). For portability, set a project root variable and build paths relative to it.
Raw participant data is intentionally ignored by git (see .gitignore). Keep data locally or in a secure data store and point the scripts to those locations.