Treffer: Python GUI Tool for Fixed-Time Automatic Keyboard Marker Sending in fNIRS Experiments (Alternative to PsychoPy)
Weitere Informationen
Why This Code Was Needed This Python tool was developed to simplify the experimental setup for functional Near-Infrared Spectroscopy (fNIRS) studies by replacing PsychoPy-based marker control with a minimal, standalone Python GUI. Traditionally, PsychoPy requires inernet connection or an additional laptop and serial connection to send time-fixed event markers to COBI, the data collection software used with fNIRS systems. This introduces complexity and hardware overhead. This revised solution enables keyboard-based automatic marker sending directly from the same computer running COBI (Cognitive Optical Brain Imaging Software) and connected to the fNIR Imager 1200/2000S (Biopac, USA). It also works seamlessly with fNIRSoft (v4.9) for data analysis. The tool has been successfully deployed in two peer-reviewed research papers: ICMI 2025 (accepted):Functional Near-Infrared Spectroscopy (fNIRS) Analysis of Interaction Techniques in Touchscreen-Based Educational Gaminghttps://doi.org/10.48550/arXiv.2405.08906 IEEE AIxVR 2024 (published):Cognitive Engagement for STEM+C Education: Investigating Serious Game Impact on Graph Structure Learning with fNIRShttps://doi.org/10.1109/AIxVR59861.2024.00032 This tool will also be used in future research projects that involve fixed-time experimental tasks with fNIRS, providing a reproducible and lightweight solution for sending event markers without the need for PsychoPy.More details in “From Complexity to Simplicity: Using Python Instead of PsychoPy for fNIRS Data Collection”. ; How to Use This Tool When you run the code, a simple graphical interface will appear where you can input the following: Baseline duration (in seconds) Rest period duration (in seconds) Task period duration (in seconds) Number of loops (how many times to repeat the task-rest cycle) After clicking “Start Sequence”, the tool will: Start with the baseline period by sending a keyboard marker ('1') Automatically start and end rest and task periods with markers ('2', '3', '4') Repeat the task-rest pair for the ...