JAABA Projects


Each behavior in JAABA corresponds to a different JAABA project, stored in a MATLAB file with the extension .jab.


Contents


JAABA Project Overview

All data associated with a given behavior classifier is stored in a JAABA project file with the extension .jab.

For each behavior, you need a separate JAABA project. This includes the:

JAABA Project Parameters

The following parameters must be set for each JAABA project. Information on the experiment directory structure referred to below can be found here.

Field nameExample valueDescription
Target TypefliesType of animal whose behavior is being analyzed. This really refers to the type of tracking data which is being input. In our work, we use "flies" for both flies and mice and "larvae" for larvae. Other options, e.g. "larvae_mwt" correspond to larvae as well, but tracking using the MWT. This affects what per-frame and window features are used and how the animal's current position is plotted.
Behavior NameChaseName of the behavior, used in the GUI for referring to the behavior.
Movie File Namemovie.ufmfName of the movie file. For each experiment, JAABA reads and shows this file from the experiment directory.
Tracking Data File Nametrx.matName of the MATLAB mat file within each experiment directory in which the animals' trajectories are stored.
Output/Score File NamescoresChase.matName of the MATLAB mat file within the experiment directory where the automatic behavior classifications will be output.
Description of JAABA project parameters.
TODO: add the advanced parameters

Behavior Classifier

The most recent behavior classifier trained using JAABA is also saved in the JAABA project file. The classifier is what is used to automatically predict the behavior of a given animal in a given frame. This classifier can be used to classify the behavior of the animals in a new video outside of your training data set.

Training Data Labels and Locations

The data that has been used for training the classifier is also stored in the JAABA project file. This includes:

Creating a New Project

You can create a new project either by

This will cause the New... project dialog box to open:

New Project Dialog

In this dialog, you can specify the Project Parameters described above.

After you have set the JAABA project parameters, you can add experiments to the project. At any time while JAABA is open, you can create a new project by selecting the File->New menu. You can change many of the project settings after JAABA is open by selecting the appropriate menu option:

Using an Existing Project as a Template

It may be useful to create a new JAABA project using an existing project as a template. For example, suppose you have made a "walk" classifier and now want to make a "stop" classifier that uses all the same settings. To do this, you must perform the following steps:

Saving a JAABA Project

Saving

All data associated with the current JAABA project can be saved to the current .jab file by selecting File->Save or to a new .jab file by selecting File->Save As... from the main JAABA GUI.

Caching Window Data in the .jab File

The window features for all labeled training data must be computed. If you close and open a JAABA project with a large training data set, it can be time-consuming to recompute all the window data. It is possible to store (cache) the window data into the .jab file by selecting the menu File->Cache WindowData in the Jab file. While this will require some disk space, it decreases the amount of time involved in closing and re-opening a JAABA project.

Creating Different Versions of a Behavior Classifier

We often find it useful to create different versions of a behavior classifier. This can be thought of as creating a "restore point" that we can go back to if we do not like the modifications to the classifier we make. For example, we might do this if we have a classifier that is working fairly well, but we want to see what happens if we add a new type of data. To do this, we use the File->Save As... to create a new .jab file. Then, we can go back to the previous .jab file if we are unhappy with the changes we make.