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
TrackFeatureStatic 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_dbscannand 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)