Velocities

class ollin.movement_analyzers.velocity.Analyzer(movement)[source]

Velocity analyzer.

Velocity refers to change in distance per change in time at some step of individual motion.

Hence if \(p(t_0) = (x_0, y_0)\) and \(p(t_1) = (x_1, y_1)\) are the positions of an individual at times \(t_0\) and \(t_1\) then the velocity at time \(t_1\) is defined by:

\[ \begin{align}\begin{aligned}d_1 = (x_1 - x_0, y_1 - y_0)\\vel = \frac{||d_1||}{t_1 - t_0}\end{aligned}\end{align} \]
analyze(movement)[source]

Extract turn angles from movement data.

Get the turn angles of all individuals in movement data at every time step. Will result in an array of size [num_individuals, time_steps - 2] so that:

turn_angle = results[i, k]

Means that the i-th individual had a turn angle of turn_angle at the k-th time step.

Parameters:movement (Movement) – Movement data to analyze
Returns:results – Array of shape [num_individuals, time_steps - 1] containing the turn angles of all individuals at every time step.
Return type:array
plot(ax=None, figsize=(10, 10), num_individual=0, bins=20, width=None, cmap='Reds', alpha=0.8, log=True)[source]

Plot distribution of velocities.

Parameters:
  • ax (matplotlib.axes.Axes, optional) – Axes object in which to plot.
  • figsize (tuple or list, optional) – Size of figure to create if no axes are provided.
  • num_individual (int or tuple or list or array, optional) – Selection of individuals from which to draw velocity information. If num_individual=’all’, all information will be plotted.
  • bins (int, optional) – Number of bins to use in histogram of velocity distribution. Defaults to 20.
  • width (float, optional) – Width of bars in histogram. If none is given, width will be maximum possible before overlap.
  • cmap (str, optional) – Colormap to use to assign colors to histogram bars. Defaults to ‘Reds’.
  • alpha (float, optional) – Alpha value of plot. Defaults to 0.8.
  • log (bool, optional) – If true, yaxis in histogram will have logarithmic scale.