Skip to content

Commit

Permalink
Version 1.4.0 RC (#367)
Browse files Browse the repository at this point in the history
## Major changes
- `gdal_warp()` was partially rewritten: now reshaped rasters conserve square
    pixels also after warping operations. _This change also affects `sen2r()`
    products if reshaping features (reprojection or custom resolution)
    are required._
    This update was necessary due to changes performed in GDAL since version 
    3.2.0 (see [OSGeo/gdal♯3294](OSGeo/gdal#3294)),
    which did not grant homogeneity between outputs produced with different
    GDAL versions.
    Note that, in case the user wants to update an existing sen2r archive
    produced with `{sen2r}` < 1.4.0, the old existing grid is maintained
    so that product grids are equal (in order to produce outputs with the new
    grid, users must create a new archive).

## Documentation
- Update vignette data (granting using online data) (#360).
  • Loading branch information
ranghetti authored Jan 8, 2021
1 parent ef75d03 commit b19c0a4
Show file tree
Hide file tree
Showing 261 changed files with 2,048 additions and 1,534 deletions.
3 changes: 1 addition & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
Package: sen2r
Type: Package
Title: Find, Download and Process Sentinel-2 Data
Version: 1.3.9.9002
Version: 1.4.0
Authors@R: c(person("Luigi", "Ranghetti",
email = "[email protected]",
role = c("aut", "cre"),
comment = c(ORCID = "0000-0001-6207-5188")),
person("Lorenzo", "Busetto",
email = "[email protected]",
role = c("aut"),
comment = c(ORCID = "0000-0001-9634-6038")))
Description: Functions to download Sentinel-2 optical images
Expand Down
38 changes: 38 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
# Version 1.4.0

## Major changes
- `gdal_warp()` was partially rewritten: now reshaped rasters conserve square
pixels also after warping operations. _This change also affects `sen2r()`
products if reshaping features (reprojection or custom resolution)
are required._
This update was necessary due to changes performed in GDAL since version
3.2.0 (see [OSGeo/gdal&#x266F;3294](https://github.com/OSGeo/gdal/issues/3294)),
which did not grant homogeneity between outputs produced with different
GDAL versions.
Note that, in case the user wants to update an existing sen2r archive
produced with `{sen2r}` < 1.4.0, the old existing grid is maintained
so that product grids are equal (in order to produce outputs with the new
grid, users must create a new archive).
- Manage images split in two SAFE products, to avoid producing black areas
in these [uncommon] cases (see #353 for an explanation).
As effects:
1. now pixels outside footprints (including nodata outside orbits coverage)
are always set to nodata;
2. now `s2_download()` is no more able to use existing products equivalent
to found ones.

## Minor changes
- Add templates for GitHub issues.
- Do not return error in tests in case of SciHub server down (#354).

## Changes in default values
- Pixels outside footprints (because of previous point, or - more frequently -
because outside orbits coverage) are always set to NA even
if no cloud masking is performed.
- `s2_download()` no more uses existing SAFE products instead than downloading
new equivalent ones (this in order to manage images split in two SAFE archives).

## Documentation
- Update vignette data (granting using online data) (#360).


# Version 1.3.9

## Bug fixes
Expand Down
5 changes: 2 additions & 3 deletions R/abs2rel.R
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@
#' @author Luigi Ranghetti, phD (2017) \email{luigi.ranghetti@@gmail.com}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @export
#'
Expand Down
5 changes: 2 additions & 3 deletions R/add_rgb_image.R
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0

add_rgb_image <- function(s2_bands) {
Expand Down
5 changes: 2 additions & 3 deletions R/add_tile_suffix.R
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
#' @author Luigi Ranghetti, phD (2020) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @examples
#' safe_names <- c(
Expand Down
5 changes: 2 additions & 3 deletions R/build_example_param_file.R
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @importFrom jsonlite toJSON
#' @export
Expand Down
7 changes: 3 additions & 4 deletions R/calcindex.R
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,9 @@
#'
#' @author Luigi Ranghetti, phD (2020) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0

calcindex_raster <- function(
Expand Down
5 changes: 2 additions & 3 deletions R/check_gdal.R
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @importFrom jsonlite toJSON
#' @export
Expand Down
5 changes: 2 additions & 3 deletions R/check_gui_deps.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@
#' @author Luigi Ranghetti, phD (2020) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @export
#' @examples
Expand Down
5 changes: 2 additions & 3 deletions R/check_param_list.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0


Expand Down
5 changes: 2 additions & 3 deletions R/check_sen2r_deps.R
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @importFrom utils capture.output
#' @importFrom httr RETRY write_disk progress
Expand Down
5 changes: 2 additions & 3 deletions R/compute_s2_paths.R
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @import data.table

Expand Down
5 changes: 2 additions & 3 deletions R/comsub.R
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note Modified from a suggestion taken from
#' [stackoverflow](https://stackoverflow.com/questions/28273716/r-implementation-for-finding-the-longest-common-starting-substrings-in-a-set-of).
#' @export
Expand Down
10 changes: 6 additions & 4 deletions R/create_indices_db.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @import data.table
#' @importFrom XML htmlTreeParse xmlRoot readHTMLTable xmlAttrs saveXML
Expand Down Expand Up @@ -195,11 +194,14 @@ create_indices_db <- function(xslt_path = NA,

}

# last manual corrections on formulas
# last manual corrections on names
s2_table[,s2_formula:=gsub("par\\_([0-9])", "band_\\1", s2_table$s2_formula)] # some bands were wrongly classified as parameters
s2_table$name[s2_table$name=="TCI"] <- "TCIdx" # in order not to mess with TCI True Color Image product
s2_table$name[s2_table$name=="NDSI"] <- "NDSaI" # in order not to mess with Normalized Difference Snow Index

# last manual corrections on formulas
s2_table[name=="ARVI", s2_formula := gsub("band_8a", "band_8", s2_formula)] # revert manual change on IDB

# rename parameters (A, B, ...)
s2_table[,s2_formula:=gsub("par\\_([aALyY]r?)", "par_a", s2_table$s2_formula)] # first parameters (a, A, ar, y, Y, L) -> "a"
s2_table[,s2_formula:=gsub("par\\_([bB])", "par_b", s2_table$s2_formula)] # second parameters (b, B) -> "b"
Expand Down
5 changes: 2 additions & 3 deletions R/create_s2_dop.R
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @import data.table
#' @importFrom jsonlite toJSON fromJSON
Expand Down
10 changes: 4 additions & 6 deletions R/expand_path.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0


Expand Down Expand Up @@ -81,9 +80,8 @@ expand_path <- function(path, parent=getwd(), silent=TRUE, normalize=TRUE) {
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0


Expand Down
5 changes: 2 additions & 3 deletions R/expect_equal_crs.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
#' @author Luigi Ranghetti, phD (2020) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0

expect_equal_crs <- function(crs1, crs2) {
Expand Down
5 changes: 2 additions & 3 deletions R/fix_envi_format.R
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0

fix_envi_format <- function(infiles) {
Expand Down
17 changes: 8 additions & 9 deletions R/gdalUtil.R
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
#' @author Luigi Ranghetti, phD (2020) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @examples
#' # Define product names
Expand All @@ -50,8 +49,8 @@
#' options = c("-tr", "2", "2", "-r", "cubicspline", "-co", "COMPRESS=DEFLATE")
#' )
#' oldpar <- par(mfrow = c(1,2), mar = rep(0,4))
#' image(stars::read_stars(examplename), rgb = c(11,8,4))
#' image(stars::read_stars(outname1), rgb = c(11,8,4))
#' image(stars::read_stars(examplename), rgb = c(11,8,4), useRaster = TRUE)
#' image(stars::read_stars(outname1), rgb = c(11,8,4), useRaster = TRUE)

#'
#' ## gdalwarp
Expand All @@ -62,8 +61,8 @@
#' options = c("-t_srs", "EPSG:32633", "-co", "COMPRESS=DEFLATE")
#' )
#' oldpar <- par(mfrow = c(1,2), mar = rep(0,4))
#' image(stars::read_stars(examplename), rgb = c(11,8,4))
#' image(stars::read_stars(outname2), rgb = c(11,8,4))
#' image(stars::read_stars(examplename), rgb = c(11,8,4), useRaster = TRUE)
#' image(stars::read_stars(outname2), rgb = c(11,8,4), useRaster = TRUE)
#'
#' ## gdal_calc
#' outname3 <- tempfile(fileext = ".tif")
Expand All @@ -78,8 +77,8 @@
#' options = c("--A_band", "8", "--B_band", "4", "--type", "Int16")
#' )
#' oldpar <- par(mfrow = c(1,2), mar = rep(0,4))
#' image(stars::read_stars(ndvirefname))
#' image(stars::read_stars(outname3))
#' image(stars::read_stars(ndvirefname), useRaster = TRUE)
#' image(stars::read_stars(outname3), useRaster = TRUE)
#' }


Expand Down
5 changes: 2 additions & 3 deletions R/gdal_abs2rel.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@
#' @author Luigi Ranghetti, phD (2019) \email{luigi@@ranghetti.info}
#' @references L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
#' "sen2r": An R toolbox for automatically downloading and preprocessing
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473. DOI:
#' \href{https://doi.org/10.1016/j.cageo.2020.104473}{10.1016/j.cageo.2020.104473},
#' URL: \url{http://sen2r.ranghetti.info/}.
#' Sentinel-2 satellite data. _Computers & Geosciences_, 139, 104473.
#' \doi{10.1016/j.cageo.2020.104473}, URL: \url{http://sen2r.ranghetti.info/}.
#' @note License: GPL 3.0
#' @export
#' @name gdal_abs2rel
Expand Down
Loading

0 comments on commit b19c0a4

Please sign in to comment.