The RStoolbox R package provides a set of high-level remote sensing tools for various remote sensing tasks. This includes unsupervised and supervised classification with different classifiers, fractional cover analysis and a spectral angle mapper. Furthermore, several spectral transformations like vegetation indices, principal component analysis or tasseled cap transformation are available as well.
Besides that a set of data import and pre-processing functions are provided. These include reading and tidying Landsat meta-data, importing ENVI spectral libraries, histogram matching, automatic image co-registration or topographic illumination correction.
RStoolbox also comes with two functions dedicated plotting commands for remote sensing data (*raster* objects) using *ggplot2* including RGB color compositing with various contrast stretching options.
RStoolbox is built on top of the *raster* package. To improve performance some functions use embedded C++ code via the *Rcpp* package.
Moreover, most functions have built-in support for parallel processing, which is activated by running raster::beginCluster() beforehand.
RStoolbox can be installed via CRAN using
List of commands:
Data Import and Export
- `readMeta`: import Landsat metadata from MTL or XML files
- `stackMeta`: load Landsat bands based on metadata
- `readSLI & writeSLI`: read and write ENVI spectral libraries
- `saveRSTBX & readRSTBX`: save and re-import RStoolbox classification objects (model and map)
- `readEE`: import and tidy EarthExplorer search results
- `radCor`: radiometric conversions and corrections. Primarily, yet not exclusively, intended for Landsat data processing. DN to radiance to reflectance conversion as well as DOS approaches
- `topCor`: topographic illumination correction
- `cloudMask & cloudShadowMask`: mask clouds and cloud shadows in Landsat or other imagery which comes with a thermal band
- `classifyQA`: extract layers from Landsat 8 QA bands, e.g. cloud confidence
- `rescaleImage`: rescale image to match min/max from another image or a specified min/max range
- `normImage`: normalize imagery by centering and scaling
- `histMatch`: matches the histograms of two scenes
- `coregisterImages`: co-register images based on mutual information
- `panSharpen`: sharpen a coarse resolution image with a high resolution image (typically panchromatic)
- `spectralIndices`: calculate a set of predefined multispectral indices like NDVI
- `tasseledCap`: tasseled cap transformation
- `sam`: spectral angle mapper
- `rasterPCA`: principal components transform for raster data
- `rasterCVA`: change vector analysis
- `unsuperClass`: unsupervised classification
- `superClass`: supervised classification
- `fCover`: fractional cover of coarse resolution imagery based on high resolution classificaton
Data Display with ggplot2
- `fortify.raster`: data.frame from raster (subsampled) for plotting
- `ggR`: single raster layer plotting with ggplot2
- `ggRGB`: efficient plotting of remote sensing imagery in RGB with ggplot2
Example Data Sets
- `rlogo`: the r logo as raster brick
- `lsat`: subset of a Landsat 5 TM scene
- `srtm`: SRTM DEM for lsat scene
The development version is hosted at www.github.com/bleutner/RStoolbox
For a more details, including executed examples, please see