Provided by: grass-doc_6.4.3-3_all bug


       r.thin  - Thins non-zero cells that denote linear features in a raster map.


       raster, thin


       r.thin help
       r.thin   input=name   output=name    [iterations=integer]     [--overwrite]    [--verbose]

           Allow output files to overwrite existing files

           Verbose module output

           Quiet module output

           Name of input raster map

           Name for output raster map

           Maximal number of iterations
           Default: 200


       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.


       r.thin only creates raster map layers.  You will need to run  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.


       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  <=


       g.region,, v.clean, v.digit,


       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: 2008-05-16 12:09:06 -0700 (Fri, 16 May 2008) $

       Full index

       © 2003-2013 GRASS Development Team