For my research I have developed my own automated animal tracking system called AnimTrack. AnimTrack is fully written in Python 2.7 and is based on the Opencv library. It includes a number of helper functions, including camera calibration and a manual user observer option.

AnimTrack enables the tracking of both individual animals as well as groups of tagged animals in a range of environments and provides highly detailed spatio-temporal output of their movements as well as behavioural characteristics. I showcase a number of its capabilities and describe some of the helper functions below. Currently AnimTrack is not available to the public.

Tracking the exploratory tendency of animals


A standard assay in the animal personality literature is to expose animals to a semi-covered environment to determine the animal’s tendency to explore out of cover, often referred to as ‘boldness’. With AnimTrack I automatically acquire the latency for an animal to go out of cover, the proportion of time out of cover, the distance moved out of cover, the maximum distance out of cover, as well as other detailed movement characteristics such as its speed, heading and orientation. Watch a video of the tracking in action here:

Tracking the social proximity tendency


This is the classic assay for measuring ‘sociability’ in fish. My software AnimTrack automatically determines the average distance from the partition separating the conspecific shoal, the maximum distance from the partition, as well as other detailed movement characteristics such as its speed, heading and orientation. Based on these measures it automatically calculates an individual behavioural score as a measure of the social proximity tendency of the fish. In recent work we have shown that this social proximity tendency is strongly linked to speed and that consistent differences in social proximity may arise due to only differences in movement speed between individuals. Watch a video of the tracking in action here:

Tracking free movement of single fish

Video of single fish…

Besides assays containing a refuge or partitions, I also track the movements of individuals in an open environment to determine their natural movement and turning speed, their pattern of movement, and their wall-following tendency.

Tracking groups of fish

Helper functions:

Camera calibration for correcting image distortion

Dynamic region-of-interest selection


This helper function enables the user to select a region of interest by using the mouse in a saved video, an incoming video stream, or on an image, which is subsequently stored for automated integration in AnimTrack. This function also enables the automatic calculation of a conversion factor to get behavioural characteristics in mm automatically from the video pixel values.

User friendly threshold selection 

This page is not yet completed and will be updated soon..