Module trackpal.features

Module for track feature descriptors.

Functions

def angles_from_displacements(disp_xy)

Compute the angle in radians from track displacements

Args

disp_xy : numpy.array
displacements [n x 2]

Returns

numpy.array
angle in radioans [n x 1]

Classes

class ConfinementRatio (coords, frame)

Compute confinement ration as net distance divided by total distance travelled \frac{\|x_n-x_1\|}{\sum_{i=1}^n \|x_i\|}

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class DirectionalChange (coords, frame)

Compute statistics of the angle between two successive positions

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class DirectionalChangeCount (coords, frame)

Count of angles exceeding 20, 45, or 90 degree angle turns

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class Features (coords, frame)

Factory class for the creating of TrackFeature

Static methods

def list(verbose=False)

List names of all available features

Methods

def get(self, name)

Retrieve track feature by name

class GyrationTensor (coords, frame)

Compute gyration tensor by fitting an ellipse and extraction several measures

  • axis lengths
  • axis ratio
  • radius R^2
  • coherence

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class MSDParabola (coords, frame)

Fits a parabola to mean squared displacement curve of track and returns fit parameters and R^2

Ancestors

Class variables

var name

Methods

def compute(self, trj, clip=0.9, min_trj_len=3)
class MeanStraightLineSpeed (coords, frame)

Compute mean straight line speed as net distance divided by total time \frac{\|x_n-x_1\|}{\sum_{i=1}^n \|\Delta t_i\|}

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class PartitionFeature (coords, frame)

Compute features based on spatio-temporal clustering with DBSCAN.

Track is partitioned by partition_dbscann and features of stationary (dwelling) and moving tracklets are computed.

For the stationary part:

  • partition_dwell_state_count
  • partition_dwell_state_total_duration
  • partition_dwell_state_relative_duration
  • partition_dwell_between_state_duration_mean
  • partition_dwell_between_state_duration_max
  • partition_dwell_between_state_length_mean
  • partition_dwell_between_state_length_max

For the moving tracklets

  • partition_moving_speed_stats_mean__mean
  • partition_moving_speed_stats_std__mean
  • partition_moving_speed_stats_min__mean
  • partition_moving_speed_stats_max__mean
  • partition_moving_gyration_tensor_minor_axis_length__mean
  • partition_moving_gyration_tensor_major_axis_length__mean
  • partition_moving_gyration_tensor_axis_ratio__mean
  • partition_moving_gyration_tensor_radius__mean
  • partition_moving_gyration_tensor_coherence__mean
  • partition_moving_directional_change_mean__mean

Ancestors

Class variables

var name

Static methods

def dwell_centroid_idx(labels)

Track indicies of dwell sub tracks

Args

labels : np.array
labels from dbscann

Returns

list[np.array]
List of sub-track indicies
def moving_sub_tracks(trj, labels, coords, frame, minimum_size=3)

Returns the moving tracklets of given track and labels

Args

trj : pandas.DataFrame
The track
labels : np.array
labels from dbscann
coords : list[str]
xy identifiers
frame : str
frame identifier

Returns

list[pandas.DataFrame]
List of moving subtracks
def partition_dbscann(p, t, eps, t_scale=1.0)

Partition track by spatio-temporal clustering using DBSCAN

Args

p : numpy.array
xy location
t : numpy.array
times
eps : float
DBSCAN epsilon
t_scale : float, optional
[description]. Defaults to 1.0.

Returns

numpy.array
DBSCAN label assingment

Methods

def compute(self, trj, eps=6, t_scale=1.0)
class RDP_simplification (coords, frame)

Applies Ramer–Douglas–Peucker algorithm to simplify the track for given epsilon and extracts:

  • ratio of positions in simplified and original track
  • mean and std directional change

Ancestors

Class variables

var name

Methods

def compute(self, trj, min_trj_len=3, eps=1)
class SpeedStats (coords, frame)

Compute several statistics of the instantaneous speed

Satistics

  • mean
  • std
  • min
  • max

Ancestors

Class variables

var name

Methods

def compute(self, trj, min_trj_len=2)
class TrackDiameter (coords, frame)

Statistics of the track diameter

  • mean
  • std
  • max

of all pairwise distances of all positions in the track

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class TrackDuration (coords, frame)

Duration of track

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class TrackFeature (coords, frame)

Base class for all track features

Subclasses

class TrackLength (coords, frame)

Length of track

Ancestors

Class variables

var name

Methods

def compute(self, trj)
class VACstats (coords, frame)

Computes velocity autocorrelation and returns statistics

Satistics

  • mean
  • std
  • min
  • max

of the curve for delays > 0

Ancestors

Class variables

var name

Methods

def compute(self, trj, min_trj_len=3)
class VelocityAverage (coords, frame)

Average velocity

Ancestors

Class variables

var name

Methods

def compute(self, trj)