Object morphology
The object properties are calculated with the Scikit-Image function regionprops. A complete description of these properties may be found in the in the Scikit-Image documentation. At this time, the properties in Table 2 are stored in the output .xlsx file.
Table 1. Morphological properties
| Property | Unit |
|---|---|
| area | [microns2] |
| equivalent_diameter | [microns] |
| perimeter | [microns] |
| euler_number | [--] |
| minor_axis_length | [microns] |
| major_axis_length | [microns] |
| extent | [--] |
Velocity and object tracking
If a selected object is linked to an object in the next frame, the instantaneous velocity will be calculated based on the displacement of the object centroid, area, and the frame rate of the video. In brief: the best match of an object in the previous frame and an object in the current frame will be assigned to the nearest object with the most similar area. In the default mode, a simple sum of distance and area is made to determine the best match. The velocity will be calculated for each object displacement, and reported with a standard deviation as summarized in Table \ref{tab:evl}
Table 2. Velocity calculation
| Property | Unit | Description |
|---|---|---|
| vel_mean | [mm/s] | mean velocity over vel_N - 1 measurements |
| vel_N | [--] | number of linked objects |
| vel_std | [mm/s] | standard deviation of vel_mean |
Trajectory
A trajectory filter has been added to avoid tracking objects with the incorrect trajectory -- i.e. objects that are not moving ''downward'' in the image. The filter calculates the absolute value of the angle between the object direction and [1,0] -- i.e. ''down'' in the image; then removes objects with an average trajectory that exceeds the maximum angle defined in the parameters. Refer to the Safas module tracker.py for more details of the implementation. At this time, the user must set the maximum angle manually in the configuration file, by changing the value of the parameter ''max_object_angle.''