Linear Image Rescaling
performs linear shifts of value ranges either to match min and max of another image (y)
or to any other min and max value (ymin and ymax).
rescaleImage(x, y, xmin, xmax, ymin, ymax, forceMinMax = FALSE)
x |
Raster* object. Image to normalise. |
y |
Raster* object. Reference image. Optional. Used to extract min and max values if ymin or ymax are missing. |
xmin |
Numeric. Min value of x. Either a single value or one value per layer in x. If xmin is not provided it will be extracted from x. |
xmax |
Numeric. Max value of x. Either a single value or one value per layer in x. If xmax is not provided it will be extracted from x. |
ymin |
Numeric. Min value of y. Either a single value or one value per layer in x. If ymin is not provided it will be extracted from y. |
ymax |
Numeric. Max value of y. Either a single value or one value per layer in x. If ymax is not provided it will be extracted from y. |
forceMinMax |
Logical. Forces update of min and max data slots in x or y. |
Providing xmin and xmax values manually can be useful if the raster contains a variable of a known, fixed value range, e.g. NDVI from -1 to 1 but the actual pixel values don't encompass this entire range. By providing xmin = -1 and xmax = 1 the values can be rescaled to any other range, e.g. 1 to 100 while comparability to other rescaled NDVI scenes is retained.
Returns a Raster* object of the same dimensions as the input raster x but shifted and stretched to the new limits.
## Create example data data(lsat) lsat2 <- lsat - 1000 lsat2 ## Rescale lsat2 to match original lsat value range lsat2_rescaled <- rescaleImage(lsat2, lsat) lsat2_rescaled ## Rescale lsat to value range [0,1] lsat2_unity <- rescaleImage(lsat2, ymin = 0, ymax = 1) lsat2_unity
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.