addition

  • add boolean ‘buffer_mw’ in set_options_biodivMapR(‘biodivMapR_tiling’) to control application of a buffer on raster resulting from moving window process
  • add a message and stop process when biodivMapR_tiling cannot find any raster files with pattern related to features in the file name

fix

  • fix bug occurring in get_samples_from_tiles and get_plots_from_tiles when path for tileSI includes feature names

change

  • biodivMapR_tiling now uses plot_names instead of plots (a list of vectors)

fix

  • fixed bug when samples cannot be extracted in get_plots_from_tiles :
    • selplot <- terra::spatSample(…)
    • last action of sample_from_plots_beta

addition

  • use c++ codes to compute alpha and beta diversity metrics directly from chunks
  • added deprecated functions

addition

  • added internal c++ codes to compute alpha metrics

changes

  • update functions metadata and description

addition

  • added internal c++ codes to compute dissimilarity metrics, instead of dissUtils
  • included computation of bray-curtis dissimilarity,
    • bray-curtis dissimilarity
    • bray-curtis turnover
    • sorensen dissimilarity
    • simpson dissimilarity
    • jaccard dissimilarity
    • jaccard turnover
  • prepared for possibility to select clustering
  • added tests for production of diversity maps, spectral species maps and diversity from classification

changes

  • changed names of function:
    • biodivMapR_full to biodivMapR
    • biodivMapR_full_classif to biodivMapR_classif
  • removed dependency to preprocS2 and bigRaster

fix

  • fixed biodivMapR_sfs
  • fixed biodivMapR_classif
  • fixed biodivMapR_opt_clusters

addition

  • added function spectral_species_full to produce spectral species map from individual raster
  • create output_dir when running perform_PCA

fix

  • fixed biodivMapR_opt_clusters to run in parallel

fix

  • fixed computation of functional diversity metrics when nbCPU = 1

fix

  • fixed biodivMapR_opt_clusters bypassing parallel computing

change

  • fully update documentation

change

  • biodivMapR_full_classif: add possibility to set compute_beta = TRUE or FALSE
  • remove TODO.md
  • use regular expression ‘\.’ when searching for strings including ‘.’:
  • define ‘get_samples_from_tiles’ in independent file

fix

  • use lapply instead of future_lapply when calling ‘functional_window_list’ in ‘get_raster_diversity_tile’
  • compute taxonomic and functional diversity metrics in two steps
  • compute functional diversity metrics one after the other
  • fix compression of diversity maps
  • fix bug when setting more than 1 metric in options$alpha_metrics

change

  • use with(…, local = TRUE) when using future::plan

fix

  • add nested ‘try’ in mosaic_from_vrt

addition

  • add spectral_species_full_tiles to produce spectral species from tiles

addition

  • add biodivMapR_full_sdm and alphabeta_window_sdm to produce diversity metrics from sdm

fix

  • name weightIQR instead of weightIRQ

change

  • remove compute_bc_diss and use only dissUtils::diss instead
  • rename ‘get_ssd_full’ ‘get_normalized_ssd’
  • added function ‘file_path_sans_ext’ (copied from zonator) to avoid importing ‘tools’
  • use ‘progressr’ instead of ‘progress’

addition

  • add biodivMapR_full_classif to produce diversity metrics from classification map

addition

  • add option beta_metrics: set to FALSE to skip beta computation
  • add option moving_window for ‘biodivMapR_full’
  • add option weightIQR for ‘biodivMapR_full_tiles’
  • add function crop_border_tile to avoid artifacts between tiles
  • add function mosaic_from_vrt to produce a mosaic from a vrt

fix

  • fix bug when checking if mask files already exist
  • fix bug when generating hill index
  • use try to avoid error when using compression when calling gdal_utils

change

  • fd_metrics instead of FDmetric
  • alpha_metrics instead of alphametrics
  • add options as input parameter for ‘biodivMapR_full_tiles’ and ‘biodivMapR_full’ in order to reduce nb of inputs
  • add possibility to define the IQR when sampling with ‘biodivMapR_sample’ and filtering
  • change name for site_name
  • updated vignettes

fix

  • fix bug when feature names overlap (e.g. NDVI vs mNDVI705)
  • update biodivMapR_full_tiles
  • update biodivMapR_full_classif
  • add pcelim as input for biodivMapR_sample and biodivMapR_full_tiles

addition

  • added function biodivMapR_sample and biodivMapR_full_classif

change

  • added mosaic_output as input variable for biodivMapR_full_tiles
  • fixed “BIGTIFF=IF_SAFER” when calling sf::gdal_utils to produce mosaics

change

  • use continuumRemoval from package prospectr instead of internal function

change

  • add option “BIGTIFF=IF_SAFER” when calling sf::gdal_utils to produce mosaics

fix

  • create output_dir if does not exist when calling biodivMapR_full

fix

  • implement fix to adjust global extent when using CRS 4326 (e.g. modis)
  • modify sample_from_raster to account for global footprint

change

  • modify ‘sample_from_plots_beta’ to account for no data available
  • adjusted min_sun from 0.75 to 0.6 in ‘get_plots_from_tiles’ when sampling to produce beta model

