flattening a layer from z-stacks of thick uneven tissue
Posted by Mark Krebs on Oct 12, 2009; 2:26pm
URL: http://imagej.273.s1.nabble.com/flattening-a-layer-from-z-stacks-of-thick-uneven-tissue-tp3690504.html
Hi All,
I'm a relatively new ImageJ user. I have confocal fluorescence microscopy
z-stacks of a 50-um thick epithelial tissue stained for nuclei (blue
channel. The tissue is not completely flat; the z-position of its topmost
surface varies gradually within the xy plane by 5-10 um. I would like to
analyze the cell nuclei of the topmost ~10-um thick cell layer (number,
area, volume, etc.), but I am unable to merge the z-slices without
fluorescence contributions from nuclei in other layers. This makes it
much more difficult to identify nuclei and analyze them properly.
I am wondering whether there is any ImageJ macro or plugin that will
isolate the nuclei of the topmost cell layer from underlying nuclei by
calculating a topmost nuclear surface (S), which follows the uneven
surface of the tissue. I imagine several steps to the analysis.
First, there would be an algorithm to define S by threshold criteria,
which should be feasible since the top of the stack is black background.
At each xy location of the image, the z-stack would be examined from the
top, defining the z-position of the surface as the first pixel encountered
that exceeds the threshold blue value. Since nuclei are separated by ~20-
30 um, there would need to be a mechanism to ignore z positions calculated
at xy locations where there are no nuclei in the topmost cell layer. This
might be achieved perhaps by analyzing a limited z-range that is provided
as input, or by "rolling a ball" of defined radius over the image surface
and selecting only the topmost positions. Finally, S would be calculated
from the coordinates of the topmost nuclear positions.
Second, S would be used to collect a slab of z-pixels (with an input value
slightly exceeding the nuclear diameter) downwards from the topmost
nuclear surface. This slab of z-pixels would be used to create a new,
flattened z-stack, which can be used as input for merging and analysis.
Does anyone know of an ImageJ application for this purpose? Or is there a
simpler approach? If there is no such application (we DON'T have an app
for that!), can someone offer advice on how to go about creating such an
application?
Thanks everyone!
Cheers,
Mark