Motion-induced blindness in normal observers
- Home Page: https://emiliengnr.github.io/Motion-induced-blindness
- Github repository: https://github.com/emiliengnr/Motion-induced-blindness
- Article: https://sdrive.cnrs.fr/s/wkBw2son3BYGLsw?dir=undefined&path=%2Fresources%2FArticles&openfile=326432907
The aim of this project is to reproduce the effect of motion-induced blindness.
The observer has to stare at the cross in the middle of the screen. In addition, there are four yellow circles around this cross and purple squares. The yellow circles are motionless but the purple squares are moving on the screen. This motion will induce partial blindness on the observer who will see one or more of the yellow circles disappear. The observer has to press the space key when he/she experiences this blindness.
Choice of the main library
The first version of this experiment was coded with the expyriment library in the motion-induced-blindness.py file. However, this version was really slow because this library is not really optimized for motion. Then, a new version whithout these issues, was made with pygame in the motion-induced-blindness-pygame.py file. The rest of this project will concern only this second version.
Preparation of the stimuli
Before the experiment, a window, the coordinates of the purple squares and their speed vector are initizalized.
The experiment
During the experiment, all the stimuli are displayed on the screen. The positions of the purple squares are calculated with the following formula: initial_position + time * speed_vector. The program is also calculating the time during which the space key was pressed, representing the time during which the observer experienced the partial blindness.
Results
In the end, the rate of blindness-time experienced by the observer is displayed in the terminal.
Test it by yourself
To do the experience by yourself, use the following commands on windows:
git clone git@github.com:emiliengnr/Motion-induced-blindness.git
cd motion-induced-blindness
python -m .venv venv
.venv\Scripts\activate.bat
pip install -r requirements.txt
python motion-induced-blindness-pygame.py
and on linux/mac:
git clone git@github.com:emiliengnr/Motion-induced-blindness.git
cd motion-induced-blindness
python3 -m .venv venv
source .venv/bin/activate
pip install -r requirements.txt
python3 motion-induced-blindness-pygame.py
You can change on line 3 the number of masks used in the experiment and on line 4 the duration (in milliseconds) of the experiment.