ViRMEn (Virtual Reality MATLAB Engine) is our software package for designing and running virtual reality experiments on animals. It was written by Dmitriy Aronov during his postdoc in David Tank's lab at Princeton. The software is free, open-source, and has been used by over a dozen labs worldwide.
ViRMEn contains 3 components:
- A simple-to-use graphical user interface (GUI) for interactively designing virtual environments.
- A graphics engine that performs 3D rendering of virtual environments on a computer monitor or using a projector.
- A MATLAB-based toolbox for programming virtual-reality experiments and manipulating environments in real time.
The user interface of ViRMEn is entirely within MATLAB. However, in the background ViRMEn achieves fast graphics by directly accessing low-level OpenGL commands. The engine also recognizes physical boundaries within virtual environments and performs collision detection to manage the animal’s contact with these boundaries.
ViRMEn is designed to be highly customizable. The engine can apply arbitrary spatial transformations to virtual environments to display them on practically any type of screen (flat, conical, toroidal, cylindrical, etc). The engine can also access any type of an input device (such as an optical mouse) to obtain the animal’s velocity information. Finally, the engine runs custom user-written MATLAB code that can implement experiment logic, reward delivery, data logging, etc.
ViRMEn is currently available from the Princeton Neuroscience Institute.