addition

  • added ‘get_si_tiles_from_raster’ to compute spectral index from raster tile
  • implemented functional diversity metrics into tile processing

change

  • delete files corresponding to individual tiles after mosaic

fix

  • use basename when calling grep to avoid conflict with directory name

fix

  • fixed bug when SI values < 0

addition

  • add possibility to change nb_iter and set it to 10 iterations as default

change

  • updated variable names

fix

  • account for presence of aux.xml files
  • fix documentation

fix

  • sample_from_raster adapted to handle distances when crs of input_rast in deg

addition

  • modified perform_PCA to allow PCA over any type of data

change

  • updated documentation

change

  • optimize tile processing with function get_raster_diversity_tile

fix

  • fix tile mask management when tiles are empty

change

  • change management of parallel processing for steps where it is not optimal

change

  • added functions to process large rasters divided into tiles using get_s2_tiling function from preprocS2 package
  • added functions to apply biodivMapR using moving window

change

  • clean code
  • add suppressWarnings when calling progressr

change

  • merge v2 from gitlab repository
  • update vignettes for use of v2

fix

  • in ‘get_diversity_from_plots’ :
  • initialize Attributes with nrow = nbPlots_init
  • initialize functional diversity metrics in Attributes with NA
  • correct get_diversity_from_plots : assign to beta diversity values instead of mean Hill
  • correct extract_vect_from_rast : update AttributeTable and discard vectors with no data

addition

  • create functions init_kmeans_samples and init_PCoA_samples to process samples previously extracted independently from an input raster
  • possibility to provide name for output files in addition to directory

change

  • possibility to define updated mask file name as input for radiometric_filtering

fix

  • correct get_diversity_from_plots: output for FDis corrected to FDis instead of FDiv
  • correct spectralspecies_per_polygon : AttributeTable not set to NULL ## addition
  • computes all functional diversity when running get_diversity_from_plots

change

  • use package fundiversity to compute diversity metrics

Fix

  • Fixed testthat
  • fixed maps for functional diversity metrics (center reduction of trait space)

Change

  • more systematic use of ‘seq_len’

Addition

  • added Hill numbers
  • added functional diversity

fix

  • initialize input_mask to NULL in biodivMapR_Full
  • handle chunk with pixels valid but no window valid

Fix

  • fixed SFS function when using SpatVector instead of SpatVectorCollection

Fix

  • fixed SFS function when using SpatVector instead of SpatVectorCollection

Fix

  • update fixed problem occurring when performing PCA without mask

Fix

Addition

  • option added to display progress bar. Set to FALSE as default

Change

  • added input variables Kmeans_info_path and Kmeans_info in map_spectral_species to allow production from previously computed clusters

Change

  • allow use of any vector format (including gpkg, shp… ) for validation plots provided in diversity_from_plots
  • allow different crs between raster and vector layers

Fix

  • update example_script and vignettes to fulfill removal to rgdal dependency in the package

Fix

  • issue #18: remove the dependency to rgdal and rgeos using terra and gdalUtilities instead

Change

  • remove extract_pixels_coordinates.From.OGR, a unique extract_pixels_coordinates now works for both character or rast/vect inputs

Addition

  • add get_gdal_info to get raster gdal info as a nested list.

Change

  • possibility to enable / disable progressbar in compute_spectral_species_FieldPlots and init_kmeans

Fix

  • fixed computation of FD metrics
  • removed import progress and emstreeR

Fix

  • removed reference to multiprocess, multisession used exclusively from future

Fix

  • fixed bug when producing simpson index from map_alpha_div function
  • added importFrom corresponding to progressr in continum removal

Changes

  • removed unused functions (VectorInRasterFootprint, get_BB, get_BB_from_fullImagem get_BB_from_Vector, get_polygonCoord_from_Shp, read_ListRasters, VectorInRasterFootprint, gdal_polygonizeR) in order to reduce dependency to rgeos
  • these functions can be found in R package preprocS2

Fix

  • fixed bug when computing functional diversity metrics from 1 component only

Changes

  • function map_spectral_species checks if format and dimensions of Input_Mask_File are as expected
  • function map_spectral_species now supports Input_Mask_File = FALSE. It writes a blank mask to ensure next processes

Fix

  • fixed bug when defining SelectedPCs as a vector in map_spectral_species()
  • Updated vignettes

Fix

  • Updated alpha and beta diversity mapping when starting from a classification map

Fix

  • now uses red band instead of red edge band for the computation of NDVI –> changes thresholding

changes

  • simplified inputs for functions such as map_spectral_species(), init_kmeans(), map_beta_div()
  • updated vignettes

changes

  • optimized codes for the computation of spectral species, alpha and beta diversity
  • addition of progress bars during the different steps of the computation of spectral species, alpha and beta diversity maps
  • addition of functions Compute_ALPHA_SSD_per_window_list, Compute_ALPHA_SSD_per_window, Compute_ALPHA_per_window, prepare_HDR_SSD, prepare_HDR_Sunlit, RW_bytes_all, RW_bytes
  • use multisession instead of multiprocess where it was forgotten

Addition

  • use of list for computation of beta diversity
  • addition of functions getBCdiss and Normalize_SSD

Addition

  • added Hellinger distance as beta diversity metric

Addition

  • removed NMDS as possible ordination method when computing beta diversity

Addition

  • progress bar instead of messages
  • future: multisession instead of multiprocess

Addition

  • added tutorials for the PROGYSAT workshop

Fixes

  • install package dissUtils directly from github (‘cran/dissUtils’) as it was removed from official CRAN repo

Fixes

  • discard marginal spectral species based on number of sunlit pixels, instead of total number of pixels considered (window size or plot used for validation)

Changes

  • harmonize default value for pcelim

Fixes

  • re-integrate package emstreeR (previously removed from CRAN) used to compute functional divergence

Fixes

  • uses future_lapply only if more than one CPU requested, otherwise use standard lapply

Fixes

  • fixed data type of spectral species derived from supervised classification and output directories for alpha and beta diversity

Fixes

  • fixed error occuring when using custom classification map instead of spectral species map

Changes

  • Added dimMDS defining number of dimensions to run PCoA for beta diversity
  • exported functions from beta library
  • updated documentation

Fixes

  • corrected weighted distance from nearest neighbors: assign exact coordinates of a sample when dissimilarity = 0
  • temporary: discarded evenness from functional diversity as it uses emstreeR and requires binding to mlpack

Changes

  • Added functionality to allow for computation of spectral diversity maps based on spectral index stack or any raster stack
  • added function to compute interquartile range (IQR) and identify outliers
  • applied IQR instead of center reduction
  • exported most of the functions in the Lib_ImageProcess
  • Image sample was removed and placed in external repository
  • Major update of vignettes for tutorial

Fixes

  • used file.path instead of paste

Changes

  • capacity to produce diversity maps based on classification raster

Fixes

  • warning eliminated when testing Selected_Features in Lib_MapFunctionalDiversity.R
  • Corrected data extraction function using nbands in extract.big_raster and get_random_subset_from_image
  • updated extract.big_raster and get_random_subset_from_image in order to account for 2D rasters which cannot be read with brick
  • added driver definition when using read_stars (extract.big_raster)
  • corrected vignettes (TypePCA used before defined in previous version)

Fixes

  • added importFrom raster brick in function extract.big_raster

Fixes

  • Fixed bug when calling file.edit from linux terminal. initial parameter editor=‘internal’ is not cross platforms. removed it.

Changes

  • Added option to directly compute alpha and beta diversity maps from classification maps, even if it does not correspond to SpectralSpecies file produced from biodivMapR

Fixes

  • Fixed bug occuring when calling function diversity_from_plots if no functional duversity map was produced before

Fixes

  • Fixed bug occuring when writing image if initial raster is not a multiple of the window size. no bug occur but the raster files have wrong information
  • fixed problem when performing estimation of biodiversity for plots outside of the raster: now the value is NA

Changes

  • Added functional diversity metrics
  • updated example script
  • updated vignette

Changes

  • implemented MNF
  • discarded HDR as input variable from get_random_subset_from_image
  • updated example file
  • added contribution of F de Boissieu
  • changed email address to teledetection.fr
  • updated diversity_from_plots
  • updated example script

Fixes

  • fixed identification and elimination of pixel samples with NA
  • fixed bug occuring when input raster is BSQ interleave, and BSQ reported in PC file and following files

Changes

  • finalized preparation for MNF
  • improved information in the header files

Changes

  • integrated stars package in order to read any file format, including TIFF format
  • developed a generic function to write rasters
  • prepared for MNF
  • changed default red band for the computation of NDVI: closest band to 690 nm is now selected instead of closest band to 700 nm

Changes

  • added option to convert the mask file into proper format with raster2BIL

Fixes

  • fixed bug raised when processing data over large number of pixels (image products >2^31 bits)
  • fixed bug by adding elimination of bands disturbed by water vapor even when ContinuumRemoval set to FALSE

Changes

  • Changed name of default directory when saving image after calling raster2BIL
  • added documentation for raster data conversion using raster2BIL

Fixes

  • fixed bug in Lib_MapSpectralSpecies: remove constant bands from Subset$DataSubset if needed
  • fix bug when continuum removal applied on pixels with constant values which were not filtered in previous stages

Changes

  • Updated continuum removal
  • Named Continuum_Removal instead of CR
  • corrected documetation for perform_radiometric_filtering
  • Added an error report when spectral information is not conform with expectations (due to too high noise level for example, usually leading to NaN or Inf values after PCA)
  • Changed name for some variables in internal functions for consistency
  • will add documentation on how to analyze error reports

Fixes

Changes

  • moved examples to repository root: example files are not installed with package anymore.
  • removed Plots reprojection from diversity_from_plots: now, Plots and Raster must be in the same projection. Changed example Plots projection accordingly.
  • removed get_projection (useless)
  • Added NEWS.md
  • Updated README.md: transfered from gitlab.irstea to github
  • changed return() into return(invisible())
  • updated vignettes & tutorial with latest outputs and figures from code

First release in GitHub Submission accepted to Methods in Ecology and Evolution