Skip to content
Analysis of cell migration in Igor Pro
Branch: master
Clone or download
Pull request Compare This branch is 26 commits behind quantixed:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Analysis of 2D cell migration in Igor Pro

This is a set of functions to load particle tracks and analyse 2D cell migration in Igor.


  1. Cells are tracked manually in ImageJ/FIJI using Manual Tracking.
  2. Organise the outputs in an Excel Workbook*.
  3. Save a copy of LoadMigration.ipf in Wavemetrics/Igor Pro x User Files/User Procedures. Open in Igor and compile.
  4. Go to Macros>Cell Migration... or Execute Migrate() in the Command Window cmd + j.

The dialog asks the user how many conditions (workbooks) are to be loaded and analysed.
The user is then asked to name the condition prefix, e.g. "Ctrl".
User picks the Excel workbook and clicks OK on LoadData window. Repeat for other conditions. Igor will do the rest!

It will calculate and display the following:

  • Cumulative distance over time
  • Instantaneous velocity over time, histogram of velocities
  • Tracks of all cells for visualisation
  • Directionality ratio (d/D) over time
  • Mean squared displacement
  • Direction autocorrelation.

Reports are made for each condition and also a summary layout comparing all conditions.

Excel formatting

NOTE: no headers in Excel file. Keep data to columns A-H, max of 1000 rows.

  • A - 0 - ImageJ row
  • B - 1 - Track No
  • C - 2 - Slice No
  • D - 3 - x (in px)
  • E - 4 - y (in px)
  • F - 5 - distance
  • G - 6 - velocity
  • H - 7 - pixel value

Colour palettes

Colours are taken from Paul Tol SRON stylesheet. Maximum of 12 conditions are handled.


Written for IgorPro 7. From v 1.03 there is no back-compatability for IgorPro 6.37.


* Use 1 workbook per condition. Suggest that each sheet is a field of view, containing all cells in the field. So for two experimental conditions with 10 multipoints each, you will have two workbooks each with 10 worksheets.

* For experiments where a manipulation is done partway through the experiment (e.g. adding a drug). Suggest that pre and post conditions are kept in separate workbooks. Analyzing them will give statistics for each condition (pre and post). If you'd like to stitch the tracks together to analyze data per cell, as long as the tracks are named consistently and the conditions feature pre and post, you can use MigrationAuxProcs.ipf to do this. Execute StitchIV() to generate a report of this type.

You can’t perform that action at this time.