| 78 | '''3. GDAL image stretch/filter utility'''[[BR]] |
| 79 | |
| 80 | GDAL utilities currently have limited built-in support for image stretching and filtering beyond simple linear scaling via “-scale” in gdal_translate. The VRT format has a method to accept a filter algorithm but code still must be written. Here I propose that faster C++ image stretching and filtering implementations (based on existing methods and already sand-boxed within a Python library) be written more formally for GDAL. |
| 81 | |
| 82 | In short, various image stretching and filtering techniques allow one to bring out details in satellite or airborne images. And as GDAL application matures, like image matching and feature extraction, having a well-tested set of stretches and filters can only further to help the evolution of these methods also. |
| 83 | |
| 84 | Skills: |
| 85 | * programming skills needed - C/C++ |
| 86 | * difficulty level - moderate |
| 87 | |
| 88 | As a start I recommend building C++ implementations of the stretches and filters as available in the sand-box code pystretch (from: https://pythonhosted.org/PyStretch/examples.html ): |
| 89 | |
| 90 | Linear Stretches |
| 91 | * Linear Contrast Stretch, Binary Contrast Stretch, Inverse Contrast Stretch |
| 92 | * Standard Deviation Stretch |
| 93 | * High Cut Stretch, Low Cut Stretch |
| 94 | Non-linear Stretches: |
| 95 | * Gamma Stretch |
| 96 | * Histogram Equalization |
| 97 | * Logarithmic Stretch |
| 98 | Filters: |
| 99 | * Laplacian Filter |
| 100 | * High Pass Filter (3x3 Kernel, 5x5 Kernel) |
| 101 | * Gaussian Filter, Gaussian High Pass Filter |
| 102 | * Mean Filter, Conservative Filter, Median Filter |
| 103 | * Running Standard deviation |
| 104 | * Custom |
| 105 | |
| 106 | Possible mentor/co-mentor: Trent Hare (thare at usgs.gov) and Jay Laura (also usgs) |
| 107 | |