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)