Image Registration - precisely aligning large number of cells

Hi all,

I am new to ImageJ (Fiji) and I may be trying to do the impossible here, but any and all help would be greatly appreciated:

I have about thirty sets of 3-4 images of muscle fiber bundle cross sections. The sections are 8um thick and not in consecutive order, nor are they ordered in any particular direction. Each section in a set has been stained for a different myosin type (1, 2a, 2b, 2x), and some cells are hybrids. I would like to align these images (translate, rotate, warp, etc.) very precisely in order to compare the staining between sections. The end goal is to

  1. Save all transformed images as separate rather than one composite image (not doing 3D reconstruction)
  2. Calculate the centroids of all cells
  3. Number each individual cell in the hope that those that appear in multiple sections have the same number so that they may be accurately compared
  4. Calculate the greyscale intensity of the stain in each section and compare these values between the images in a set, to determine the myosin identity of each cell

On top of this, I would also like to keep information outside of the regions of overlap (and count those cells as well) for individual section analysis.

It is very important that each cell is aligned as precisely as possible, even though there are probably about 300 of them in a section. Unfortunately, some cells end between sections and some appear, making this even more difficult.

I have dabbled with bUnwarpJ, Elastic Align and Montage, and TrakEM2 but did not manage to get the result I was looking for. This may be because I am not familiar enough with the plugins to manipulate them well, despite following any documentation that I could find.

I am attaching one set of images as a sample, if anyone has any suggestions I would be very grateful! (Please note that the images attached do not show the staining, just outlines)

Hello @mlorenc,

I don’t think you can register exactly all your cells because some of them are split or missing in the consecutive slice. How do you want to treat those?

Hi @iarganda, thanks for your reply.

I suppose in an ideal world any ‘non-matches’ between slices would be treated as a separate population (for example, that specific area would be disregarded/left as is while the surrounding matched areas are aligned).

I know this is not very realistic and the registration itself is affected by these cells. I would be ok with losing a small percentage of them since there is a sufficient number to give me the information I need. It seems that by leaving everything as is and using the tools I have tried, the cells end up so warped that I can’t imagine any matches being identified between slices.