Image processing: Difference between revisions
(expanded) |
(Further reading classification with GRASS) |
||
Line 101: | Line 101: | ||
* {{cmd|i.smap}} - Performs contextual (image segmentation) image classification using sequential maximum a posteriori (SMAP) estimation. | * {{cmd|i.smap}} - Performs contextual (image segmentation) image classification using sequential maximum a posteriori (SMAP) estimation. | ||
==== Further reading classification with GRASS ==== | |||
* Micha Silver: [http://my.arava.co.il/~micha/blog/?p=3 Analyzing acacia tree health in the Arava with GRASS GIS] | |||
* Perrygeo: [http://www.perrygeo.net/wordpress/?p=104 Impervious surface deliniation with GRASS] | |||
* Dylan Beaudette: [http://casoilresource.lawr.ucdavis.edu/drupal/node/159 Working with Landsat Data] | |||
* Dylan Beaudette: [http://casoilresource.lawr.ucdavis.edu/drupal/node/548 Canopy Quantification via Image Classification] | |||
== Filtering == | == Filtering == |
Revision as of 07:45, 6 July 2009
This page needs review and enhancement from an expert! Thanks!
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)
Orthophotos
- See the i.ortho.photo modules
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
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)
- Minnaert or other corrections with i.topo.corr (from GRASS AddOns)
Cloud removal
- with i.landsat.acca (from GRASS AddOns)
Image classification
Classification methods in GRASS
radiometric unsupervised |
radiometric supervised 1 |
radiometric supervised 2 |
radiometric & geometric supervised | |
Preprocessing | i.cluster | i.class (monitor digitizing) | i.gensig (using training maps) | i.gensigset (using training maps) |
Computation | i.maxlik | i.maxlik | i.maxlik | i.smap |
Interactive setup
- i.class - Generates spectral signatures for an image by allowing the user to outline regions of interest.
- The resulting signature file can be used as input for i.maxlik or as a seed signature file for i.cluster.
Processing
- i.cluster - Generates spectral signatures for land cover types in an image using a clustering algorithm.
- The resulting signature file is used as input for i.maxlik, to generate an unsupervised image classification.
- i.gensig - Generates statistics for i.maxlik from raster map layer.
- i.gensigset - Generate statistics for i.smap from raster map layer.
Unsupervised classification
- i.maxlik - Classifies the cell spectral reflectances in imagery data.
- Classification is based on the spectral signature information generated by either i.cluster, i.class, or i.gensig.
Supervised classification
- i.smap - Performs contextual (image segmentation) image classification using sequential maximum a posteriori (SMAP) estimation.
Further reading classification with GRASS
- Micha Silver: Analyzing acacia tree health in the Arava with GRASS GIS
- Perrygeo: Impervious surface deliniation with GRASS
- Dylan Beaudette: Working with Landsat Data
- Dylan Beaudette: Canopy Quantification via Image Classification
Filtering
Enhancements
Radiometric Enhancements
Geometric Enhancements
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
- i.spec.unmix (source code)
Spectral angle mapping
- i.spec.sam (source code)
Geocoding
- 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
- 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)
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)
- add other warping methods (maybe thin splines from GDAL?): Addons#i.warp
- implement/finish linewise ortho-rectification of satellite data