Image processing ,Image segmentation

  • Follow


Hi ..Actlly my intrest in image processing has just started growing thru matlab..
 I have take an image which contains cells woth nuclei inside. It was a color image so i converted it to gray scale image. I find it hard to process ,so  i  converted it  to binary image. NOw after connverting it binary image, im not able to plot boundaries of it properly as compared to ur coins boundary tracing example. can u help me out plz.

My aim is to sort out the round cells in image and count them.
1
Reply Azy 7/19/2010 9:30:22 AM

"Azy " <azhar421@yahoo.com> wrote in message <i215vd$j32$1@fred.mathworks.com>...
> Hi ..Actlly my intrest in image processing has just started growing thru matlab..
>  I have take an image which contains cells woth nuclei inside. It was a color image so i converted it to gray scale image. I find it hard to process ,so  i  converted it  to binary image. NOw after connverting it binary image, im not able to plot boundaries of it properly as compared to ur coins boundary tracing example. can u help me out plz.
> 
> My aim is to sort out the round cells in image and count them.

Can you show us your images?
Take a look at:
>>doc bwboundaries
>>doc edge

If you want to measure "circularity" one easy way would be to take the (actual area)/(pi*equivdiameter/4) which would measure the the shape compared to an ideal circle.  Both actual area and equivdiameter are outputs of regionprops().
1
Reply Sean 7/19/2010 2:08:04 PM


"Sean " <sean.dewolski@nospamplease.umit.maine.edu> wrote in message <i21m84$t1$1@fred.mathworks.com>...
> "Azy " <azhar421@yahoo.com> wrote in message <i215vd$j32$1@fred.mathworks.com>...
> > Hi ..Actlly my intrest in image processing has just started growing thru matlab..
> >  I have take an image which contains cells woth nuclei inside. It was a color image so i converted it to gray scale image. I find it hard to process ,so  i  converted it  to binary image. NOw after connverting it binary image, im not able to plot boundaries of it properly as compared to ur coins boundary tracing example. can u help me out plz.
> > 
> > My aim is to sort out the round cells in image and count them.
> 
> Can you show us your images?
> Take a look at:
> >>doc bwboundaries
> >>doc edge
> 
> If you want to measure "circularity" one easy way would be to take the (actual area)/(pi*equivdiameter/4) which would measure the the shape compared to an ideal circle.  Both actual area and equivdiameter are outputs of regionprops().



Thanks for showing your interest:

My image is :  http://i29.tinypic.com/4qt1tk.jpg

Its a color image . It has got a cirular red blood cells and a big white cell in a different color. I want to count those red cells excluding all other white cells.
1
Reply Azy 7/26/2010 8:46:05 AM

"Azy " <azhar421@yahoo.com> wrote in message <i215vd$j32$1@fred.mathworks.com>...
> Hi ..Actlly my intrest in image processing has just started growing thru matlab..
>  I have take an image which contains cells woth nuclei inside. It was a color image so i converted it to gray scale image. I find it hard to process ,so  i  converted it  to binary image. NOw after connverting it binary image, im not able to plot boundaries of it properly as compared to ur coins boundary tracing example. can u help me out plz.
> 
> My aim is to sort out the round cells in image and count them.


I find a useful image processing website for matlab : http://img.orgs.co.cc
0
Reply zhengjie 8/9/2010 4:13:04 PM

I think Sean meant pi*equivdiameter^2/4
0
Reply ImageAnalyst 8/9/2010 4:41:18 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <35aed27e-5ee4-4ed4-8bd7-cf01bc8e5574@q22g2000yqm.googlegroups.com>...
> I think Sean meant pi*equivdiameter^2/4

Good catch!
0
Reply Sean 8/9/2010 4:52:04 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <35aed27e-5ee4-4ed4-8bd7-cf01bc8e5574@q22g2000yqm.googlegroups.com>...
> I think Sean meant pi*equivdiameter^2/4





hi thanks for your suggestion but it will work for binary images only ..it will not work for color images ....
0
Reply Azy 8/23/2010 3:03:05 PM

"Sean " <sean.dewolski@nospamplease.umit.maine.edu> wrote in message <i3pbnk$ee3$1@fred.mathworks.com>...
> ImageAnalyst <imageanalyst@mailinator.com> wrote in message <35aed27e-5ee4-4ed4-8bd7-cf01bc8e5574@q22g2000yqm.googlegroups.com>...
> > I think Sean meant pi*equivdiameter^2/4
> 
> Good catch!
#


hi thanks for your suggestion but it will work for binary images only ..it will not work for color images ....
0
Reply Azy 8/23/2010 3:03:05 PM

You have to do some sort of processing on your color image to turn it into a binary image, like color classification.  Then you can do your measurements.
0
Reply Image 8/23/2010 4:01:22 PM

"Image Analyst" <imageanalyst@mailinator.com> wrote in message <i4u60i$q49$1@fred.mathworks.com>...
> You have to do some sort of processing on your color image to turn it into a binary image, like color classification.  Then you can do your measurements.




But i think if i convert it into a binary image then i will lose color specifications and instead end up counting in white cells also !!!
0
Reply Azy 8/23/2010 4:38:05 PM

On Aug 23, 12:38=A0pm, "Azy " <azhar...@yahoo.com> wrote:
> "Image Analyst" <imageanal...@mailinator.com> wrote in message <i4u60i$q4=
....@fred.mathworks.com>...
> > You have to do some sort of processing on your color image to turn it i=
nto a binary image, like color classification. =A0Then you can do your meas=
urements.
>
> But i think if i convert it into a binary image then i will lose color sp=
ecifications and instead end up counting in white cells also !!!

---------------------------------------------------------------
You don't understand.  You do some kind of processing on the full
color image, such as color classification.  Perhaps that means simply
thresholding the blue channel, or something similar.  You could also
throw in some things like size filtering, shape filtering, whatever.
When you are all done, you will have a binary image that is 1 where
you have red object pixels, and 0 where you have background or white
objects.  Then you find the size, or whatever property you're looking
for, of those red blobs that you have identified.  See my color
detection demos if you need an example:
http://www.mathworks.com/matlabcentral/fileexchange/authors/31862
0
Reply ImageAnalyst 8/23/2010 7:37:18 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <166320b3-da53-4ad1-8121-cdb3af5e9dca@g17g2000yqe.googlegroups.com>...
> On Aug 23, 12:38 pm, "Azy " <azhar...@yahoo.com> wrote:
> > "Image Analyst" <imageanal...@mailinator.com> wrote in message <i4u60i$q4...@fred.mathworks.com>...
> > > You have to do some sort of processing on your color image to turn it into a binary image, like color classification.  Then you can do your measurements.
> >
> > But i think if i convert it into a binary image then i will lose color specifications and instead end up counting in white cells also !!!
> 
> ---------------------------------------------------------------
> You don't understand.  You do some kind of processing on the full
> color image, such as color classification.  Perhaps that means simply
> thresholding the blue channel, or something similar.  You could also
> throw in some things like size filtering, shape filtering, whatever.
> When you are all done, you will have a binary image that is 1 where
> you have red object pixels, and 0 where you have background or white
> objects.  Then you find the size, or whatever property you're looking
> for, of those red blobs that you have identified.  See my color
> detection demos if you need an example:
> http://www.mathworks.com/matlabcentral/fileexchange/authors/31862

---------------------------------------------------------------------------------------------

I was tryin to use makecform by usinga color from CLUTable ...

C = makecform('clut', profile, LUTtype) ..i didnt understand that profile is read from iccread but iccread reads only file of format TIFF or icc , but my images are JPEG format ..then how to conevrt the image into TIFF format or icc format
0
Reply azhar421 (2) 8/26/2010 6:53:04 AM

On Aug 26, 2:53=A0am, "Azy " <azhar...@yahoo.com> wrote:
> I was tryin to use makecform by usinga color from CLUTable ...
>
> C =3D makecform('clut', profile, LUTtype) ..i didnt understand that profi=
le is read from iccread but iccread reads only file of format TIFF or icc ,=
 but my images are JPEG format ..then how to conevrt the image into TIFF fo=
rmat or icc format
----------------------------------------------------------------
Sorry, I know what a look up table is, I know what a TIFF image is, I
know what the ICC and ICC profile is, but I don't know what you're
saying.

0
Reply ImageAnalyst 8/26/2010 10:12:48 AM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <37a21ebf-bcc9-49aa-b3e4-994365c27768@q1g2000yqg.googlegroups.com>...
> On Aug 26, 2:53 am, "Azy " <azhar...@yahoo.com> wrote:
> > I was tryin to use makecform by usinga color from CLUTable ...
> >
> > C = makecform('clut', profile, LUTtype) ..i didnt understand that profile is read from iccread but iccread reads only file of format TIFF or icc , but my images are JPEG format ..then how to conevrt the image into TIFF format or icc format
> ----------------------------------------------------------------
> Sorry, I know what a look up table is, I know what a TIFF image is, I
> know what the ICC and ICC profile is, but I don't know what you're
> saying.

----------------------------------------------------------------------------
Well, im my images i wanted to seperate white cells which were purple in color. through color segemntation example program of yours i was able to segment out upto some extent  but for some images i was not able to seperate out ,so i thought of making a another mask of gamut .

 C = makecform('clut', profile, LUTtype)----->  C = makecform('clut', profile, 'gamut')

but its giving me error that its a invalid profile !!! I dont understand this error
 
0
Reply azhar421 (2) 8/26/2010 11:32:04 AM

Read the documentation on makecform().  'clut' is not one of the
allowed options for the first argument.  Try 'srgb2lab' or something
else that is allowed.

Or just try rgb2hsv().
0
Reply ImageAnalyst 8/26/2010 11:58:59 AM

Hi Image analyst,

  after a long time....I have got this image after some iterations using kmeans..
http://img257.imageshack.us/img257/2426/cell1.png

        I wamt to count how many circular round cells are there ...as we can also observe there are some cells overlapping...Can you tell me how to seperate them and count it accurately.. waiting for ur reply...thx 




ImageAnalyst <imageanalyst@mailinator.com> wrote in message <02071047-aade-4aaa-98ff-9e628b5ae522@x21g2000yqa.googlegroups.com>...
> Read the documentation on makecform().  'clut' is not one of the
> allowed options for the first argument.  Try 'srgb2lab' or something
> else that is allowed.
> 
> Or just try rgb2hsv().
0
Reply Azy 10/30/2010 2:43:03 PM

>   after a long time....I have got this image after some iterations using kmeans..
> http://img257.imageshack.us/img257/2426/cell1.png
> 
>         I wamt to count how many circular round cells are there ...as we can also observe there are some cells overlapping...Can you tell me how to seperate them and count it accurately.. waiting for ur reply...thx 
> 

A hint:
doc imerode
0
Reply Sean 10/30/2010 2:53:03 PM

Look into watershed segmentation. MATLAB's Image Processing Toolbox
has a demo on splitting objects using marker controlled watershed
segmentation.

Here's another reference page:
http://cmm.ensmp.fr/~beucher/wtshed.html
0
Reply ImageAnalyst 10/30/2010 4:50:10 PM

Well. I have seen it but i dont understand how it can be implemented ..In matlab demo it just shows ,a near example of beans ,which can be seperated by watershed segmentation 
but it didnt explain how it is done !!! 




ImageAnalyst <imageanalyst@mailinator.com> wrote in message <4741d98e-ef77-4cb7-be39-8a33715569a3@p1g2000yqm.googlegroups.com>...
> Look into watershed segmentation. MATLAB's Image Processing Toolbox
> has a demo on splitting objects using marker controlled watershed
> segmentation.
> 
> Here's another reference page:
> http://cmm.ensmp.fr/~beucher/wtshed.html
0
Reply Azy 11/1/2010 7:52:03 PM

