Posted by
Tony Collins-4 on
Nov 18, 2008; 8:47pm
URL: http://imagej.273.s1.nabble.com/counting-cells-in-multiclour-fluorescence-images-tp3694463p3694464.html
I've been playing with some semi-automated cell identification and put the macro so far below. It's based on automated cell segmentation in high content screening where a nucleic acid stain (DARQ5 in our case) is used to first identify the nucleus (DNA really bright) then the cytoplasm (RNA being fainter). You can kind of generate a similar type of image by splitting your RGB, dividing the red and green by 2 to make them fainter and adding the red green and blue back together.
The macro uses two thresholds one for nucleus and one for cytoplasm which are here in the text (a better tweak would be to pull the upper and lower bounds from the user defined threshold).
It uses particle detection to find nuclei then maxima detection within the lower threshold bound to find the cytoplasm. Once it's identified the cells and put them in the ROI manager then you can go crazy with the analysis.
http://www.macbiophotonics.ca/images/cellSegmentation.jpgHope this helps.
Regards,
Tony
cytoThresh = 4;
nucThresh=35;
origID=getImageID();
run("Duplicate...", "title=nuc");
run("Gaussian Blur...", "sigma=1");
setThreshold(nucThresh, 255);
run("Convert to Mask");
run("Watershed");
run("Ultimate Points");
run("Multiply...", "value=255");
run("Dilate");
run("Dilate");
nucID=getImageID();
selectImage(origID);
run("Duplicate...", "title=cyto");
cytoID=getImageID();
run("Gaussian Blur...", "sigma=1");
run("Divide...", "value=2");
imageCalculator("Add", cytoID,nucID);
setThreshold(cytoThresh , 255);
run("Find Maxima...", "noise=50 output=[Segmented Particles] above");
segmentedID=getImageID();
setThreshold(1, 25500);
run("Analyze Particles...", "size=150-25000 circularity=0.00-1.00 show=Outlines clear summarize add");
maskID=getImageID();
selectImage(cytoID);
close();
selectImage(nucID);
close();
selectImage(maskID);
close();
selectImage(segmentedID);
close();
selectImage(origID);
setOption("Show All",true);
roiManager("Measure");
Tony J. Collins, Ph.D.
McMaster Biophotonics Facility
Dept. Biochemistry and Biomedical Sciences HSC 4H21A
McMaster University, Hamilton, ON, L8N 3Z5
[hidden email] www.macbiophotonics.ca
> -----Original Message-----
> From: ImageJ Interest Group [mailto:
[hidden email]] On Behalf Of
> Matthias Kirsch
> Sent: Sunday, November 16, 2008 3:59 PM
> To:
[hidden email]
> Subject: counting cells in multiclour fluorescence images
>
> Dear all,
>
> I am trying to find a way to count cells expressing one or the other or
> both
> proteins in cultured cells (see e.g. the attached example). There are
> green
> cells, red cells and yellow cells and I would like to have a
> (semi)-automatic routine with which this can be done objectively.
> Basically
> the cells can be identified by their nuclei (in the blue channel), but
> I do
> not know how to count only the nuclei which have a red, green or yellow
> cytoplasm associated with them. As there probably is no way to reliably
> find
> the outline of a cell with any accuracy (however, maybe maybe one has
> an
> ingenious approach), it may be sufficient to look in the immediate
> vicinity
> of the nuclei (e.g. in a ring some pixels wide around the nuclei -user
> selectable preferrentially), if this area is red, green or yellow.
> I would appreciate if someone could help to solve this problem.
>
> Thanx
> Matthias
http://n2.nabble.com/file/n1507033/cells.jpg>
>
>
> --
> View this message in context:
http://n2.nabble.com/counting-cells-in-> multiclour-fluorescence-images-tp1507033p1507033.html
> Sent from the ImageJ mailing list archive at Nabble.com.