Skip to content

A linking algorithm for particle tracking in n-dimensions, implementing a kinematic model and a memory feature to account for occasional misses.

License

Notifications You must be signed in to change notification settings

eldad-a/particle-tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

particle-tracking

A linking algorithm for particle tracking in n-dimensions, implementing a kinematic model and a memory feature to account for occasional misses.

Multi particle tracking is a common problem, often separated in two parts:

  1. Particle detection and localisation
  2. Linking these sets of positions in time-lapse sequences into trajectories.

The python code provided here implements an algorithm to address the second one; the matlab script accompanying Kelley and Ouellette (Am. J. Phys., 79(3):267, 2011) served as a starting point.

Among the modifications and features which have been introduced:

  • implemented in Python and supports pandas DataFrame input and output
  • generalised to n-dimensions
  • the kinematic model, in which future positions are inferred from the already linked past positions, accounts for velocities and accelerations based on finite-differences
  • a memory feature was added to account for the occasional loss of tracers, and it was optimised for better performance.

The algorithm implemented here accounts for the physical process of particles advected by a smooth chaotic flow and for the uncertainties. These arise from the chaotic in time nature of the flow – “physical noise” – as well as from localisation and past linking errors – “experimental noise”.

Related projects and publications:

About

A linking algorithm for particle tracking in n-dimensions, implementing a kinematic model and a memory feature to account for occasional misses.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages