You Wound Me Sir!

The wound healing assay is a fairly common technique in the Cell Biology Research toolkit. The idea is simple: grow cells to cover a surface, scratch a ‘wound’ into the cells then see how well the cells can close the wound (either by replication, migration or a combination of both).


The blood! The horror!

In this post, we’ll be using Fiji to analyse this type of assay which will give us lots of flexibility in both methodology and visualisation options.

It’s worth pointing out that several companies (including incucyte and Cell-IQ) offer hardware and software solutions to perform this type of experiment and analysis. Aside from the cost, they often are not clear about the processing that is undertaken, and I do so hate black-boxes when it comes to image analysis.

The first cut is the deepest…

As mentioned at the top of this post, a wound healing assay is very simple and can be described in 3 (or 4) steps:


Basic steps involved in a wound healing assay. In step 1, ECM=extracellular matrix (green). Growth media (pink) is added in step 4.

Above, left to right:

  1. (optional) Lay down a substrate such as an extracellular matrix component
  2. Grow a lawn of cells to completely cover the bottom of your dish or well
  3. Mechanically scratch the lawn of cells to create a wound (see top image on this post)
  4. Add growth media and follow the healing over time

Of course, the interesting science happens when you use different cells (knock-outs, knock-ins, over-expression systems &c), treat with drugs or alter the surface coating and see how the cells migrate differently. You can even overlay ECM in step 4 and turn it into an invasion assay.


For the purposes of this post, we’ll only be talking about analysing transmitted-light images. Of course much of this can be applied (and may even be easier) if your cells are expressing a fluorescent protein or are otherwise labelled.

As usual with image quantitation we need a metric. What do we want to measure? The obvious choices are wound width (although this falters a bit with uneven recovery) and what is probably a more accurate choice: wound area (or fractional wound area if there is inconsistency in your wound size).


Two possible metrics for wound healing assays: Wound width (red line) and wound area (green) are shown at the beginning (left) and end (right) of an experiment.

A quick aside on measuring wound width

One of the problems with using wound width as a metric is demonstrated in the image above. While the initial wound leaves quite a uniform edge, the wound recovery is anything but far less uniform. This makes an estimate of wound width difficult and inaccurate. There are some ways to do it but I’ll save those for another aside post.

Back to the wound area

The basic technique here is one that we’ve used before on the blog. Turn the image into a mask (keeping only the bit we want to measure) then use analyse particles to measure the area of the mask.

First things first, we need a mask. To get there we’re going to use an entropy filter. This filter is a measure of the local intensity variance (see footnote #1). If you’re unfamiliar with such things, you may be asking yourself how this helps (or why we’re even doing this). Let’s zoom in on the wound (box 1) and non-wound (box 2) areas and use a visual example:

2015-07-wound05Zooming in on these areas:

Brightfield (top) and entropy filtered (bottom) images of the wound area (left) and non-wound area (right)
Brightfield (top) and entropy filtered (bottom) images of the wound area (left) and non-wound area (right)

Just by observation, you can see that the wound (top left) is a lot less ‘textured’ than the area with cells (top right). Once an entropy filter has been applied, the wound is basically black (low variance) while the cells are white (high variance). Now we have the ability to discern wound from non-wound here are the steps towards quantitation: 2015-07-wound10One at a time:

    • Apply the variance mask using [ Process > Filters > Variance ]
    • Make a threshold using [ Image > Adjust > Threshold ]. Default auto thresholding will probably work well. Other good options (although it depends upon your image) are Otsu or Minimum.
    • Hit apply to make a mask. Your cells will be positive (white) and the wound negative. Invert this mask [ Edit > Invert ] to make the wound the object of interest.
    • Refine and measure the mask (in one step) by running [ Analyze > Analyze Particles ].


  • In the dialog (shown above) increase the minimum size to remove small (white) objects. Above, I’ve used 20,000 (see footnote #2) and checked the box to use pixel units. Check the boxes for “Display results” and “Include Holes” (the black spots in your wound). Also select “Masks” in the Show box.

Congratulations, you’ve just measured a wound area! It seems like a lot of work but the steps can easily be applied to a whole stack of images. Once you have your wound area values for each time point, you can plot this against the time points:

2015-07-wound42From this of course you can calculate the rate of wound area decrease by fitting the data to a suitable model.


In this case, we get a ‘healing’ rate of 1186 μm2/min.

Getting pretty…wound healing visualisations

The numbers are really important, but it would be remiss of me not to mention the awesome power of visualisations in getting across your message. Using the refined masks from the above processing, you can make some really nice visualisations of your data.

For example, if you take your refined mask and merge it (using [Image > Color > Merge Channels…]) with your original transmitted light image and you get the following:


I’ve decided to use red for my mask but you can pick any colour you want. Stick with grey for the transmitted channel.

The other neat thing that you can do is to delineate the edge of the wound. There are a couple of ways to do this, but the easiest is to run [Analyze > Analyze Particles] again on your refined mask and select to Show “Bare Outlines”. You can then [Edit > Invert] and [Process > Binary > Dilate] to make the edge thicker. Repeat the channel merge as above for the wound edge overlaid on the original image (shown below).


(L-R): Wound Mask, Bare Edges, Edges inverted and dilated, Overlay

There really is no limit to what you can do here using these and similar tricks. What about overlaying the original wound edge with the wound area. Easy! Can’t easily play a movie (perhaps you’re writing a report or presenting a poster), what about a montage?


Montage of a time course showing the original wound edge (red) with the wound area (green). Note that the transmitted channel is not included (but could be).

Epilogue: Bringing out the lasers

When I was working on this analysis project some months ago, I came across a paper that uses a very similar technique for analysis but has one major experimental variant: A circular wound is created using laser ablation! You can read the paper here.


1: The sample variance can be calculated for a given mask (say a 3×3 pixel grid) by calculating the sum of the squared distance from the mean and dividing this by one fewer than the number of values:Equation_SampleVariance

2: This is a trade off between what you want to consider a wound and how noisy your data become. When your wound drops below 20,000 pixels, you will get a value of 0 (that is, full wound closure), even if the wound is not fully closed. To get around this, you should only fit the regression to the earlier part of the curve.

Attribution: The raw experimental data featured in this post came from a collaboration with Daimark Bennett at the University of Liverpool.


2 thoughts on “You Wound Me Sir!

  1. wyytang

    Hi Dave,
    Thanks for your very valuable posts. Was just wondering, if you could cover maybe how people can analyse their FRAP datasets (more than one point) to plot the (average) FRAP curves using open sourced softwares/ excel? People tend to fit their curves using different model equations too.


  2. Dave Mason Post author

    Hi and thanks for the comment. I actually have a draft post on the theory and practicalities of FRAP data analysis. It’s becoming a monster-post though because there are so many things to cover. Choice of fit equation is a great example as it largely depends on the system you’re using (1D, 2D or 3D, single or multi component &c.)

    I’ll see if I can post it in the near future. For the most part I do FRAP analysis in MATLAB, but any spreadsheet app is also an option (this can be further automated with macros). If you can’t wait and want something a little more automated, I’ve heard good things about easyFRAP (see doi:10.1093/bioinformatics/bts241) but I’ve not used it so I’m afraid I can’t vouch for it.

    Liked by 1 person



Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.