Arena Presets
RODENT provides six predefined arena configurations.
All presets are JSON files stored in:
presets/
Each preset uses:
schema_version: 2
and defines its arena, simulation settings, stimuli, protocol, treatment, controller, rodent configuration, and UI settings.
The six presets are:
| Preset | Regions | Walls | Doors | Primary purpose |
|---|---|---|---|---|
| Multivariate Concentric Square Field | 9 | 13 | 7 | Anxiety, exploration, shelter-seeking and risk assessment |
| Open Field Test | 1 | 0 | 0 | Locomotion, anxiety and habituation |
| Light Dark Box | 2 | 1 | 1 | Light aversion and preference |
| T-Maze | 4 | 11 | 0 | Spatial decision-making and memory |
| Four Room Arena | 9 | 8 | 8 | Zone preference and place conditioning |
| Complex Habitat | 9 | 10 | 7 | Multi-feature naturalistic behaviour |
These are intended experimental configurations. Their stated purposes describe the behaviour each configuration is designed to investigate; they should not be interpreted as evidence that the simulator itself scientifically validates those behaviours.
Preset Location
The complete preset collection is:
presets/
├── mcsf_sprint_one.json
├── open_field.json
├── light_dark_box.json
├── t_maze.json
├── four_room_arena.json
└── complex_habitat.json
1. Multivariate Concentric Square Field
File:
presets/mcsf_sprint_one.json
Name:
Multivariate Concentric Square Field
The MCSF preset is the most feature-rich of the standard arena configurations.
It combines multiple behavioural zones into a single arena.
Arena
The arena contains:
- 9 regions
- 13 inner walls
- 7 doors
- 6 material definitions
- outer walls
- raised bridge geometry
The outer wall height is configured as:
28
Regions
The arena contains regions representing different functional areas, including:
- open areas
- corridors
- shelter-related areas
- risk areas
- exploration areas
- transition areas
- bridge-related areas
Walls and Doors
The 13 inner walls divide the arena into its functional zones.
Seven doors provide controlled passages between areas.
Door states can therefore be used to control access between regions.
Bridge
The preset includes:
mcsf_bridge
The bridge configuration specifies:
type: bridge
region_id: bridge
entry_region_id: bridge_slope_entry
exit_region_id: bridge_slope_exit
elevation: 6.0
The renderer creates:
- bridge base
- entry ramp
- exit ramp
Stimuli
The preset includes:
- bridge light
- DCR odour
- ambient sound
Treatment
The treatment configuration uses a medicine condition with:
Dose: 10 mg
Administration step: 50
Intended Use
The MCSF configuration is designed to combine:
- anxiety-related exploration
- shelter-seeking
- risk assessment
- exploration of different arena zones
It also demonstrates several renderer features in one preset.
2. Open Field Test
File:
presets/open_field.json
Name:
Open Field Test
The Open Field Test is the simplest preset.
Arena
The arena contains:
- 1 region
- 0 inner walls
- 0 doors
- 6 material definitions
The configuration is an open arena without internal barriers.
Stimulus
The preset includes an active field light.
Intended Use
The preset is designed for general measurements involving:
- locomotion
- exploration
- anxiety-related behaviour
- habituation
Because there are no internal walls or doors, it provides a simple environment for observing movement without complex region transitions.
3. Light Dark Box
File:
presets/light_dark_box.json
Name:
Light Dark Box
The Light Dark Box divides the arena into two contrasting environments.
Arena
The arena contains:
- 2 regions
- 1 divider wall
- 1 circular door
- 6 material definitions
The two main regions are:
light_room
dark_room
Door
The divider contains a circular door connecting the two rooms.
The door provides controlled movement between the light and dark environments.
Stimuli
The preset includes:
- an active light source in the light room
- a disabled dark odour stimulus
Intended Use
The configuration is designed for investigating:
- light aversion
- preference between contrasting zones
- transitions between light and dark environments
4. T-Maze
File:
presets/t_maze.json
Name:
T-Maze
The T-Maze represents a branching decision environment.
Arena
The arena contains:
- 4 regions
- 11 inner walls
- 0 doors
- no outer walls
- 6 material definitions
The four regions are:
left_arm
upper_arm
lower_arm
junction
Stimuli
The preset contains:
- an active left-arm light
- a disabled right-side odour stimulus
Intended Use
The T-Maze is designed for:
- spatial decision-making
- arm choice
- navigation through a branching environment
- spatial memory tasks
5. Four Room Arena
File:
presets/four_room_arena.json
Name:
Four Room Arena
The Four Room Arena combines four rooms with a central connecting hub.
Arena
The arena contains:
- 9 regions
- 8 inner walls
- 8 doors
- 6 material definitions
The configuration represents four rooms connected through a cross-shaped central corridor or hub.
Stimuli
The preset includes:
- an active hub light
- a disabled north-west odour stimulus
Doors
Eight doors provide controlled transitions between the different rooms and connecting areas.
Intended Use
The configuration is designed for:
- zone preference
- place conditioning
- movement between multiple rooms
- repeated region transitions
6. Complex Habitat
File:
presets/complex_habitat.json
Name:
Complex Habitat
The Complex Habitat is designed to demonstrate a more naturalistic multi-region environment.
Arena
The arena contains:
- 9 regions
- 10 inner walls
- 7 doors
- 6 material definitions
The configuration includes:
- shelter areas
- foraging areas
- corridors
- bridge-related areas
- multiple connected regions
Stimuli
The preset contains:
- bridge light
- dark odour
- foraging tone
- centre light
Protocol
The protocol includes events at:
Step 30
Step 60
Step 90
These events allow stimulus activity to change during the experiment.
Treatment
The treatment configuration includes:
Medicine
Dose: 10 mg
Administration step: 50
Intended Use
The Complex Habitat is intended to demonstrate:
- multi-room navigation
- shelter and exploration behaviour
- foraging-related scenarios
- stimulus scheduling
- treatment configuration
- complex arena geometry
It is also useful as an integration preset because it exercises many of the arena engine's supported features.
Preset Feature Comparison
The six presets deliberately cover different levels of arena complexity.
| Feature | MCSF | Open Field | Light Dark Box | T-Maze | Four Room | Complex Habitat |
|---|---|---|---|---|---|---|
| Multiple regions | Yes | No | Yes | Yes | Yes | Yes |
| Inner walls | Yes | No | Yes | Yes | Yes | Yes |
| Doors | Yes | No | Yes | No | Yes | Yes |
| Outer walls | Yes | Yes | Yes | No | Yes | Yes |
| Multiple materials | Yes | Yes | Yes | Yes | Yes | Yes |
| Stimuli | Yes | Yes | Yes | Yes | Yes | Yes |
| Bridge | Yes | No | No | No | No | Yes |
| Treatment | Yes | No | No | No | No | Yes |
| Protocol events | Yes | No | No | No | No | Yes |
Preset Selection
A suitable starting preset depends on the purpose of the experiment.
For a simple movement environment:
Open Field Test
For contrasting light and dark environments:
Light Dark Box
For branching navigation:
T-Maze
For multi-room preference experiments:
Four Room Arena
For a feature-rich naturalistic environment:
Complex Habitat
For a combined multi-zone arena with elevated bridge geometry:
Multivariate Concentric Square Field
Preset Validation
Preset files are checked automatically by the project's validation scripts.
The primary validator is:
tests/validate_presets.py
Run:
python tests/validate_presets.py
The determinism configuration test is:
tests/test_determinism_ci.py
Run:
python tests/test_determinism_ci.py
The validators check the required structure of the preset files, including schema version, simulation configuration, arena configuration, regions, walls, doors, stimuli, protocol, treatment, rodent configuration, and controller settings.
Adding a Custom Preset
Custom presets should be created in:
presets/
and should use:
"schema_version": 2
A custom preset should reference materials defined in its own:
arena.materials
collection.
Region, wall, and door references must remain internally consistent.
In particular:
door.wall
must refer to an existing wall ID, and every referenced:
material_id
should correspond to a material defined in:
arena.materials
After creating a preset, run:
python tests/validate_presets.py
before using it in the application.