updated RStoolbox version

updated RStoolbox version

The RStoolbox R package has been updated after some testing in courses and by colleagues. Please update your package using update.packages() or install the RStoolbox again.

New functions are:

  • new function validateMap() for assessing map accuracy separately from model fitting, e.g. after majority or MMU filtering
  • new function getValidation() to extract specific validation results of superClass objects (proposed by James Duffy)
  • new spectral index NDVIc (proposed by Jeff Evans)
  • new argument scaleFactor for spectralIndices() for calculation of EVI/EVI2 based on scaled reflectance values
  • implemented dark object subtraction radCor(..,method=’sdos’) for Landsat 8 data (@BayAludra, #4)

various changes were applied:

  • superClass() based on polygons now considers only pixels which have their center coordinate within a polygon
  • rasterCVA() now returns angles from 0 to 360° instead of 0:45 by quadrant (reported by Martin Wegmann and explained here)
  • improved dark object DN estimation based on maximum slope of the histogram in estimateHaze (@BayAludra, #4)

And some bugs fixed:

  • superClass() failed when neither valData or trainPartition was specified. regression introduced in 0.1.3 (reported by Anna Stephani)
  • spectralIndices() valid value range of EVI/EVI2 now [-1,1]
  • radCor() returned smallest integer instead of NA for some NA pixels
  • fix ‘sdos’ for non-contiguous bands in radCor (@BayAludra, #4)
Change Vector Analysis explained graphically

Change Vector Analysis explained graphically

We explained in our book “Remote Sensing and GIS for Ecologists – Using Open Source Software” among other change detection methods also the change vector analysis practically using the rasterCVA() command in the RStoolbox package, as well as outlined the approach graphically. During my last lecture on temporal and spatial remote sensing approaches I realized that the graphic needs some fixing as well as the RStoolbox function, moreover, certain explanations were missing. Hence, Benjamin Leutner adapted the rasterCVA() command and I tested it again and created new graphics explaining this approach for land cover change analysis.



general Change Vector analysis explained. Graphic from the book “Remote Sensing and GIS for Ecologists

The first graph that is also in our book shows the general approach. Two bands for each year (e.g. the RED and NIR band, but also the Tassled Cap output can be used) are taken and the changes in pixel values between these two years are shown as angle and magnitude.


We realized some things were missing:  first the explanation what the angle actually means and second a link of actual results and the xy-graph.


Change Vector analysis explained on three change classes using the actual rasterCVA() output and band values.

In these new figures we show the actual results of the land cover change vector analysis using band 3 and 4 of Landsat (E)TM for the study region used in our book and three angles and magnitudes of pixels values between 1988 and 2011.


Meaning of angle and magnitude values from rasterCVA() analysis in RStoolbox

In the second image we outline the meaning of the angle provided by rasterCVA() as well as the magnitude which is the euclidean distance of the pixel values between 1988 and 2011.


Please approach us if you have any suggestion how to improve it or if we introduced any errors.

Please update to the newest development version to access the updated RStoolbox functionality!


More updates and graphics provided on the books’ webpage.

book soon available – order now for discount

book soon available – order now for discount

RS_GIS_Ecology_Book_Wegmann_Leutner_Dech_adOur book “Remote Sensing and GIS for Ecologists – Using Open Source software” will soon be available. We worked through the 3rd proof and fixed all remaining issues. Looking forward to the printed version. The book offers a great overview of Remote Sensing applications using Open Source software, mainly R but also QGIS and provides you with working code to practically redo the analysis outlined in the book. The new RStoolbox R package which has been developed in parallel to the book is used extensively.

The publisher is still offering 20% discount on pre-orders – order our book right now on www.pelagicpublishing.com using the discount code: RSGE20.

More details and updates can be accessed on book.ecosens.org

Finished proof of our book

Finished proof of our book

The copy-edited proof of our book “Remote Sensing and GIS for Ecologists – Using Open Source software” is finally done and we just need to fix some issues with the image colouring. We are positive that the printed version will be available later in October or early November.

Also the package “RStoolbox” which is used extensively in this book has just been accepted by CRAN and can now be downloaded using “install.packages()” – more details here.


New R package: RStoolbox: Tools for Remote Sensing Data Analysis

New R package: RStoolbox: Tools for Remote Sensing Data Analysis

RStoolbox_RemoteSensing_Ecology_Benjamin_LeutnerWe are happy to announce the initial release of our *RStoolbox* package. The package has been developed by our PhD student Benjamin Leutner and will be used extensively in the upcoming book “Remote Sensing and GIS for Ecologists – Using Open Source software“.
RStoolbox provides various tools for remote sensing data analysis and is now available from CRAN:


and more details at:



The main focus of RStoolbox is to provide a set of high-level remote sensing tools for various classification 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, we provide a set of data import and pre-processing functions. These include reading and tidying Landsat meta-data, importing ENVI spectral libraries, histogram matching, automatic image co-registration, topographic illumination correction and so on.

Last but not least, RStoolbox ships with two functions dedicated to plotting remote sensing data (*raster* objects) with *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 is hosted at www.github.com/bleutner/RStoolbox

For a more details, including executed examples, please see



We sincerely hope that this package may be helpful for some people and are looking forward to any feedback, suggestions and bug reports.