maskInvarFeatures | R Documentation |
Identify pseudo-invariant features from a satellite scene based on a vis, near infravis and short-wave infravis band.
## S4 method for signature 'Satellite'
maskInvarFeatures(x)
## S4 method for signature 'RasterStack'
maskInvarFeatures(x, quant = 0.01, id_vis = 1L, id_nir = 2L, id_swir = 3L)
## S4 method for signature 'RasterLayer'
maskInvarFeatures(x, nir, swir, quant = 0.01)
x |
A Satellite object or a |
quant |
A value v = [0...1] which is used to define the percentage threshold values (thv) for invariant features (nir/vis ratio < thv, swir band values > 1-thv). |
id_vis |
Index of the visible band. |
id_nir |
Index of the near infravis band. |
id_swir |
Index of the short-wave infravis band. |
nir |
A |
swir |
A |
Invariant features are identified as pixels which belong to the group of (i) the n lowest VIS/NIR ratios and of (ii) the highest n SWIR values. The value of n is given by the parameter quant = [0...1].
If x is a Satellite object, a Satellite object with added layer;
if x is a raster::RasterLayer
object, a a raster::RasterLayer
object with added layers (1 indicates invariant pixels, 0 otherwise).
This function is taken and only slightly modified from the PIF function by Sarah C. Goslee (2011). Analyzing Remote Sensing Data in R: The landsat Package. Journal of Statistical Software,43(4), 1-25, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v043.i04")}.
The underlying theory has been published by Schott RJ, Salvaggio C and Volchok WJ (1988) Radiometric scene normalization using pseudoinvariant features. Remote Sensing of Environment 26/1, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/0034-4257(88)90116-2")}.
path <- system.file("extdata", package = "satellite")
files <- list.files(path, pattern = glob2rx("LC08*.TIF"), full.names = TRUE)
sat <- satellite(files)
sat <- maskInvarFeatures(sat)
maskInvarFeatures(x = getSatDataLayer(sat, "B004n"),
nir = getSatDataLayer(sat, "B005n"),
swir = getSatDataLayer(sat, "B007n"))
## when dealing with a 'RasterStack'
rst <- stack(files[c(6, 7, 9)])
maskInvarFeatures(rst)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.