On Nov 1, 3:52=A0pm, "Azy " <azhar...@yahoo.com> wrote:
> Well. I have seen it but i dont understand how it can be implemented ..In=
 matlab demo it just shows ,a near example of beans ,which can be seperated=
 by watershed segmentation
> but it didnt explain how it is done !!!
----------------------------------------------------------
Well here's Steve Eddins's demo that goes through it step by step:
http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/

0
Reply ImageAnalyst 11/1/2010 8:49:28 PM

After processing the image : http://img257.imageshack.us/img257/2426/cell1.png  through watershed segmentation .... i got this image...

http://img825.imageshack.us/img825/5052/imwatershed.jpg

...image is shrinked ..donno y ....yet i dont it correct wat of segmenting the cells...

IF its correct way of segmenting ..hw can i count the labelled cells in the image
0
Reply Azy 11/6/2010 12:42:05 PM

On Nov 6, 8:42=A0am, "Azy " <azhar...@yahoo.com> wrote:
> IF its correct way of segmenting ..hw can i count the labelled cells in t=
he image
----------------------------------------------------------------
It looks like you've done something like this:

[labeledImage numberOfBlobs] =3D bwlabel(binaryImage, 8);     % Label
each blob so we can make measurements of it
coloredLabels =3D label2rgb (labeledImage, 'hsv', 'k', 'shuffle'); %
pseudo random color labels

If so, the number of what you're calling "cells" is directly returned
as numberOfBlobs from bwlabel().
-ImageAnalyst

0
Reply ImageAnalyst 11/6/2010 12:45:44 PM

Hieeee....Image  Analyst.....

the original image : http://azhar421.blogspot.com/2010/12/original-image.html

Final waterhsed image : http://azhar421.blogspot.com/2010/12/image-output-after-watershedding.html

My code 4 this
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i=imread('original image');
i=rgb2gray(i);
i=histeq(i);

se=strel('disk',5,6);
iopen=uint8(imopen(i,se));figure,imshow(iopen),title('imopen')
iclose=imclose(iopen,se);figure,imshow(iclose),title('imclose')


ierode=imdilate(iclose,se);figure,imshow(ierode),title('imerode')
ir_erode=imreconstruct(iclose,ierode);

idilate=imerode(ierode,se);figure,imshow(idilate),title('imdilate');

ir_dilate=imreconstruct(imcomplement(ir_erode),imcomplement(idilate));
ir_dilate=imcomplement(ir_dilate);
figure,imshow(ir_dilate),title('ir_ dilate');

bw=uint8(im2bw(ir_dilate,graythresh(ir_dilate)));figure,imshow(bw)
bw=uint8(bwareaopen(bw,4));


j=bwdist(bw);
o1=watershed(j);figure,imshow(o1)
w=label2rgb(o1);figure,imshow(w)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

My task is to remove white cell(purple coloured) and retain blood cell(red) .We can directly take out the red chunk but as we can see some overlapping cells . we need to seperate it out ,in order to count them accurately..The output i have achieved i think is only 80% accurate ...I want to make it more accurate by seperating overlapping cells and also tell me how to wrtite down the code to count those cells.
0
Reply Azy 12/12/2010 6:44:04 PM

IMage Analyst ..r u on holiday !!!!!!!!! U havent replied  !!!! I wonder y....???....anywayz can sum1 plz reply
0
Reply Azy 12/17/2010 5:05:22 AM

On Dec 17, 12:05=A0am, "Azy " <azhar...@yahoo.com> wrote:
> IMage Analyst ..r u on holiday !!!!!!!!! U havent replied =A0!!!! I wonde=
r y....???....anywayz can sum1 plz reply

