ImageJ Plugins for Particle Tracking
This is a suite of ImageJ plugins for performing 2D particle tracking.
2023/03/29 First batch of uploads
- Point.java
- Traj.java
- MovieNormalizer_.java
- Particle_Tracker.java
- Particle_Tracker_totInt.java
- Trajectory_Linker.java
- PartTracker_TrajectorySorterInt.java
File descriptions:
Utility files:
- Point.java: Class for storing coordinates of Each Points
- Traj.java: Class for storing Points classified as belonging to the same trajectories
Preprocessing (optional):
- MovieNormalizer_.java: Computes the time average of the movie (mean image) and normalizes each frame by dividing by the mean image
_Processing: _
-
Particle_Tracker.java: group above threshold pixels in Points, computes their position by the intensity weighted centroid method and outputs spatiotemporal position and the size (nb of pixels) of each points
-
Particle_Tracker_totInt.java: Same as Particle_Tracker but:
- the position of each Point is computed as the average position of the pixels (no intensity weighted centroid)
- the mean intensity of each Point is an output
-
Trajectory_Linker.java: connects points into a trajectory following a minimal proximity in the next frame algorithm
PostProcessing:
- PartTracker_TrajectorySorterInt.java: selects trajectories longer than a user defined threshold and saves them as text file
Instructions:
Preparation:
- Upload the ParticleTracking folder in the IJ Plugin directory
- Get jtransforms-2.4.jar from croelmiyn/FourierImageAnalysis/packages and upload to Plugin directory
Execution:
-
MovieNormalizer_ : runs without user inputs
-
Particle_Tracker (or Particle_Tracker_totInt):
-
Open movie in ImageJ and decide on a threshold if relevant
-
Execute: GUI interface pops up
Parameters:
-
min_particle_radius: minimum radius a group of pixel needs to have to be considered a trackable point
-
separate: if checked, particles with multiple maxima will be split in several particles, using a Gaussian fit of their intensity profiles
-
Method for threshold: method for separating Points from background
-
CutOff: cutOff parameter for the method
pixel counts as Point if:
- cutoff_above_background: intensity > median(pixels) + cutOff * standardDeviation(pixels),
- threshold: intensity > cutOff
- percentile: intensity in the cutOff brighter pixel fraction
- AbsThresh_above_bgd: intensity > mean(pixels_in_given_frame) + cutOff
-
-
Output is a Result_Table containing the detected Points in each frame, which needs to be saved (PartTracked_).
- Trajectory_Linker
- If FIJI: open the PartTracked_ as a ResultTable (File>Import>Results...)
- Run parameters:
- Maximum Distance: maximum distance a particle is allowed to travel between 2 frames
- print: if checked, the trajectories and cell positions will be displayed on the movie stack
- PartTracker_TrajectorySorterInt: minimum_trajectory_length: minimum duration of a trajectory to be selected.