Skip to contents

Bands are equal-shape matrices (a list). TasseledCap: brightness, greenness, wetness with the sensor coefficients of RStoolbox::tasseledCap. BandPca: principal components (covariance or, spca, correlation; scores of the centred, scaled pixels; loadings signed so their largest entry is positive). MnfTransform: minimum noise fraction with the shift-difference noise estimate (Green et al. 1988). PanSharpen: Brovey, IHS (intensity replaced by mean/sd-matched pan) or PCA (PC1 replaced by pan stretched to PC1's range) on bands already on the pan grid. TopographicCorrection: cos, avgcos, Minnaert, C and statistical corrections from the illumination \(\cos i\). EstimateHaze and RadiometricCorrection: dark-object haze and DN to radiance, TOA or DOS / COST surface reflectance (Chavez 1988, 1996). CloudMask (NDTCI) and CloudShadowMask (the cloud mask shifted by the sun geometry). SpectralAngleClassify, GaussianMlClassify (quadratic discriminant, priors from training proportions), KmeansClassify (Lloyd from given centres), AtgpEndmembers (Ren and Chang 2003), FparFromNdvi (Los et al. 2000) and Tvdi (Sandholt et al. 2002). Classes and indices are 1-based. Identical to the Python arm morie.fn.rsimage.

Usage

TasseledCap(bands, sensor = "landsat8oli")

BandPca(bands, spca = FALSE, n_comp = NULL)

MnfTransform(bands, n_comp = NULL)

PanSharpen(ms, pan, method = "brovey", rgb = 1:3)

TopographicCorrection(
  bands,
  slope,
  aspect,
  sun_azimuth,
  sun_zenith,
  method = "C"
)

EstimateHaze(dn, dark_prop = 0.01, max_slope = TRUE)

RadiometricCorrection(
  dn,
  gain,
  offset,
  method = "apref",
  esun = NULL,
  sun_elevation = 90,
  distance = 1,
  haze_dn = NULL,
  haze_band = 1L,
  wavelengths = NULL,
  atmosphere = NULL,
  radiometric_bits = 8,
  clamp = TRUE,
  view_zenith = 1
)

CloudMask(blue, tir, threshold = 0.2)

CloudShadowMask(cloud, shift, dark = NULL, quantile = NULL)

SpectralAngleClassify(bands, endmembers)

GaussianMlClassify(bands, train, labels, priors = NULL)

KmeansClassify(bands, centers, max_iter = 100L)

AtgpEndmembers(bands, n)

FparFromNdvi(
  ndvi,
  ndvi_min = 0.05,
  ndvi_max = 0.95,
  fpar_min = 0.001,
  fpar_max = 0.95,
  method = "average"
)

Tvdi(ndvi, lst, n_bins = 10L, ndvi_range = NULL)

Arguments

bands, ms

List of equal-shape band matrices.

sensor

Tasseled-cap sensor.

spca

Use the correlation matrix.

n_comp

Number of components.

pan

Panchromatic matrix on the same grid.

method

Method name.

rgb

Indices of the red, green and blue bands.

slope, aspect

Slope and aspect matrices (radians).

sun_azimuth, sun_zenith

Sun angles (radians).

dn

DN matrix (haze) or list of DN matrices.

dark_prop

Dark-object proportion.

max_slope

Use the steepest rise of the smoothed histogram.

gain, offset

Radiance rescaling per band.

esun

Exo-atmospheric solar irradiance per band.

sun_elevation

Sun elevation (degrees).

distance

Earth-sun distance (AU).

haze_dn

Haze DN (one value, or one per band for "sdos").

haze_band

Index of the haze band ("dos", "costz").

wavelengths

Band centre wavelengths.

atmosphere

Relative scattering class, or NULL to choose.

radiometric_bits

Radiometric resolution.

clamp

Clamp reflectance to the unit interval (radiance to >= 0).

view_zenith

Sensor view zenith (degrees) for "costz"'s view transmittance \(\cos\theta_v\); 1 as RStoolbox, 0 for strict nadir.

blue, tir

Blue and thermal matrices.

threshold

NDTCI threshold.

cloud

Logical cloud mask.

shift

Shift c(dx, dy) in cells (dy north).

dark

Optional darkness matrix (e.g. band sum).

quantile

Darkness quantile.

endmembers

Endmember spectra (rows).

train

Training pixels (rows, bands as columns).

labels

Training labels.

priors

Class priors (sorted label order).

centers

Initial centres (rows).

max_iter

Maximum iterations.

n

Number of endmembers.

ndvi, lst

NDVI and land surface temperature vectors.

ndvi_min, ndvi_max, fpar_min, fpar_max

FPAR scaling constants.

n_bins

Number of NDVI bins.

ndvi_range

NDVI range for the bins.

Value

List.

References

Crist, E. P. (1985). A TM tasseled cap equivalent transformation for reflectance factor data. Remote Sensing of Environment 17, 301-306.

Baig, M. H. A., Zhang, L., Shuai, T. and Tong, Q. (2014). Derivation of a tasselled cap transformation based on Landsat 8 at-satellite reflectance. Remote Sensing Letters 5, 423-431.

Green, A. A., Berman, M., Switzer, P. and Craig, M. D. (1988). A transformation for ordering multispectral data in terms of image quality. IEEE Transactions on Geoscience and Remote Sensing 26, 65-74.

Teillet, P. M., Guindon, B. and Goodenough, D. G. (1982). On the slope-aspect correction of multispectral scanner data. Canadian Journal of Remote Sensing 8, 84-106.

Chavez, P. S. (1988). An improved dark-object subtraction technique for atmospheric scattering correction of multispectral data. Remote Sensing of Environment 24, 459-479.

Ren, H. and Chang, C.-I. (2003). Automatic spectral target recognition in hyperspectral imagery. IEEE Transactions on Aerospace and Electronic Systems 39, 1232-1249.

Los, S. O. et al. (2000). A global 9-yr biophysical land surface dataset from NOAA AVHRR data. Journal of Hydrometeorology 1, 183-199.

Sandholt, I., Rasmussen, K. and Andersen, J. (2002). A simple interpretation of the surface temperature/vegetation index space for assessment of surface moisture status. Remote Sensing of Environment 79, 213-224.

Examples

px <- function(v) matrix(v, 1, 1)
TasseledCap(lapply(c(0.1, 0.1, 0.1, 0.3, 0.2, 0.1), px))$brightness
#>         [,1]
#> [1,] 0.39377
Tvdi(c(0.1, 0.1, 0.9, 0.9), c(300, 320, 295, 305), n_bins = 2)$tvdi
#> [1] 0.2 1.0 0.0 1.0