Example: Visual Discrimination ‐ analysis - fdechaumont/micecraft GitHub Wiki

Datas are stored in a log file. We parse every line of this file to recover our data and place it inside a csv file. In the experiment we log every information we need (and more) with a specific tag for an easy recovering. A tag is the first message between brackets and without space in a log line. The parsing consist to check the tag of every line and get information from it if needed. There is also the [warning] tag that is an additional tag placed before any other tag. It is used for various guard checks, debugging and for pointing errors.

Here is the list of all tags used in this example experiment, and if a warning message of this tag exist.

Experiment tags

Tag Description Warning
init_hardware gate, touchscreen & waterpump init
all_rooms list all rooms at the start of experiment (useful for data parsing)
init_sensors sensor init
trial_result all information about trial result after animal touch the touchscreen 🗸
useful_touch when animal touch the screen with a consequence (e.g. trial answer)
useless_touch when animal touch the screen with no consequences (e.g. during success or fail state)
reward_picking when animal try to pick a reward, inform if there was a reward to pick or not
reward_delivery when delivering a reward
reward_flushing when flushing any reward
phase_completion animal completes a phase (when exiting the room)
room_state room state changes (INITIAL, EXIT, TRIAL, SUCCESS, FAIL)
animal_in when INITIAL state of a room is set 🗸
animal_out when EXIT state of a room is set
animal_progression display animal current progression (same as what is shown on the interface)
gate_listener when gate event received in gate_listener but no room was found
gate_expected_weight when gate weight set
animal_weight when animal weight is measured and in the expected range
touchscreen_display all information on images when they are displayed on the touchscreen (side, name and ID)
touchscreen_random_display give the image and its opposite that will be displayed on the touchscreen randomly
touch_simulation when user simulate touchscreen event through the interface
rfid_registration new RFID registered 🗸
ts_image_attribution correct touchscreen image assigned to animal (either during animal registration or by user)
phase_attribution phase attribution (only settable by user)
animal_loading when loading animal from json
animal_saving when saving animal in json
video_recording when recording a video (e.g. a trial) 🗸

Interface

Tag Description Warning
user_action when user as made an action in the interface
visual_room_binding for debugging purpose if rooms are wrongly named in the interface 🗸