Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cluster Analysis

3 views
Skip to first unread message

Mithun

unread,
Jan 6, 2007, 2:33:23 PM1/6/07
to
I have a image processing problem which I've simplified to circular
clusters of points. I'm using cluster analysis to identify each cluster
of points as a separate body and was wondering if there was any other
(faster?) way of doing it.

An example is provided here: http://picasaweb.google.com/mithunjacob

Martin Leese

unread,
Jan 6, 2007, 4:42:53 PM1/6/07
to
Mithun wrote:
...

> An example is provided here: http://picasaweb.google.com/mithunjacob

Maybe it's me, but all three images were
displayed as plain black squares.

--
Regards,
Martin Leese
E-mail: ple...@see.Web.for.e-mail.INVALID
Web: http://members.tripod.com/martin_leese/

Nils Haeck

unread,
Jan 6, 2007, 6:23:31 PM1/6/07
to
> Maybe it's me, but all three images were
> displayed as plain black squares.

Do you use a flatscreen? :) You should try to adjust the contrast settings.
If you click on the image to enlarge it, you'll notice there are some very
dark blue clusters in them. I agree though, hardly visible.

Nils


Martin Leese

unread,
Jan 6, 2007, 9:07:18 PM1/6/07
to
Nils Haeck wrote:
>> Maybe it's me, but all three images were
>> displayed as plain black squares.
>
> Do you use a flatscreen? :)

No, a 20-inch NEC CRT.

> You should try to adjust the contrast settings.

No, I'm not going to do that.

> If you click on the image to enlarge it, you'll notice there are some very
> dark blue clusters in them. I agree though, hardly visible.

--

ImageAnalyst

unread,
Jan 6, 2007, 10:31:27 PM1/6/07
to
Martin:
You have to keep clicking on them until you have just one image
displayed at its largest - you won't see it on the small thumbnails.
Even then it's hard to see being dark blue dots on black background.
Turn off your room lights and look again.

Mithun:
What do you REALLY want to do? I need to know this because otherwise
my answer would be "yes there is a simpler way -- all your clusters
seem to be at fixed, known positions so just set up fixed ROIs and
analyze them there." But how do you want to analyze them or what do
you want to know about each cluster? Would the mean intensity or the
number of dots in each cluster be a relevant measurement? It seems to
me that the mean intensity of each spot (provided you used the same
size spot for each cluster) would be a relevant measure of "activity"
of whatever is in the spots. If not, please provide more info. If
your clusters are not in known positions, then you could possibly use
morphological techniques (like closing) to combine the little dots into
bigger blobs and then find the centroids of blobs bigger than a certain
area. Then you'd have to analyze the original clusters like I
mentioned before. But again, your message is pretty sparse on what you
really want to do so please explain further.
Regards,
ImageAnalyst

vonschwartzwalder

unread,
Jan 7, 2007, 6:54:58 AM1/7/07
to

I see that all the images are of a 4x4 grid of clusters. If this is
always true, a quick and dirty way to get approximate cluster locations
is to sum the rows, and then the columns. Find the peaks in each and
you've got the cluster centers. There's a name for this type of thing,
but it escapes me right now: it's like a simplified Radon transform.

The real question, though, is why your cluster finder is slow. What
method are you now using?

duane

RoboRealm

unread,
Jan 7, 2007, 10:47:00 PM1/7/07
to
Mithun,

Depends on what qualities you are looking for. For example, have a look
at the posting at http://www.roborealm.com/forum/index.php?forum_id=245
that shows your image processed to show another quick way to cluster
objects using the mean filter.

Perhaps you can give all of us some more information?

STeven.

Mithun

unread,
Jan 8, 2007, 4:46:15 AM1/8/07
to
Thank you, all for the informative response.

>>ImageAnalyst:

Thanks for the morphology tip. I'm looking into it now and it seems to
be an excellent solution to my problem. I can't divide the image into a
set of ROI because the positions vary. But how would you find the
centroid of individual clusters? The technique I'm using right now
analyzes the image cluster-wise but it does not need a closing
operation (I've described it in my reply to vonschwartzwalder). If you
can suggest a faster way to separate the clusters, I'd be deeply
grateful.

>>vonschwartzwalder:

Hey, thanks for the qnd solution. But as I stated in my reply to
ImageAnalyst, the positions tend to vary a lot so I really can't use
it.

Right now I use a jumbled up array of points representing the
foreground. I got this after thresholding the image. My algorithms
works like this:

Start

Store Point[i]

Traverse the array searching for the nearest point and swap with
Point[i+1]

If (distance between Point[i] & Point[i+1] < MinimumJumpValue) //still
analyzing same cluster

increment population of cluster
increment i

else //cluster jump
define as cluster if Population > MinimumPopulation
reset population to start analyzing next cluster

goto start

As the number of points are less, I've achieved fair analysis speeds
but I know this method is inefficient.

>>Steven:

Thanks a lot for the analysis! Those images look good and I'm sure I'll
be able to extract useful information from the noise by thresholding
the size of the circles. I'll try following the algorithm you've listed
and get back to you.

All I need to do is count these clusters to ascertain the number of
objects in the image.

Message has been deleted

Mithun

unread,
Jan 11, 2007, 5:54:56 AM1/11/07
to

Steven:

Could you tell me how you did the blob analysis on the images and
retrieved the centers and radii of different blobs? I believe that
would be the fastest solution to my problem.

Mithun


On Jan 8, 6:47 am, "RoboRealm" <cont...@roborealm.com> wrote:
> Mithun,
>
> Depends on what qualities you are looking for. For example, have a look

> at the posting athttp://www.roborealm.com/forum/index.php?forum_id=245


> that shows your image processed to show another quick way to cluster
> objects using the mean filter.
>
> Perhaps you can give all of us some more information?
>
> STeven.
>
>
>
> Mithun wrote:
> > I have a image processing problem which I've simplified to circular
> > clusters of points. I'm using cluster analysis to identify each cluster
> > of points as a separate body and was wondering if there was any other
> > (faster?) way of doing it.
>

> > An example is provided here:http://picasaweb.google.com/mithunjacob- Hide quoted text -- Show quoted text -

ImageAnalyst

unread,
Jan 11, 2007, 7:56:15 AM1/11/07
to
Mithun:
Can you post some images where the clusters are NOT in a regular array?
Because all the ones you posted are, yet you say they aren't
necessarily in a regular array..
What RoboRealm showed was essentially what we've been saying, except
that I think a morphological closing would be better than an averaging
because you don't reduce your signal.
What image processing package are you using? If you're using MATLAB,
you use bwlabel to identify blobs (once the dots have been merged into
bigger blobs via closing), then you use regionprops to locate the
centroids and areas.
The only problem with automatically finding blobs rather than using
known, fixed position is that you'll never be able to know if a
particular location has zero, or very low, intensity because you'd
never be able to find it. Why aren't they in a regular array? Isn't
this something like a 96 well plate? Is your camera not in a fixed
position? Are these just some kind of bacteria colonies that can grow
anywhere in a petri dish? It still seems like you're being kind of
tight lipped about the situation - maybe it's some kind of trade
secret, proprietary situation??? I still don't know what you REALLY
want to understand about the image.
Regards,
ImageAnalyst
0 new messages