Image processing
Introduction
Satellite imagery and orthophotos (aerial photographs) are handled in GRASS as raster maps and specialized tasks are performed using the imagery (i.*) modules. All general operations are handled by the raster modules.
- imageryintro: A short introduction to image processing in GRASS 6
- Full GRASS 4.0 Image Processing manual (PDF, 47 pages)
- imagery: Imagery module help pages
- Data import is generally handled by the r.in.gdal module
Screenshots
- The imagery screenshots page
Importing
Satellite Data
Ocean Color
Sea Surface Temperature (SST)
High resolution data
Orthophotos
Preprocessing
See Satellite Overpass Predictor
Geometric preprocessing/Georectification
- Tcl/Tk georectification tool is available from the File menu in the GUI.
- i.points, i.vpoints (scanned maps, satellite images)
- i.ortho.photo (aerial images)
A multi-band image may be grouped and georectified with a single set of ground control points (i.group, i.target, i.rectify).
See also the Georeferencing wiki page
Radiometric preprocessing
- use r.mapcalc to apply gain/bias formula
- LANDSAT: you can also use i.landsat.toar from GRASS AddOns
Correction for atmospheric effects
- i.landsat.dehaze: simple dark-object/Tasseled Cap based haze minimization (from GRASS AddOns)
- i.atcorr: more complex correction but based on atmospheric models - see tutorial: Atmospheric correction
Correction for topographic/terrain effects
In rugged terrain, such correction might be useful to minimize negative effects.
- simple "cosine correction" using r.sunmask, r.mapcalc (tends to overshoot when slopes are high)
- In i.topo.corr (from GRASS AddOns) the following correction methods are implemented: cosine, minnaert, percent, c-factor.
Cloud removal
- with i.landsat.acca
Image classification
See: Image classification page
Filtering
Enhancements
Radiometric Enhancements
Geometric Enhancements
- i.rgb.his and i.his.rgb: can be used for image fusion
- i.fusion.brovey: image fusion of pan-chromatic and color channels
- r.seg which performs image segmentation and discontinuity detection (based on the Mumford-Shah variational model). The module generates a piece-wise smooth approximation of the input raster map and a raster map of the discontinuities of the output approximation. The discontinuities of the output approximation are preserved from being smoothed.
Optimal channel selection for color composites
Stereo anaglyphs
- see Stereo anaglyphs
Ideas collection for improving GRASS' Image processing capabilities
Below modules need some tuning before being added to GRASS 6. Volunteers welcome.
Spectral unmixing
Spectral angle mapping
Geocoding
- i.homography: geocoding with lines (instead of points) with homography (as improved i.points; it was formerly called i.linespoints)
- support splines from GDAL (see GRASS_AddOns#Imagery_add-ons)
- New Georectifier: see also http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html
Image matching
- i.points.auto: automated search of GCPs based on FFT correlation (as improved i.points)
- Reference: M. Neteler, D. Grasso, I. Michelazzi, L. Miori, S. Merler, and C. Furlanello, 2005: An integrated toolbox for image registration, fusion and classification. International Journal of Geoinformatics, 1(1), pp. 51-61 PDF
Image classification
- pr: C code for classification problems
- GRASS implementation: i.pr.* source code is available here)
Stereo
This is stand-alone stereo modeling software (DEM extraction etc). Waits for integration into GRASS.
Lidar LAS format
LAS Tools by M. Isenburg, Howard Butler et al.: http://www.liblas.org
las2txt | r.in.xyz in=- fs=" "
(see LIDAR)
Improving the existing code
It might be sensible to merge the various image libraries:
- GRASS 6 standard libs:
- lib/imagery/: standard lib, in use (i.* except for i.points3, i.rectify3, see below)
- imagery/i.ortho.photo/libes/: standard lib, in use (i.ortho.photo, photo.*)
- GRASS 5 (! only) image3 lib:
- libes/image3/: never finished improvement which integrated the standard lib and the ortho lib. Seems to provide also ortho rectification for satellite data (i.points3, i.rectify3)
- GRASS 5/6 image proc commands:
- merge of i.points, i.vpoints, i.points3 (see above)
- merge of i.rectify and i.rectify3 (see above)
addition of new resampling algorithms such as bilinear, cubic convolution (take from r.proj or r.resamp.aggreg)(done 10/2010)- add other warping methods (maybe lanczos or thin splines from GDAL?): Addons#i.warp
- implement/finish linewise ortho-rectification of satellite data
Bibliography
- Search for "GRASS GIS Image processing" - Google Scholar
- Search for "GRASS GIS Remote Sensing" - Google Scholar