-----------------------------------------------------------------
No, not yet.  I still have to go in to work today.  But I plan on
going on holiday (or "vacation" as we say here) starting tomorrow for
two weeks so maybe I'll get to it then if no one else has.  Was there
something about my File Exchange color detection apps that could not
be applied in your case?  I would think those should work.  In the
meantime, you can post more examples of pictures.

And, for the convenience of those of you using cell phones, I've run
the above through my textspeak app (no, it's not on the File Exchange
yet) to give this translation:

no not yet i sltil hvae to go in to wrok tadoy but i paln on gonig on
hildaoy (or "niatvoca" as we say hree) sirnattg troormow for two wekes
so myabe il'l get to it tehn if no one esle has was trehe soitmheng
abt my flie exahgcne coolr diteocten apps taht culod not be aplpied in
ur csae i wolud tinhk tshoe slhoud wrok in mmtiaene u can psot mroe
emlepaxs of pticeurs!!!!!!!!!!!!!!!!!  It URGNT!!!!!!!
0
Reply ImageAnalyst 12/17/2010 11:41:34 AM

ur color detection is good..i got some got ideas abt image processing thru that.....but how to count that red chunk n ....i guess it was not working with some pictures..I will try to post those pictures up !!!!!!!  But tell me how to cunt that red chunk after segmenting...i tried bwlabel ...but was totally confused...i didnt understand how did it gav the count ,which wa totally an absurd number...Reply b4 goin on holiday plzzzzz
0
Reply Azy 12/17/2010 3:30:24 PM

Hey guys!!

sorry for posting something irrelevant to the topic being discussed here.

but I need some urgent help.. (only a little help)

I invite the brains here to look at my simple problem mentioned below and help me with some tips;
link: http://www.mathworks.com/matlabcentral/newsreader/view_thread/297252#804997

appreciate any knowledge you'd like to share on the matter.

thanks heaps! 
0
Reply Geant 12/17/2010 3:53:20 PM

On Dec 17, 10:53=A0am, "Geant Bepi"
<timothyschru_useonlywhatsbeforeundersc...@yahoo.co.uk> wrote:
> Hey guys!!
>
> sorry for posting something irrelevant to the topic being discussed here.
>
> but I need some urgent help.. (only a little help)
>
> I invite the brains here to look at my simple problem mentioned below and=
 help me with some tips;
> link:http://www.mathworks.com/matlabcentral/newsreader/view_thread/297252=
#...
>
> appreciate any knowledge you'd like to share on the matter.
>
> thanks heaps!

---------------------------------------------------------------------------=
--------------------
Why apologize in advance for something you already know is wrong,
rather than do it correctly right from the start?  In other words, you
knew you should have stuck to your original thread and just replied to
that thread ONLY, yet you added on to unrelated threads anyway, and
then apologized for it.  Please don't add on to the other 8000
messages this month, just yours would be sufficient.
0
Reply ImageAnalyst 12/17/2010 4:00:51 PM

hi image analyst ,,,,, PLease temme how to count the chunk extracted thru bwlabel ...n regionprops !!!!
0
Reply Azy 12/17/2010 4:26:05 PM

On Dec 17, 11:26=A0am, "Azy " <azhar...@yahoo.com> wrote:
> hi image analyst ,,,,, PLease temme how to count the chunk extracted thru=
 bwlabel ...n regionprops !!!!

---------------------------------------
One of the values returned from bwlabel is the object count.
0
Reply ImageAnalyst 12/17/2010 4:26:59 PM

how to view the returned value.....L=bwlable(i); disp(L(:)) aur in anyother way
0
Reply Azy 12/17/2010 4:33:05 PM

"Azy " <azhar421@yahoo.com> wrote in message <ieg3c1$co9$1@fred.mathworks.com>...
> how to view the returned value.....L=bwlable(i); disp(L(:)) aur in anyother way


max(L(:))

or

