AnimalTracker: An ImageJ-Based Tracking API to Create a Customized Behaviour Analyser Program


Widely used behavioural investigation methods, such as the Morris water maze or fear conditioning tests, can be evaluated in several different ways. Commercially available software tools (e.g., Smart, Anymaze, etc.) as well as freely available programs are designed to fulfil certain pre-defined tasks with pre-defined methods. 1, 2 Thus, they do not allow the modification of the applied algorithms and prevent further customisation. We aimed to establish the AnimalTracker application programming interface (API) 3 in a way that its structure allows easy expansion with independent ImageJ ap-plications/plugins, providing a widely useful toolkit for cus-tomized behavioural investigations and analyses. The AnimalTracker API can analyse any image sequence compatible with ImageJ. 4 The API has three main functional modules (see Fig. 1 and the website for detailed descriptions). The function of the Tracker module 5 is to process video recordings and to determine the observed object's XY coordinates in each frame. Each frame goes through a customizable processing chain (Fig. 1a). The function of the filtering step is to facilitate the binarization of the frames by decreasing image noise and/or removing the background. Besides several commonly used filters, a background subtractor filter is also provided to remove the static objects from each frame. During the binarization step, separation of the foreground from the background is performed. The postprocessing step serves to correct the errors of the binarization process, such as removing excess foreground pixels caused by image noise. In case of the filtering and postprocessing steps, algorithms can be expanded and concatenated freely and in an unlimited manner. During blob detection, the program searches for continuous foreground areas (so-called blobs). Ideally, the blob should represent the tracked animal only but visual artefacts may also be recognised as blobs. During the blob comparison step, the blob most closely matching the tracked object is selected by the Simple Distance Blob Comparator algorithm. Finally, the numerical output of the Tracker module provides the XY coordinates of the blob and can be exported as a text file. Custom processing chains created for different types of recordings can be saved and used as templates. The TrackAnalyzer module 6 is responsible for the extraction of different trajectory parameters measured during the recording (Fig. 1c). The module works with the XY position set provided by the Tracker module or can read any external text file containing trajectory data arranged in the required structure (X and Y coordinates separated by …

DOI: 10.1007/s12021-016-9303-z

Extracted Key Phrases


  • 2016