
NAME
r.thin.exe - Thins non-zero cells that denote linear features in a raster map layer.
KEYWORDS
raster
SYNOPSIS
r.thin.exe
r.thin.exe help
r.thin.exe input=name output=name [iterations=integer] [--overwrite] [--verbose] [--quiet]
Flags:
- --overwrite
- Allow output files to overwrite existing files
- --verbose
- Verbose module output
- --quiet
- Quiet module output
Parameters:
- input=name
- Name of input raster map
- output=name
- Name for output raster map
- iterations=integer
- Maximal number of iterations
- Default: 200
DESCRIPTION
r.thin scans the named input raster map
layer and thins non-zero cells that denote linear features
into linear features having a single cell width.
r.thin will thin only the non-zero cells of the
named input raster map layer within the current
geographic region settings. The cell width of the thinned
output raster map layer will be equal to the cell
resolution of the currently set geographic region. All of
the thinned linear features will have the width of a single
cell.
r.thin will create a new output raster
data file containing the thinned linear features.
r.thin assumes that linear features are encoded
with positive values on a background of 0's in the
input raster data file.
NOTE
r.thin only creates raster map layers. You will need to run
r.to.vect
on the resultant raster map to create a vector
(v.digit) map layer.
r.thin may create small spurs or "dangling lines"
during the thinning process. These spurs may be removed
(after creating a vector map layer) by
v.clean.
r.thin creates a 0/1 output map.
NOTE
This code implements the thinning algorithm described in
"Analysis of Thinning Algorithms Using Mathematical
Morphology" by Ben-Kwei Jang and Ronlad T. Chin in
Transactions on Pattern Analysis and Machine
Intelligence, vol. 12, No. 6, June 1990. The
definition Jang and Chin give of the thinning process is
"successive removal of outer layers of pixels from an
object while retaining any pixels whose removal would alter
the connectivity or shorten the legs of the sceleton."
The sceleton is finally thinned when the thinning process
converges; i.e., "no further pixels can be removed without
altering the connectivity or shortening the sceleton legs"
(p. 541). The authors prove that the thinning process
described always converges and produces one-pixel thick
sceletons. The number of iterations depends on the
original thickness of the object. Each iteration peels off
the outside pixels from the object. Therefore, if the
object is <= n pixels thick, the algorithm should
converge in <= iterations.
SEE ALSO
g.region,
r.to.vect,
v.clean,
v.digit,
v.build
AUTHOR
Olga Waupotitsch, U.S.Army Construction Engineering Research Laboratory
The code for finding the bounding box as well as input/output code
was written by Mike Baba (DBA Systems, 1990) and Jean Ezell (USACERL, 1988).
Last changed: $Date: 2006/12/13 14:21:42 $
Main index - raster index - Full index