comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » tracking clusters through multiple timesteps
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
tracking clusters through multiple timesteps [message #79255] Mon, 20 February 2012 09:34 Go to next message
Ian[1] is currently offline  Ian[1]
Messages: 4
Registered: February 2011
Junior Member
Hi all,
I have a binary dataset (flags of cloud presence or absence) and i
would like to find a way of tracking clusters of 1's through time,
with an aim of finding the start point (in space and time) of the
object, the end point, its maximum size and its trajectory. I have
experience of using 'label_region' to identify individual objects
within an image by pixel connectivity, but i am completely at a loss
for correct way to move forward from here.
I am dealing with an array of dimensions 1133,751,8832, with 8832
being the number of timesteps i ultimately aim to work through.
Any help, tips or advice would be hugely appreciated!
Cheers,
Ian
Re: tracking clusters through multiple timesteps [message #79336 is a reply to message #79255] Mon, 20 February 2012 19:39 Go to previous message
manodeep@gmail.com is currently offline  manodeep@gmail.com
Messages: 33
Registered: June 2006
Member
On Feb 20, 5:08 pm, Ian_Ashpole <ian.ashp...@ouce.ox.ac.uk> wrote:
> Thanks for the replies both of you, i've a feeling this is going to
> take quite some time and head-banging-against-the-wall, but hopefully
> i'll find a suitable way. I better had anyway, it's the last chapter
> of my phd thesis and money is running low...!
>
> Best wishes to both of you
> Ian

Hi Ian,

This problem is similar to creating tracking halos (creating
mergertrees) in astrophysical simulations. However, with particle data
there is an unique particle ID that allows you to track halos through
time. These are the steps you would need:

1. First generate the list of blobs at all timesteps

2. Match some unique identifier across timesteps. If you are going to
use a pixel index, then you have a some sort of physical model as to
how much the pixels can move in between timesteps - which translates
into a fractional pixel search radius.

3. Come up with a weighting function that assigns one blob at timestep
t0 to another blob at timestep t1. If you want to do it right, check
out bipartite graph matching.

4. Check for erroneous assignments.

5. Cross your fingers that everything worked out :)

Its difficult but do-able..

Cheers,
Manodeep
Re: tracking clusters through multiple timesteps [message #79343 is a reply to message #79255] Mon, 20 February 2012 15:08 Go to previous message
Ian[1] is currently offline  Ian[1]
Messages: 4
Registered: February 2011
Junior Member
Thanks for the replies both of you, i've a feeling this is going to
take quite some time and head-banging-against-the-wall, but hopefully
i'll find a suitable way. I better had anyway, it's the last chapter
of my phd thesis and money is running low...!

Best wishes to both of you
Ian
Re: tracking clusters through multiple timesteps [message #79348 is a reply to message #79255] Mon, 20 February 2012 11:35 Go to previous message
cgguido is currently offline  cgguido
Messages: 195
Registered: August 2005
Senior Member
You could try track.pro
(http://www.physics.emory.edu/~weeks/idl/tracking.html)

This works best for diffusing clouds... Also, if you can set up your experiment so that the displacement of a cloud over dt=1 is smaller than the intercloud distance in a frame, you should be "on the pig's back". (which is a good thing)

Gianguido
Re: tracking clusters through multiple timesteps [message #79349 is a reply to message #79255] Mon, 20 February 2012 10:39 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Ian_Ashpole writes:

> For now i would like to work on an idealised case with no splitting or
> merging - but where the cloud will move quite a way from its start to
> finish location. I should specify that i am very much an IDL novice
> but it seems logical to pass the index given to a cluster of pixels
> (above a threshold of, say, 250, to filter out noise resulting from
> the initial flagging stage) at t to an overlapping cluster at t+1.

Yes, I can't tell you how to proceed because too many variables
come into play here, but to start with, I'd take a single cloud
in the first image and create a "movie" of that cloud moving
through space. If the cloud overlaps with *any* pixels in
the second image, then I would say those overlapping pixels belong
to the "cloud" in the second image. (Maybe if it overlaps more
than one cloud, you take the one that has more pixels? Both? Don't
know, you will have to decide.) Keep overlapping the last
cloud discovered with the next time image. Does the cloud
"move" and "change shape" in a reasonable way?

If it does, maybe you are on to something. If it doesn't,
well, the fish aren't going anywhere. ;-)

Now, you could do the second cloud, and add this
to your movie sequence, etc. Start with a handful
of the biggest clouds to see if this works. If they
were different colors, you could see the clouds
evolving in time as you played your movie.

I'm looking at clouds blowing around outside my window
right now. I seriously doubt whether this is going to
work very well. :-(

Cheers,

David



--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Making a html image map?
Next Topic: Re: Name of arrays

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:49:23 PDT 2025

Total time taken to generate the page: 0.00505 seconds