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 | 🗸 |