Dear Greg,

Your email regarding software development projects for COMP 145 was forwarded to me by our system administrator over here in geography. My research specialty is on remote sensing of vegetation and I have a number of specific digital image processing/information extraction problems that are not solved well by standard digital image processing packages. As a result, I usually solve these problems with extremely klug-ee approaches that are not very well automated.

In general, I am dealing with large multidimensional datasets that include, for example, images of a location in multiple wavelength bands, from multiple dates, and sometimes from multiple viewing directions.

I have a set of particular problems at present. One is to develop a system that can graphically and quantitatively track the spectral trajectories of individual pixels (or groups of pixels) through time. The purpose is to monitor and map vegetation dynamics (in part as driven by climate variability) as well as land-cover changes, such as deforestation, urbanization, burning, etc. Part of this issue is also comparing pixel trajectories to their normal variability, as statistically characterized, so pixels that fall beyond some threshold of their normal variability can be flagged as "likely to have changed."

A second problem is the automatic extraction of outer envelopes of pixel distributions in multidimensional (usually 2-D) space. These envelope features are strongly related to surface characteristics such as temperature, moisture, and energy flux, and can also be used to track surface conditions over time. It is valuable to extract these envelope features and their parameters and quantify and display how they are changing through time in response to climate forcing, vegetation state, irrigation, etc.

I can supply algorithms and equations that are necessary for most of what I am looking for. The hardest part I think is data structuring problems associated with operating over multi-dimensional arrays.

Much of what I need is already written in some form, probably about 75%, but not all in mutually compatible software. I have someone here who has helped me integrate some of these things, but his programming skills are somewhat limited.

So, about 25% is algorithms, and the rest is probably evenly split between rewriting, compiling and bundling existing pieces of software, and developing the capability to query and display the results of the data analysis in various ways. There is no 3-D graphics involved.

My hope is that the software could be bundled together and accept a simple file format (generic binary with a brief header).