GIPS and GIPPY: Scaling up image processing of remote sensing data
GIPS and GIPPY are two new, related, open-source projects for processing of remote sensing data. GIPS greatly reduces the time necessary by analysts and scientists to prepare and pre-process the data to get it into a form where they can start answering the questions that are important to them. Users do not need to be concerned about the peculiarities of the dataset, such as which bands are what number, the tiling system used for distribution, the format of the data, gains, offsets, etc. GIPS/GIPPY manages organization of the data, reprojection to the desired spatial reference system, automates generation of products such as indices. Users can use the simple command line interface (and usually just a single command) to get the data where they can immediately start using it in their own analysis.
GIPPY is a C++ library that combines two other open-source projects: GDAL and CImg (a C++ image processing template library), along with SWIG to create a functional replacement for the GDAL python interface but with added features. GIPPY allows users to chain together multiple operations, add masks, but delay I/O until the image is actually read. GIPPY can also automatically process images in chunks, even taking into consideration padding for local area operations, such as convolutions. While users could replace GIPPY by using a combination of NumPy and GDAL, GIPPY streamlines the process in a Pythonic way.
GIPS is written completely in Python, and while there is an API for programmers to incorporate it's features, it's most exciting features lie in the command line utilities that allow users to manage and process mass amounts of remote sensing data. The object-oriented design of GIPS allows new data modules to be easily added that unlock a wealth of functionality for exploitation. By defining some key parameters or functions (overriding the core parent classes) for a particular dataset, GIPS makes available a complete command line and API to make inventory queries based on spatial and temporal constraints, process that data, and transparently mosaic multiple tiles into the users desired area of interest.
GIPS supports a few datasets already: Landsat, MODIS, MERRA, PALSAR, and CDL. The automation provided by GIPS and GIPPY allow users access to large amounts of temporal data with just a few commands, allowing scientists and analysts to scale processing up from a few test cases to multiple years of historical data or create an operational system going into the future.