Heatmaps in imagej?

Is there a plugin (I searched but couldn’t find) that will take Roi’s (average pixel intensity) measured in an an x,y,t stack and plot them not as traces but instead as a heat map? For instance, in standard calcium imaging expt’s, I can take the measured Roi’s (average pixel intensity) and plot them vs time using MatLab (each row is the change in fluorescence for one cell, plotted vs. time on the x axis):

But I would like to be able to do this all with ImageJ if possible.

I guess there are multiple ways of doing it. Here is one, assuming you only have a single-channel time-lapse stack:

  1. Store all your ROIs in the Manager
  2. Select only Mean (and Display Label) in Analyze>Set Measurements…
  3. Run Manager’s More>>Multi-measure (with no list selection so that all ROIs are measured)
  4. You should obtain a Results table in which each column is a ROI and each row a time-point (i.e., slice of the image stack)
  5. Run Image>Transform>Results to Image
  6. Adjust LUT and image canvas to taste (e.g., by scaling it, and rotating it 90 degrees so that time appears on the X-axis).
  7. Append scale bars using Analyze>Tools> Scale / Calibration Bar…

Alternatively, if you want to use a script, have a look at this one (a BAR snippet) that does something similar to create an image from TrackMate data.


thanks, tferr! In the interim, I had managed to get about 1/2 way along that route myself by digging up some older strings from another forum. Your last instructions added the final touches I needed.

1 Like