Fig 1.
Example levels made with Unreal.
(A) Examples of four DomeVR Stimulus types added to a foliage filled Level. From left to right: MeshStimulus, MovieStimulus, ImageStimulus, GratingStimulus. The foliage was generated with UE4 landscape grass types. (B) As A but for a level with a maze.
Fig 2.
(A) An illustration of a potential trial state machine. Arrows indicate the logic. Blueprint code for an example trial state machine is given in S2 Fig. (B) An example of a state “Correct” which sends an event marker among other functions (see Input/output). (C) An example of an alternative state CorrectResponse which has a new reward function added via drag-and-drop. (D) An illustration of the control flow of a DomeVR experimental task. A “Session” describes the loading of a Level for the subject to play. This loads a “Block” state machine containing a “Trial” state machine. Single states are shown as small boxes.
Fig 3.
(A) Schematic of the dome setup. The projector is pointed at the curved mirror that projects the UE4 output onto the 250 degree dome. Input is received through a treadmill/trackball for mouse and primate subjects respectively. A camera placed within the dome can track behavioral input e.g., eye movements. (B) The fisheye view in UE4. The 6th scene capture component captures the warped fisheye view from the 5 different perspectives from 5 scene capture components. (C) The dynamic rendering pipeline UI allows the simultaneous viewing of the first 6 scene capture components and updating of their resolutions to find the best possible compromise between resolution and frame rate. Here demonstrated with a low resolution.
Fig 4.
(A) Photodiode recording of the brightness switching object with three brightness levels in the following pattern: 1,0.3,1,0. It initializes with a brightness of 0.5. Blue line is the recorded photodiode signal, green stars are all frame flips and red line is the software adjusted flickering pattern. (B) Photodiode recording of the flickering pattern shortly before and after the end of a pause, intended to induce frame skips (see arrows).
Fig 5.
Photodiode traces aligned by DomeVR.
(A) Analysis of photodiode alignment. Grey lines are individual alignments, black line is the median, dotted lines are 5th and 95th percentile. Red lines indicate analyzed time window. (B) As (A) but for an example 1% of the traces over the shorter analyzed time. Note the change in x and y axis. (C) Black dots are the maximum change in the photodiode signal of the analyzed area. (D) Histogram shows the counts of the maximum change times. (E-H) As (A-D) but the session was run on a second computer and DomeVR was not paused. Note the change in x axis in G and H. Here the maximum change varies by less than a millisecond and the limit of the 30 kHz recording resolution of 0.0333 ms is visible.
Fig 6.
Example data from three species, human, macaque and mouse.
(A) Dual screen screenshot of a human experiment (B) The path to the stimuli from the first 50 trials of a human. (C-D) As (B) but for the macaque and mouse experiments respectively. Different x and y axis in each are due to the different parameters of each experiment. (E) Comparative performance across trials for all three species. Performance is measured as the proportion of correct trials in a sliding window of 20 trials. For the human this is the same as the green line in (A). Inset shows the same performance measure for just the first 200 trials of each experiment.