numel(unique(L(:)))-1 %account for background
0
Reply Sean 12/17/2010 4:37:22 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <c752e14d-cf1f-4a19-9b7c-9cc727ae2db7@r29g2000yqj.googlegroups.com>...
> On Dec 17, 10:53 am, "Geant Bepi"
> <timothyschru_useonlywhatsbeforeundersc...@yahoo.co.uk> wrote:
> > Hey guys!!
> >
> > sorry for posting something irrelevant to the topic being discussed here.
> >
> > but I need some urgent help.. (only a little help)
> >
> > I invite the brains here to look at my simple problem mentioned below and help me with some tips;
> > link:http://www.mathworks.com/matlabcentral/newsreader/view_thread/297252#...
> >
> > appreciate any knowledge you'd like to share on the matter.
> >
> > thanks heaps!
> 
> -----------------------------------------------------------------------------------------------
> Why apologize in advance for something you already know is wrong,
> rather than do it correctly right from the start?  In other words, you
> knew you should have stuck to your original thread and just replied to
> that thread ONLY, yet you added on to unrelated threads anyway, and
> then apologized for it.  Please don't add on to the other 8000
> messages this month, just yours would be sufficient.

yes I know..but I think I had a valid reason :)
0
Reply Geant 12/17/2010 4:39:06 PM

"Geant Bepi" <timothyschru_useonlywhatsbeforeunderscore@yahoo.co.uk> wrote in 
> yes I know..but I think I had a valid reason :)


That makes one person.
0
Reply Sean 12/17/2010 4:47:06 PM

Thanx sean 4 the command !!!!!!!!!
0
Reply Azy 12/17/2010 4:49:05 PM

HI Sean and IMage analyst  !!!!!!! this is the image where the code of colordetection fails..In the context of counting the cells . After sperating the chunk..wen i tried to count the cells...it gives me as 319....thru bwlabel ....DOnno y...> 
0
Reply Azy 12/17/2010 5:01:07 PM

On Dec 17, 12:01=A0pm, "Azy " <azhar...@yahoo.com> wrote:
> HI Sean and IMage analyst =A0!!!!!!! this is the image where the code of =
colordetection fails..In the context of counting the cells . After speratin=
g the chunk..wen i tried to count the cells...it gives me as 319....thru bw=
label ....DOnno y...>

-----------------------------------------------------
I think you should be able to figure it out.  You're a smart guy,
right?  Maybe it has to do with your keyboard.  It seems to be getting
worse and worse.  It must be going defective and perhaps inserting
typos into your code that give errors.  I don't know why you need
another way of getting the object count - there's nothing wrong with
the value returned from bwlabel and it will give the same value as
Sean's method, and the same as you get by taking the size of the
structure returned from regionprops.  They're all the same.
0
Reply ImageAnalyst 12/17/2010 5:09:16 PM

"Sean de " <sean.dewolski@nospamplease.umit.maine.edu> wrote in message <ieg46a$6qc$1@fred.mathworks.com>...
> "Geant Bepi" <timothyschru_useonlywhatsbeforeunderscore@yahoo.co.uk> wrote in 
> > yes I know..but I think I had a valid reason :)
> 
> 
> That makes one person.

I was so desperate coz i'm sitting on this for too long :(  it just occurred to me, maybe I should try where people are more active in replying... 

 
0
Reply Geant 12/17/2010 5:18:05 PM

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <3dfc5715-830b-4459-8ff5-bcb6acf441c0@j25g2000yqa.googlegroups.com>...
> On Dec 17, 12:01 pm, "Azy " <azhar...@yahoo.com> wrote:
> > HI Sean and IMage analyst  !!!!!!! this is the image where the code of colordetection fails..In the context of counting the cells . After sperating the chunk..wen i tried to count the cells...it gives me as 319....thru bwlabel ....DOnno y...>
> 
> -----------------------------------------------------
> I think you should be able to figure it out.  You're a smart guy,
> right?  Maybe it has to do with your keyboard.  It seems to be getting
> worse and worse.  It must be going defective and perhaps inserting
> typos into your code that give errors.  I don't know why you need
> another way of getting the object count - there's nothing wrong with
> the value returned from bwlabel and it will give the same value as
> Sean's method, and the same as you get by taking the size of the
> structure returned from regionprops.  They're all the same.

