Skip to content

Releases: bleutner/RStoolbox

RStoolbox v1.0.0

25 Apr 09:20
Compare
Choose a tag to compare

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 column class can 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 argument n_models) for multiple endmember combinations drawn from endmembers and will select the best fit per pixel based on the lowest RMSE. See ?mesma for details (fixes #57, reported by @ytarazona)

Changes:

  • mesma() now implements the sum to one constraint by default (argument sum_to_one) (fixes #62, reported by @michaeldorman)
  • added a new example to mesma() to reflect the changes

RStoolbox v0.4.0

18 Jan 00:40
Compare
Choose a tag to compare

Rewrite of RStoolbox, migration from raster to terra and sp to sf

New:

  • RStoolbox moved on from the outdated sp and raster packages to sf and terra to ensure long term support of the tools.
  • Thrown out unnecessary libraries

Fixes:

  • rasterPCA(): Fixed a bug that caused the method and its unit tests to fail on Linux due to a corrupted covariance matrix calculated previously with terra::layerCor()
  • superClass() unable to predict when there is NA in raster data (closes #102, reported by @bappa10085)

RStoolbox v0.3.0

07 Mar 15:54
Compare
Choose a tag to compare

New:

  • rasterCVA() by default no longer enforces a minimal change magnitude (can still be accomplished with the tmf argument).
    Also a new argument nct allows 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 argument output which 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::SpatRast objects throughout RStoolbox (as alternative to raster objects). Note: internal functionality is still based on raster.

Changes:

  • arguments master and slave in coregisterImages() were deprecated in favor of ref and img, respectively (closes #63, suggested by @MatthiasSiewert)

Fixes:

  • rasterCVA() estimates median values now for entire rasters and not per chunk
  • cloudMask() now returns NA for non-clouds instead of NaN
  • topCor() 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.)

RStoolbox 0.2.6

24 Jul 08:27
Compare
Choose a tag to compare

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)

RStoolbox 0.2.4

09 Jan 15:27
Compare
Choose a tag to compare

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() and classifyQA() can now deal with the new QA format introduced with Landsat Collection data. Legacy QA designations can still be interpreted by setting the legacy argument.
  • 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)

RStoolbox 0.2.1

20 Apr 13:11
Compare
Choose a tag to compare

major new functionality: spectral unmixing

RStoolbox 0.1.8

15 Apr 14:02
Compare
Choose a tag to compare

This is primarily a maintenance release.

New:

  • spectralIndices() can now apply a mask internally, e.g. to exclude cloud pixels. New arguments are:
    maskLayer and maskValue (suggested by Andrea Hess).
  • added spectral index GNDWI

Fixes:

  • update readEE() to deal with new EarthExplorer export columns (reported by Christian Bauer)

RStoolbox 0.1.7

10 Jan 19:10
Compare
Choose a tag to compare

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() and ggRGB() 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 for type='water' now correctly returns only confidence levels in [1,3]
  • enable reading ENVI plot files in ASCII mode with readSLI()

Deprecated:

  • spectralIndices() index LSWI has been deprecated, as it is identical with the now available NDWI2.

RStoolbox 0.1.6.

07 Nov 19:24
Compare
Choose a tag to compare
  • Minor CRAN patch release. Fixes caret import issue.

RStoolbox 0.1.5

06 Oct 20:11
Compare
Choose a tag to compare

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 use dataType = 'INT2S' for classification maps to avoid issues with raster NA handling in INT1U
  • Allow reading and importing from Landsat MSS MTL files with readMeta() and stackMeta() (@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 properly
  • pifMatch() did not return adjusted image (@tmb3006, #13)

Deprecated:

  • argument norm was dropped from rasterPCA(), because it was effectively a duplicate of the standardized pca (spca) argument in the same function.