Greetings,
As some of you know I have created a number of command-line based PRO files which I use in my processing of time series Terra-MODIS derived NDVI and NDWI imagery. Due to the number of requests that I have received from others for these files, I am thinking it time to begin developing a set of tools that can be shared amongst ENVI users and applicable for a number of different data sets (8-bit Terra and Aqua data, daily, 8, 16, and other max data, eMODIS data, etc..).
I foresee a number of tools that would be useful as a bundle, both as command-line functions and in the ENVI menu:
1. Savitzky-Golay filter (currently available in ENVI code library), which could be bundled in. Please note that the current implementation would need to be modified so that it doesn't change/ smooth data in the first and last bands of an image stack.
2. Temporal stacking function- trying to stack 10 years of imagery using ENVI's current widget doesn't properly order the bands, and reordering them manually is a pain. I also treat dates as wavelengths so useful patterns can be identified using the Z-profile tool. I wrote two different functions to do this, respectively for byte and floating-point data sets, and could easily modify them so one function handles all data types.
3. Data conversion functions- I primarily download data from the University of Maryland Geography Dept.'s Pekko site, which shares NASA MODIS 16-day max-NDVI in 8 bit format (NDVI values range 50-250, corresponding to 0.0 ~ 1.0). Since I like my data to be in actual values I scale it back to floating point using a PRO function.
4. Functions for locating maxima, areas under curve, etc. I have written a couple of functions to do this, again, all in command line.
5. Time series classifications.
6. Virtual stacking methods that incorporate date information, which would decrease the amount of time needed for stacking every time a new image became available.
So from hereon we need to come up with some standards/ requirements for these tools:
1. What sensors/ formats do we support?
2. Where can we share test code?
3. What else do you think would be useful?
Please let me know if you're interested in helping me develop this toolset.
Best regards,
Guy Serbin
|