Recent Releases of RStoolbox
RStoolbox - RStoolbox v1.0.2
Changes:
spectralIndices(): Rolled back to a minimalistic version of the customizable spectral index database due to issues of the M1 Mac, which CRAN didn't like. Now, custom spectral indices only support addition, subtracton, multiplication, division and parentheses. Features asabs()orexp()will be added back in shortly.
- R
Published by KonstiDE about 1 year ago
RStoolbox - RStoolbox v1.0.1
Changes for publication in MEE
New:
spectralIndices()can now be customized. We made the indices available as an editable option in the RStoolbox package as suggested by a reviewer. Users now can append a custom index to it that will be then calculated via the C++ plus within spectralIndices.cpp.
Changes:
mesma()now does not throw an error anymore when given no models and the default value was too high
- R
Published by KonstiDE over 1 year ago
RStoolbox - RStoolbox v1.0.0
Updating MESMA, minor changes before major release
New:
mesma()now better differentiates SMA and MESMA: For single endmember unmixing, each supplied endmember represents a class to unmix (row by row). For multiple endmemeber unmixing, the columnclasscan be used to group endmembers by class. If multiple endmembers per class are provided,mesma()will compute a number of SMA (determined through the new argumentn_models) for multiple endmember combinations drawn from endmembers and will select the best fit per pixel based on the lowest RMSE. See?mesmafor details (fixes #57, reported by @ytarazona)
Changes:
mesma()now implements the sum to one constraint by default (argumentsum_to_one) (fixes #62, reported by @michaeldorman)- added a new example to
mesma()to reflect the changes
- R
Published by KonstiDE almost 2 years ago
RStoolbox - RStoolbox v0.4.0
New:
- RStoolbox moved on from the outdated
spandrasterpackages tosfandterrato ensure long term support of the tools. - Thrown out unnessecary libraries
Fixed:
rasterPCA(): Fixed a bug that caused the method and its unit tests to fail on Linux due to a corrupted covariance matrix calculated previously withterra::layerCor()
- R
Published by KonstiDE about 2 years ago
RStoolbox - RStoolbox v0.3.0
New:
rasterCVA()by default no longer enforces a minimal change magnitude (can still be accomplished with thetmfargument). Also a new argumentnctallows to fix this threshold to a user selected value instead of deriving it based on the median of the observed change magnitudes.unsuperClass()has a new argumentoutputwhich allows to return the distances to all cluster centers as raster layers, instead of the class itself- added spectral index kNDVI in
spectralIndices()as suggested by Camps-Valls et al (2021) - added support for
terra::SpatRastobjects throughout RStoolbox (as alternative torasterobjects). Note: internal functionality is still based onraster.
Changes:
- arguments
masterandslaveincoregisterImages()were deprecated in favor ofrefandimg, respectively (closes #63, suggested by @MatthiasSiewert)
Fixes:
rasterCVA()estimates median values now for entire rasters and not per chunkcloudMask()now returns NA for non-clouds instead of NaNtopCor()now works for tiny rasters as well (fixes #55, reported by @latenooker)rasterPCA()now correctly considers the number observations in face of missing values (fixes #79, reported by @andliszmmu)superClass()now accepts different geometries for trainData and valData (fixes #73, suggested by @Silviculturalist)- fix
readMeta()for MTL files delivered with Landsat collection data (fixes #71, reported by @jkoellin et al.)
- R
Published by bleutner almost 4 years ago
RStoolbox - RStoolbox 0.2.6
RStoolbox 0.2.6
New:
* added several Sentinel-2 optimized indices to spectralIndices() relying on red-edge bands:
- red-edge inflection point (REIP),
- normalized difference red-edge indices (NDREI1, NDREI2),
- green-band chlorophyll index (CLG), red-edge chlorophyll index (CLRE)
- Modified Chlorophyll Absorption Ratio Index (MCARI)
- MERIS Terrestrial Chlorophyll Index (MTCI)
Fixes:
* readSLI() and writeSLI() now handle endian of binary spectral libraries correctly (#47, fix contributed by @aloboa)
* fix calculation of prediction probabilities in superClass() (reported by Benson Kemboi)
* adapt to raster 2.9.5 API changes
* fix order of thermal calibration coefficients for Landsat 8 Collection 1 MTL metadata in readMeta() (reported by Xiaoma Li)
* fixed an issue where readSLI() did not find header files with dots in pathnames (#51, reported by @aloboa)
Changes: * modified readSLI() label parsing. Internal white space is now converted to underscores (#52)
- R
Published by bleutner over 6 years ago
RStoolbox - RStoolbox 0.2.4
New:
- function
oneHotEncode: splits a single rasterLayer into multiple layers (one per class) with one-hot encoding, i.e. pixel value = 1 for matches, pixel value = 0 for all other classes (background). ggR()can now display more than one layer. Each layer can be plotted to a subplot in a multi-panel grafic.encodeQA(),decodeQA()andclassifyQA()can now deal with the new QA format introduced with Landsat Collection data. Legacy QA designations can still be interpreted by setting thelegacyargument.- new
predict()method for unsupervised classification models (unsuperClass).
Changes:
* all radCor DOS methods now work for Landsat 8 OLI
Fixes:
* fix unsuperClass for algorithms other than Hartigan-Wong (reported by Alex Ilich)
- R
Published by bleutner about 7 years ago
RStoolbox - RStoolbox 0.2.1
major new functionality: spectral unmixing
- R
Published by bleutner almost 8 years ago
RStoolbox - RStoolbox 0.1.8
This is primarily a maintenance release.
New:
spectralIndices()can now apply a mask internally, e.g. to exclude cloud pixels. New arguments are:maskLayerandmaskValue(suggested by Andrea Hess).- added spectral index GNDWI
Fixes:
- update
readEE()to deal with new EarthExplorer export columns (reported by Christian Bauer)
- R
Published by bleutner almost 9 years ago
RStoolbox - RStoolbox 0.1.7
New:
spectralIndices()has a new argument skipRefCheck, which skips the heuristic check for reflectance-like values [0,1] which is run if EVI/EVI2 are requested. This can be usefull if clouds with reflectance > 1.5 are part of the image.superClass()now returns the geometries which were used for validation, e.g. polygons (under $validation$geometry) and also the exact samples taken for validation including cell number and coordinates ($validation$validationSamples)- added example data-set for spectral library. See
?readSLI - increased overall test coverage
Changes:
- ESUN lookup tables for
radCor()are adjusted to match current USGS reccomendations from: https://landsat.usgs.gov/esun spectralIndices()swir wavelength ranges are now defined consistently and correctly. Bands formerly provided as swir1 (version <1.7.0) should now (>=1.7.0) be provided as swir2 and former swir2 as swir3 respectively (see docu). The actual calculations were correct, but the naming was off.
Fixes:
- fix
ggR()andggRGB()in annotation mode (default). No image was drawn and excessive memory allocation requested (= RStudio crash) (reported by Christian Walther) - fix
spectralIndices()documentation for NDWI. Formula was based on McFeeters1996 but attributed to Gao1996. Now there is NDWI (McFeeters) and NDWI2 (Gao) (reported by Christian Bauer) estimateHaze()now ensures correct histogram order, which could be off when raster had to read from disk (reported by Xavier Bailleau).readMeta()now makes concise bandnames also for Landsat Collection MTL files.- fix
radCor()for Landsat 4 TM (reported by Thomas Day) classifyQA()confidence layer fortype='water'now correctly returns only confidence levels in [1,3]- enable reading ENVI plot files in ASCII mode with
readSLI()
Deprecated:
spectralIndices()indexLSWIhas been deprecated, as it is identical with the now available NDWI2.
- R
Published by bleutner about 9 years ago
RStoolbox - RStoolbox 0.1.6.
- Minor CRAN patch release. Fixes caret import issue.
- R
Published by bleutner over 9 years ago
RStoolbox - RStoolbox 0.1.5
Changes:
- If the bandSet argument in
radCor()is used to process only a subset of bands it will no longer return unprocessed bands along with processed bands. Instead only processed bands are returned. - By default
superClass()will now usedataType = 'INT2S'for classification maps to avoid issues with raster NA handling in INT1U - Allow reading and importing from Landsat MSS MTL files with
readMeta()andstackMeta()(@aszeitz, #7)
Fixes:
readMeta()time-stamp conversion now correctly set to GMT time (@mraraju, #12)radCor()caused R to crash if bandSet was a single band- fix single RasterLayer capability for
superClass() spectralIndices()now calculates all documented indices if specified to do so (@mej1d1, #6)unsuperClass()predicted map now handles NAs properlypifMatch()did not return adjusted image (@tmb3006, #13)
Deprecated:
- argument
normwas dropped fromrasterPCA(), because it was effectively a duplicate of the standardized pca (spca) argument in the same function.
- R
Published by bleutner over 9 years ago
RStoolbox - RStoolbox 0.1.4
New:
- 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)
Changes:
- 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)
- improved dark object DN estimation based on maximum slope of the histogram in
estimateHaze(@BayAludra, #4)
Fixes:
- 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)
- R
Published by bleutner about 10 years ago
RStoolbox - RStoolbox 0.1.3
New:
- new logical argument
predictfor superClass. Disables prediction of full raster (proper validation is still conducted, but the prediction is done only for sample pixels). - new generic predict() function for superClass objects. Useful to separate model training and prediction.
- new example data set (landcover training polygons) for lsat example data under /extdata/trainingPolygons.rds
Fixes:
- fix histMatch for single layers (affected also 'ihs' pan-sharpening)
- fix superClass validation sampling for factors (character based factor responses could lead to wrong factor conversions and wrong validation results)
- improved handling of of training polygons with overlaps and shared borders in superClass
- improved checks and error messages for insufficient training polygons
- R
Published by bleutner about 10 years ago
RStoolbox - RStoolbox 0.1.2
New functions:
New custom model for maximum likelihood classification (model = "mlc") available for superClass()
Fixes:
- Restrict calculation of EVI/EVI2 to reflectance data (#3)
- Enforce valid value ranges in radCor: radiance: [0,+Inf], reflectance: [0,1]. Includes a new argument
clampto turn this on or off (on by default).
- R
Published by bleutner over 10 years ago
RStoolbox - RStoolbox 0.1.1
CRAN fixes:
- added kernlab to suggested packages to allow all \donttest{} examples to be tested with
R CMD check --run-donttest
- bugfix in internal function classQA (UBSAN: out of range NA for integer vector)
- R
Published by bleutner over 10 years ago
RStoolbox - RStoolbox 0.1.0
This is the initial release to CRAN. From now on function and argument names should remain mostly stable. This release ships with the following functions:
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
Data Pre-Processing
-
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)
Data Analysis
-
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
- R
Published by bleutner over 10 years ago