tracking clusters through multiple timesteps [message #79255] |
Mon, 20 February 2012 09:34  |
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  |
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  |
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 #79349 is a reply to message #79255] |
Mon, 20 February 2012 10:39  |
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.")
|
|
|