Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
stem cells

Subject: stem cells

From: pier

Date: 7 Oct, 2010 14:47:04

Message: 1 of 3

Hi, this is the image http://drop.io/8opboqr ,I' ve to do:
 
-segmentation and count the cells
-how many cells have pigmentation
-The amount of the pigmentation
-How big are the pigments vs unpigmented area
I don t really know how to do it
Please Help me!

Thaks a lot!

Subject: stem cells

From: Sean

Date: 7 Oct, 2010 15:02:04

Message: 2 of 3

"pier " <pieralessandrogiorgetti@yahoo.it> wrote in message <i8kmh8$5fj$1@fred.mathworks.com>...
> Hi, this is the image http://drop.io/8opboqr ,I' ve to do:
>
> -segmentation and count the cells
> -how many cells have pigmentation
> -The amount of the pigmentation
> -How big are the pigments vs unpigmented area
> I don t really know how to do it
> Please Help me!
>
> Thaks a lot!

These should help:
doc gt % to binarize
doc regionprops %to take measurements

Well seeing as how the pigments are blue (?), I'd start by isolating the blue channel for that.

Subject: stem cells

From: pier

Date: 9 Oct, 2010 08:59:05

Message: 3 of 3

O well,I think to pay attention to the intensity and the gradient,before apply
morphological operator and than the watershed that I think is the only way to segment the cells,this is my code can you help me?
Try in matlab and se the result so you can understand the problem!!


clc
clear all

rgb = imread('Alessandro_6','tif');
I = rgb2gray(rgb);
figure,imshow(I),title('Image 1')

 
hy = fspecial('sobel');
hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
figure, imshow(gradmag,[]), title('Image 2')
 
se = strel('disk', 20);
Io = imopen(I, se);
figure, imshow(Io), title('Image 3')

Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
figure, imshow(Iobr), title('Image 4')

Ioc = imclose(Io, se);
figure, imshow(Ioc), title('Image 5')

Iobrd = imdilate(Iobr, se);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
figure, imshow(Iobrcbr), title('Image 6')

fgm = imregionalmax(Iobrcbr);
figure, imshow(fgm), title('Image 7')

I2 = I;
I2(fgm) = 255;
figure, imshow(I2), title('image 8')

se2 = strel(ones(5,5));
fgm2 = imclose(fgm, se2);
fgm3 = imerode(fgm2, se2);
fgm4 = bwareaopen(fgm3, 20);
I3 = I;
I3(fgm4) = 255;
figure, imshow(I3)
title('Image 9')
bw = im2bw(Iobrcbr, graythresh(Iobrcbr));
figure, imshow(bw), title('bw')
D = bwdist(bw);
DL = watershed(D);
bgm = DL == 0;
figure, imshow(bgm), title('bgm')
gradmag2 = imimposemin(gradmag, bgm | fgm4);
L = watershed(gradmag2);
I4 = I;
I4(imdilate(L == 0, ones(3, 3)) | bgm | fgm4) = 255;
figure, imshow(I4)
title('Image 10')
Lrgb = label2rgb(L, 'jet', 'w', 'shuffle');
figure, imshow(Lrgb)
title('Lrgb')

figure, imshow(I), hold on
himage = imshow(Lrgb);
set(himage, 'AlphaData', 0.3);
title('Image 11')

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us