Table of contents

Core concepts

This page will introduce the core concepts you’ll encounter when using eidon.

Experiment

Every experiment is a folder with a specific file structure. The folder includes all the materials required to build and run the experiment, including stimuli, configuration files, collected data, and custom code files. For example, it could look like this:

πŸ“‚ my_experiment
β”œβ”€ config.yaml
β”œβ”€ experiment.json
β”œβ”€ πŸ“‚ materials
β”‚  └─ πŸ“„ texts.txt
β”œβ”€ πŸ“‚ stimuli
β”‚  β”œβ”€ πŸ“„ image1.png
β”‚  β”œβ”€ πŸ“„ image1.aois.csv
β”‚  └─ πŸ“„ sound1.wav
β”œβ”€ πŸ“‚ sessions
β”‚  β”œβ”€ πŸ“„ subject1.json
β”‚  β”œβ”€ πŸ“„ subject2.json
β”‚  └─ πŸ“„ subject3.json
β”œβ”€ πŸ“‚ recordings
└─ πŸ“‚ code
   └─ πŸ“„ custom.py

Don’t worry – you won’t have to create all those files yourself. Most of the files will be created automatically by eidon. The fact that all these files are contained within a single folder will make it easy for you to share or publish your experiment. Simply zip your experiment and upload it, and anyone will be able to reproduce your experiment.

Experiment type

eidon supports various types of experiments out of the box. For example, a reading experiment with a Latin square design. The experiment type determines what kinds of materials you will need to build an experiment (e.g., texts and comprehension questions) and what the rough procedure will be when you run it (e.g., how the stimuli will be presented).

You can find an overview of all the experiment types that are currently supported here. If none of the pre-implemented ones match your needs, you can always create your own experiment type.

Experiment session

A session is a single run of your experiment. It defines precisely what trials are presented in what order, during which parts eye movements are recorded, and what interactions (key presses, etc.) are possible. All of this is defined in a JSON file in the experiment folder. In a typical single-session experiment, there will be one of these session files for each participant. If you are using one of the existing experiment types, eidon will generate them for you. But if you want to have full control over every detail in your experiment, you are free to create or generate these session files yourself.

Experiment stage

Each session consists of a sequence of stages. A stage is typically just a single screen where a stimulus is displayed or some interaction happens (e.g., answering a question, performing calibration, etc.). If you are using one of the existing experiment types, you will not have to configure these stages yourself.

block
    block:sessions
    columns 3
        block:session1:3
        columns 3
            session1label["session1.json"]:3
            session1stage1["Stage 1"]
            session1stage2["Stage 2"]
            session1stage3["Stage 3"]
        end
        block:session2:3
        columns 3
            session2label["session2.json"]:3
            session2stage1["Stage 1"]
            session2stage2["Stage 2"]
            session2stage3["Stage 3"]
        end
    end
    style session1label stroke-width:0, fill:#0000
    style session2label stroke-width:0, fill:#0000

This site uses Just the Docs, a documentation theme for Jekyll.