Why don't you calculate the size of each?  Could there be a whole bunch of single pixel objects you don't want?

CC = bwconncomp(your_image);
sizes = cellfun(@numel,CC.PixelIdxList);
hist(sizes);
0
Reply Sean 12/17/2010 5:21:08 PM

Sorry guys ..it seems i have forgotten to publish the image ..  here it is  http://azhar421.blogspot.com/2010/12/image-fig-2.html     and question remains same

HI Sean and IMage analyst  !!!!!!! this is the image where the code of colordetection fails..In the context of counting the cells . After sperating the chunk..wen i tried to count the cells...it gives me as 319....thru bwlabel ....DOnno y...>
0
Reply Azy 12/17/2010 11:25:08 PM

plzzzz...any1 answer to my queries  above  !!!!!!!!!!!!
0
Reply Azy 12/31/2010 11:41:06 AM

On 31/12/10 5:41 AM, Azy wrote:
> plzzzz...any1 answer to my queries above !!!!!!!!!!!!

No, I don't think so, No. I cannot see any mechanical means to determine 
whether there is a single blood cell or two overlapping blood cells. 
Every criteria I looked at (e.g., supposing that single cells are 
translucent but cells that overlap a lot are not) was violated by some 
other cell in the picture.

Give us a mechanical criteria that can unfailingly tell single cells 
from overlapping cells and we might be able to do something.
0
Reply Walter 1/1/2011 5:24:24 PM

Thanks Walter for replying ... Allow me to tell my observations in mechanical terms..

If we =observe the cell, each n evry cell in the image has boundary seperated by little white or creamish color. The moment we seperate the cells using their boundaries, (Note?: Even the overlapping cells have boundaries) ... we wud hav even seperated overlapping cells, then we can proceed to count the overlapped cells... Thats my idea..Plz comment on it
0
Reply Azy 1/2/2011 11:45:07 AM

On Jan 2, 6:45=A0am, "Azy " <azhar...@yahoo.com> wrote:
> Thanks Walter for replying ... Allow me to tell my observations in mechan=
ical terms..
>
> If we =3Dobserve the cell, each n evry cell in the image has boundary sep=
erated by little white or creamish color. The moment we seperate the cells =
using their boundaries, (Note?: Even the overlapping cells have boundaries)=
 ... we wud hav even seperated overlapping cells, then we can proceed to co=
unt the overlapped cells... Thats my idea..Plz comment on it

------------------------------------------------------------------

Did you try my "simple color detection by hue" demo?
http://www.mathworks.com/matlabcentral/fileexchange/authors/31862
I did and it worked pretty darn good right out of the box.  I only
changed the minimum acceptable area to be 10000
    smallestAcceptableArea =3D 10000; % Keep areas only if they're
bigger than this.
to get rid of the small noise specks.  This gets all of the orange
blobs and ignores white, black, or purple blobs.  But the blobs are
still overlapping, and they can't be split apaprt accurately because,
well, look at the purple "white blood cell" - it overlaps a red cell
and if we did a watershed, it would incorrectly split that cell into
multiple spurious cells.  So counting will still have false
positives.  You're welcome to try it though.

By the way, did I tell you yet to take a look at the 3D gamut with
this plugin for ImageJ:
http://rsb.info.nih.gov/ij/plugins/color-inspector.html
If you do, you will see that the gamut for things blends together so
that's why it's not easy to detect the cells accurately in any color
space, though my demo did a pretty decent job.  But my demo added some
stuff on, beyond simple thresholding, like smoothing, filling, and
size filtering.

