Provided by: grass-doc_8.4.1-1_all bug

Image processing in GRASS GIS

   Image processing in general
       GRASS  GIS  provides a powerful suite of tools for the processing and analysis of geospatial raster data,
       including satellite imagery and aerial photography. Its image processing capabilities encompass  a  broad
       range  of  preprocessing  operations,  such  as data import, georeferencing, radiometric calibration, and
       atmospheric correction. It is particularly suited for  handling  Earth  observation  data,  enabling  the
       analysis  of  multispectral  and  temporal  datasets. GRASS GIS supports advanced functionalities such as
       image classification, sensor fusion, and point cloud statistics. The calculation  of  vegetation  indices
       further enables analyses of environmental, agricultural, and land cover dynamics. An extensive collection
       of  addons  further  enhances  its  image  processing  capabilities, particularly in the context of Earth
       observation   and   remote   sensing    applications.     Digital    numbers    and    physical    values
       (reflection/radiance-at-sensor):

       Satellite  imagery is commonly stored in Digital Numbers (DN) for minimizing the storage volume, i.e. the
       originally sampled analog physical value (color, temperature, etc) is stored a discrete representation in
       8-16 bits. For example, Landsat data are stored in 8bit values (i.e.,  ranging  from  0  to  255);  other
       satellite  data  may be stored in 10 or 16 bits. Having data stored in DN, it implies that these data are
       not yet the observed ground reality. Such data are called  "at-satellite",  for  example  the  amount  of
       energy sensed by the sensor of the satellite platform is encoded in 8 or more bits. This energy is called
       radiance-at-sensor.  To obtain physical values from DNs, satellite image providers use a linear transform
       equation (y = a * x + b) to encode the radiance-at-sensor in 8 to 16 bits. DNs can be  turned  back  into
       physical values by applying the reverse formula (x = (y - b) / a).

       The  GRASS  GIS  module  i.landsat.toar  easily  transforms  Landsat  DN  to  radiance-at-sensor  (top of
       atmosphere, TOA). The equivalent module for ASTER data is i.aster.toar.  For other satellites,  r.mapcalc
       can be employed.

       Reflection/radiance-at-sensor and surface reflectance

       When  radiance-at-sensor has been obtained, still the atmosphere influences the signal as recorded at the
       sensor.  This  atmospheric  interaction  with   the   sun   energy   reflected   back   into   space   by
       ground/vegetation/soil  needs  to be corrected. The need of removing atmospheric artifacts stems from the
       fact that the atmospheric conditions are changing over time. Hence, to gain comparability  between  Earth
       surface images taken at different times, atmospheric need to be removed converting at-sensor values which
       are top of atmosphere to surface reflectance values.

       In  GRASS  GIS,  there are two ways to apply atmospheric correction for satellite imagery. A simple, less
       accurate way for Landsat is with i.landsat.toar, using the DOS correction method. The more  accurate  way
       is  using  i.atcorr  (which  supports  many satellite sensors). The atmospherically corrected sensor data
       represent surface reflectance, which ranges theoretically from 0% to 100%. Note that this level  of  data
       correction is the proper level of correction to calculate vegetation indices.

       In  GRASS  GIS,  image  data  are identical to raster data.  However, a couple of commands are explicitly
       dedicated to image processing. The geographic boundaries of the raster/imagery file are described by  the
       north,  south,  east,  and west fields. These values describe the lines which bound the map at its edges.
       These lines do NOT pass through the center of the grid cells at the edge of the map, but along  the  edge
       of the map itself.

       As a general rule in GRASS:

       1      Raster/imagery output maps have their bounds and resolution equal to those of the current region.

       2      Raster/imagery  input  maps  are automatically cropped/padded and rescaled (using nearest-neighbor
              resampling) to match the current region.

   Imagery import
       The module r.in.gdal offers a common interface for many different raster  and  satellite  image  formats.
       Additionally,  it  also  offers  options  such as on-the-fly project creation or extension of the default
       region to match the extent of the imported raster map.  For  special  cases,  other  import  modules  are
       available. Always the full map is imported. Imagery data can be group (e.g. channel-wise) with i.group.

       For  importing  scanned  maps,  the  user  will need to create a x,y-project, scan the map in the desired
       resolution and save it into an appropriate raster format  (e.g.  tiff,  jpeg,  png,  pbm)  and  then  use
       r.in.gdal  to  import  it.  Based on reference points the scanned map can be rectified to obtain geocoded
       data.

   Semantic label information
       Semantic labels are a description which can be stored as metadata.  To print  available  semantic  labels
       relevant  for  multispectral  satellite  data,  use i.band.library.  r.semantic.label allows assigning of
       these satellite imagery band references as defined in i.band.library. Semantic labels are  also  used  in
       signature  files  of  imagery  classification  tools. Therefore, signature files of one imagery or raster
       group can be used to classify a different group with identical semantic labels.
        New enhanced classification workflow involving semantic labels.  With r.support  any  sort  of  semantic
       label  the  user wishes may be added (i.e., not only those registered in i.band.library). Semantic labels
       are supported also by the temporal GRASS modules.

   Image processing operations
       GRASS raster/imagery map processing is always performed in the current region  settings  (see  g.region),
       i.e. the current region extent and current raster resolution is used. If the resolution differs from that
       of  the input raster map(s), on-the-fly resampling is performed (nearest neighbor resampling). If this is
       not desired, the input map(s) has/have to be resampled beforehand with one of the dedicated modules.

   Geocoding of imagery data
       GRASS is able to geocode raster and image data of various types:

           •   unreferenced  scanned  maps  by  defining  four  corner  points  (i.group,  i.target,  g.gui.gcp,
               i.rectify)

           •   unreferenced satellite data from optical and Radar sensors by defining a certain number of ground
               control points (i.group, i.target, g.gui.gcp, i.rectify)

           •   interactive graphical Ground Control Point (GCP) manager

           •   orthophoto generation based on DEM: i.ortho.photo

           •   digital handheld camera geocoding: modified procedure for i.ortho.photo

   Visualizing (true) color composites
       To quickly combine the first three channels to a near natural color image, the GRASS command d.rgb can be
       used  or  the graphical GIS manager (wxGUI). It assigns each channel to a color which is then mixed while
       displayed. With a bit more work of tuning the grey scales of the channels, nearly perfect colors  can  be
       achieved. Channel histograms can be shown with d.histogram.

   Calculation of vegetation indices
       An  example  for  indices  derived  from multispectral data is the NDVI (normalized difference vegetation
       index). To study the vegetation status with NDVI, the Red and the Near Infrared channels (NIR) are  taken
       as  used  as input for simple map algebra in the GRASS command r.mapcalc (ndvi = 1.0 * (nir - red)/(nir +
       red)). With r.colors an optimized "ndvi" color table can be assigned  afterward.  Also  other  vegetation
       indices can be generated likewise.

   Calibration of thermal channel
       The  encoded digital numbers of a thermal infrared channel can be transformed to degree Celsius (or other
       temperature units) which represent the temperature of the observed land  surface.  This  requires  a  few
       algebraic  steps  with  r.mapcalc which are outlined in the literature to apply gain and bias values from
       the image metadata.

   Image classification
       Single and multispectral data can be classified to user defined land use/land cover classes. In case of a
       single channel, segmentation will be used.  GRASS supports the following methods:

           •   Radiometric classification:

               •   Unsupervised classification (i.cluster, i.maxlik) using the Maximum Likelihood classification
                   method

               •   Supervised classification (i.gensig or g.gui.iclass, i.maxlik) using the  Maximum  Likelihood
                   classification method

           •   Combined radiometric/geometric (segmentation based) classification:

               •   Supervised classification (i.gensigset, i.smap)

           •   Object-oriented classification:

               •   Unsupervised classification (segmentation based: i.segment)
       Kappa  statistic can be calculated to validate the results (r.kappa). Covariance/correlation matrices can
       be calculated with r.covar.

       Note - signatures generated for one scene are suitable for classification of other scenes as long as they
       consist of same raster bands (semantic labels match). This comes handy when classifying  multiple  scenes
       from a single sensor taken in different areas or different times.

   Image fusion
       In  case  of  using  multispectral  data,  improvements  of  the  resolution can be gained by merging the
       panchromatic channel with color channels. GRASS provides the HIS (i.rgb.his, i.his.rgb)  and  the  Brovey
       and PCA transform (i.pansharpen) methods.

   Radiometric corrections
       Atmospheric  effects can be removed with i.atcorr.  Correction for topographic/terrain effects is offered
       in i.topo.corr.  Clouds in LANDSAT data can be identified and removed  with  i.landsat.acca.   Calibrated
       digital  numbers  of  LANDSAT  and  ASTER  imagery  may  be  converted  to  top-of-atmosphere radiance or
       reflectance and temperature (i.aster.toar, i.landsat.toar).

   Time series processing
       GRASS also offers support for time series processing (r.series). Statistics can be derived from a set  of
       coregistered  input  maps such as multitemporal satellite data. The common univariate statistics and also
       linear regression can be calculated.

   Evapotranspiration modeling
       In GRASS, several types of evapotranspiration (ET) modeling methods are available:

           •   Reference ET: Hargreaves (i.evapo.mh), Penman-Monteith (i.evapo.pm);

           •   Potential ET: Priestley-Taylor (i.evapo.pt);

           •   Actual ET: i.evapo.time.
       Evaporative fraction: i.eb.evapfr, i.eb.hsebal01.

   Energy balance
       Emissivity can be calculated with i.emissivity.  Several modules support the calculation  of  the  energy
       balance:

           •   Actual evapotranspiration for diurnal period  (i.eb.eta);

           •   Evaporative fraction and root zone soil moisture (i.eb.evapfr);

           •   Sensible heat flux iteration (i.eb.hsebal01);

           •   Net radiation approximation (i.eb.netrad);

           •   Soil heat flux approximation (i.eb.soilheatflux).

   See also
           •   GRASS GIS Wiki page: Image processing

           •   The GRASS 4 Image Processing manual

           •   Introduction into raster data processing

           •   Introduction into 3D raster data (voxel) processing

           •   Introduction into vector data processing

           •   Introduction into temporal data processing

           •   Database management

           •   Projections and spatial transformations

           •   Graphical User Interface

SOURCE CODE

       Available at: Image processing in GRASS GIS source code (history)

       Accessed: Monday Feb 24 10:57:24 2025

       Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual

GRASS 8.4.1                                                                                 imageryintro(1grass)