Page MenuHomec4science

Project History
ActivePublic

Details

Looks Like
ExpyVR
Hashtags
#expyvr
Description

What is it?

ExpyVR is a Framework for Designing and Running Experiments in Virtual-Reality.

ExpyVR was originally inspired by psychopy but the execution pipeline was entirely redesigned to be based on OpenGL rendering. The code of ExpyVR is in Python, but it uses C/C++ shared libraries for multimedia I/O. It is essentially developped for MS Windows (XP or 7) but the core engine is in itself non-OS specific (multi-platform Python modules).

ExpyVR allows users to easily design an experiment timeline with loops and randomization using a graphical user interface. Modules for 2D and 3D display, audio, or user input are integrated into the timeline with few clics. Once an experiment is described and saved, a set of execution instances can be generated with randomization for testing with subjects (e.g. factorial design).

Design principles

  1. Separation of the experiment design GUI and the experiment controller for execution
    • GUI allows to design experiment as a set of modules instances + a flow with time-lines (XML)
    • GUI generates instances (XML)
    • Controller reads XML and executes instances
  1. Components are developed and added easily
    • Grouped by directories (default components, lncocomponents, etc.)
    • Structure of a component is defined in OOP: fix set of methods (init, start, stop, clean), subclass of generic classes: basic, drawable, HUD, etc.
    • Programming of components and scripting is done in Python
  1. No external dependencies
    • NO installation procedure for libraries (only for drivers if not possible otherwise)
    • Runtime execution environment is provided with full set of dependencies

Usage and development policy

ExpyVR is provided as-is, with no support. A documentation is provided for learning to use and to develop new components. It is shared with the hope that it can be useful to researchers who, like us, need a high flexibility in the design and programming of their behavioral experiments.

Feel free to contact Florian Lance for more information or collaborations.

Installation procedure

Event Timeline

lance created this project.Jul 31 2017, 10:20
lance edited Description. (Show Details)
lance updated this project's image from F2808851: profile to F2809424: profile.Aug 3 2017, 15:26
lance updated this project's image from F2809424: profile to F2809513: profile.
lance changed the visibility from "Project Members" to "All Users".
lance changed the edit policy from "Project Members" to "lance (Florian Lance)".
lance updated this project's image from F2809513: profile to F2810024: profile.Aug 3 2017, 15:37
lance updated this project's image from F2810024: profile to F2810052: profile.
lance updated this project's image from F2810052: profile to F2810132: profile.
lance changed the visibility from "All Users" to "Public (No Login Required)".Aug 4 2017, 13:50
lance removed a member: lance.Aug 4 2017, 13:53
lance added a member: lance.Aug 4 2017, 14:43
lance changed the join policy from "No One" to "All Users".
lance edited Description. (Show Details)
lance edited Description. (Show Details)
lance edited Description. (Show Details)
lance edited Description. (Show Details)
lance edited Description. (Show Details)
Ale added a member: Ale.Apr 9 2018, 17:23