You say "If we =3Dobserve the cell, each n evry cell in the image has
boundary seperated by little white or creamish color."  Yes but not
always.  Quite a few cells have a white/creamy region that never makes
it to the edge and others have a rounded whitish region in the center,
presumably due to the shape of the cell, so how could you tell these
two situations apart?  It's not easy, certainly not the kind of thing
we would solve in a newsgroup posting.  Heck, even people would have a
hard time counting these accurately in some cases.  You might have to
find interior white/creamy regions and then if it's of the right
linear or crescent shape, extend it out to the edge, thus cutting the
blob in two pieces.  So it's not trivial.  That's why it's probably a
graduate level project.  You may spend years on it to get your Masters
or Ph.D.  If this is not your graduate project, then perhaps some
company out there has already conquered this problem and you can just
buy their software.
0
Reply ImageAnalyst 1/2/2011 4:31:22 PM

Thankq thanq...Image Anlayst.....Nice 2 c ur reply....ummaahhhh..... Well ur guess was correct...thats mah Master's project.....i thot of cracking it up in project time(i.e in 3 months) but had a miserable failure in attaining so...but becoz of mah interest I learnt a lot thru this mathwork blog and especially 4m ur demos...n all credit goes to u...Hope to continue mah work in this field even if i get job in diff field !!!!!!!! obsessed wt image procesing !!! 

  I will  reply back aftr trying ur suggestions ...
0
Reply Azy 1/2/2011 5:10:20 PM

Well Image analyst  !!!!  With the   code of   simplecolordetection-hue ...we can separate the chunk of cells with a diff background ( http://3.bp.blogspot.com/_iKoKwaxUrtE/TQuWktXKtRI/AAAAAAAAABU/qq9f8o6GJBs/s1600/f3.JPG) .....and with ur  another code of simplecolordetection i can seperate the chunk of cells wt different  background ( http://3.bp.blogspot.com/_iKoKwaxUrtE/TQUWKZrYz8I/AAAAAAAAABQ/0M4BwmB0C78/s1600/f1.JPG ) ... Cant we combine both in a single code and  put a criteria to decide which code to be applied to the image ???  

 I was thinking to put up a criteria of histogram (of both hsv and rgb mask) !!! put up a range of both hsv and rgb..if the value of histogram of given image  lies in between these range then we can  execute a particular suitable peice of code for the given image. But the problem is I m really confused how to wrtie the code for it.....

Awaiting Reply
0
Reply Azy 1/3/2011 12:19:07 PM

Have you seen this:
http://www.mathworks.com/products/demos/image/color_seg_k/ipexhistology.html
Maybe that method will work for you.  It's similar to my method but it
uses kmeans to try to find the clusters in LAB color space rather than
just using hard-coded threshold limits like I used.
0
Reply ImageAnalyst 1/3/2011 1:01:39 PM

Yup I have already used but the results are nt always consistent  due to the cluster created everytime are differernty thats why it cant be much reliable .....(http://3.bp.blogspot.com/_iKoKwaxUrtE/TQuWktXKtRI/AAAAAAAAABU/qq9f8o6GJBs/s1600/f3.JPG).........

ImageAnalyst <imageanalyst@mailinator.com> wrote in message <05151aa8-98ff-4376-91cf-01a56bf7881b@c2g2000yqc.googlegroups.com>...
> Have you seen this:
> http://www.mathworks.com/products/demos/image/color_seg_k/ipexhistology.html
> Maybe that method will work for you.  It's similar to my method but it
> uses kmeans to try to find the clusters in LAB color space rather than
> just using hard-coded threshold limits like I used.
0
Reply Azy 1/4/2011 8:10:21 AM

On Jan 4, 3:10=A0am, "Azy " <azhar...@yahoo.com> wrote:
> Yup I have already used but the results are nt always consistent =A0due t=
o the cluster created everytime are differernty thats why it cant be much r=
eliable
----------------------------------------
Yes, but you just showed that your images aren't consistent every
time, so that's why that method should work for your inconsistent
images - it should work exactly *because* it adapts to every image by
itself.
0
Reply ImageAnalyst 1/4/2011 11:07:17 AM

48 Replies
372 Views

(page loaded in 0.543 seconds)

Similiar Articles:


















7/21/2012 4:09:02 AM


Reply: