In a paper currently in review (as of 1 August 2014), I developed code to quantify how much an influenza HA protein was binding to human tissue sections.
An example of an image we wanted to quantify is shown below.
One might traditionally think to take the amount of green and divide it by the amount of red. While this sounds reasonable, a few factors don’t permit us to use this metric.
- Splotches of green can arise from non-specific staining, artificially inflating the amount of green present.
- Red cells not at the surface of the tissue are irrelevant for quantification.
Another commonly-used solution is to look for co-localization. However, this does not work because we have stained nuclei, but the protein binds to the cell membrane.
How, then, can we quantify the amount of binding? We can take advantage of an informational property called “entropy”, which is a measure of heterogeneity of a pixel and its surrounding pixels. I used the scikit-image package, in which an algorithm has already been implemented for computing the entropy of an image.
The core idea behind using entropy here is that the entropy of the red channel will trace the positions of the cells, and the entropy of the green channel will trace the positions of the HA protein. If we computed the entropy within a certain radius of pixels, we essentially get an overlapping “force field” of entropies for the red channels and green channels.
An example of the area of overlapping force fields is shown below, next to the original.
We can then count the number of pixels that are present in the overlapping force fields. This gives us a measure of the degree of binding present.
The exact image processing steps are more detailed than what I have outlined here. Source code is available on Github.