On Sat, Mar 2, 2013 at 5:32 PM, Scott Collis <scollis.acrf@gmail.com> wrote:
Good afternoon list,
I am looking at feature tracking in a 2D numpy array, along the lines of Dixon and Wiener 1993 (for tracking precipitating storms)

Identifying features based on threshold is quite trivial using ndimage.label 

b_fld[mygrid.fields['rain_rate_A']['data'] > rr]=1.0
labels, numobjects = ndimage.label(b_fld[0,0,:,:])
(note mygrid.fields['rain_rate_A']['data'] is dimensions time,height, y, x)

using the matplotlib contouring and fetching the vertices I can get a nice list of polygons of rain rate above a certain threshold… Now from here I can just go and implement the Dixon and Wiener methodology but I thought I would check here first to see if anyone know of a object/feature tracking algorithm in numpy/scipy or using numpy arrays (it just seems like something people would want to do!).. i.e. something that looks back and forward in time and identifies polygon movement and identifies objects with temporal persistence.. 


Dixon, M., and G. Wiener, 1993: TITAN: Thunderstorm Identification, Tracking, Analysis, and Nowcasting—A Radar-based Methodology. Journal of Atmospheric and Oceanic Technology, 10, 785–797, doi:10.1175/1520-0426(1993)010<0785:TTITAA>2.0.CO;2.

Say hello to my PhD project: https://github.com/WeatherGod/ZigZag

In it, I have the centroid-tracking portion of the TITAN code, along with SCIT, and hooks into MHT.  Several of the dependencies are also available in my repositories.


P.S. - I have personally met Dr. Dixon on multiple occasions and he is a great guy to work with.  Feel free to email him or myself with questions about TITAN.