Skip to content

Commit 9a5a16b

Browse files
Merge pull request #1136 from e-sensing/dev
Pre-realease 1.5.0-1
2 parents e3205de + 69e50bf commit 9a5a16b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+2001
-829
lines changed

DESCRIPTION

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: sits
22
Type: Package
3-
Version: 1.5.0
3+
Version: 1.5.0-1
44
Title: Satellite Image Time Series Analysis for Earth Observation Data Cubes
55
Authors@R: c(person('Rolf', 'Simoes', role = c('aut'), email = '[email protected]'),
66
person('Gilberto', 'Camara', role = c('aut', 'cre'), email = '[email protected]'),
@@ -17,7 +17,7 @@ Description: An end-to-end toolkit for land use and land cover classification
1717
applied to satellite image data cubes, as described in Simoes et al (2021) <doi:10.3390/rs13132428>.
1818
Builds regular data cubes from collections in AWS, Microsoft Planetary Computer,
1919
Brazil Data Cube, and Digital Earth Africa using the Spatio-temporal Asset Catalog (STAC)
20-
protocol (<https://stacspec.org/> and the 'gdalcubes' R package
20+
protocol (<https://stacspec.org/>) and the 'gdalcubes' R package
2121
developed by Appel and Pebesma (2019) <doi:10.3390/data4030092>.
2222
Supports visualization methods for images and time series and
2323
smoothing filters for dealing with noisy time series.
@@ -28,10 +28,12 @@ Description: An end-to-end toolkit for land use and land cover classification
2828
temporal convolutional neural networks proposed by Pelletier et al (2019) <doi:10.3390/rs11050523>,
2929
residual networks by Fawaz et al (2019) <doi:10.1007/s10618-019-00619-1>, and temporal attention encoders
3030
by Garnot and Landrieu (2020) <doi:10.48550/arXiv.2007.00586>.
31+
Supports GPU processing of deep learning models using torch <https://torch.mlverse.org/>.
3132
Performs efficient classification of big Earth observation data cubes and includes
3233
functions for post-classification smoothing based on Bayesian inference, and
33-
methods for uncertainty assessment. Enables best
34-
practices for estimating area and assessing accuracy of land change as
34+
methods for active learning and uncertainty assessment. Supports object-based
35+
time series analysis using package supercells <https://jakubnowosad.com/supercells/>.
36+
Enables best practices for estimating area and assessing accuracy of land change as
3537
recommended by Olofsson et al (2014) <doi:10.1016/j.rse.2014.02.015>.
3638
Minimum recommended requirements: 16 GB RAM and 4 CPU dual-core.
3739
Encoding: UTF-8
@@ -58,7 +60,7 @@ Imports:
5860
sysfonts,
5961
slider (>= 0.2.0),
6062
stats,
61-
terra (>= 1.7-71),
63+
terra (>= 1.7-65),
6264
tibble (>= 3.1),
6365
tidyr (>= 1.2.0),
6466
torch (>= 0.11.0),
@@ -130,7 +132,9 @@ Collate:
130132
'api_cube.R'
131133
'api_data.R'
132134
'api_debug.R'
135+
'api_detect_changes.R'
133136
'api_download.R'
137+
'api_dtw.R'
134138
'api_environment.R'
135139
'api_factory.R'
136140
'api_file_info.R'
@@ -146,6 +150,7 @@ Collate:
146150
'api_mosaic.R'
147151
'api_opensearch.R'
148152
'api_parallel.R'
153+
'api_patterns.R'
149154
'api_period.R'
150155
'api_plot_time_series.R'
151156
'api_plot_raster.R'
@@ -215,6 +220,9 @@ Collate:
215220
'sits_cube_copy.R'
216221
'sits_clean.R'
217222
'sits_cluster.R'
223+
'sits_detect_change.R'
224+
'sits_detect_change_method.R'
225+
'sits_dtw.R'
218226
'sits_factory.R'
219227
'sits_filters.R'
220228
'sits_geo_dist.R'

NAMESPACE

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ S3method(.tile_ncols,raster_cube)
241241
S3method(.tile_nrows,default)
242242
S3method(.tile_nrows,raster_cube)
243243
S3method(.tile_path,default)
244+
S3method(.tile_path,derived_cube)
244245
S3method(.tile_path,raster_cube)
245246
S3method(.tile_paths,default)
246247
S3method(.tile_paths,raster_cube)
@@ -274,8 +275,6 @@ S3method(.view_add_overlay_grps,class_cube)
274275
S3method(.view_add_overlay_grps,derived_cube)
275276
S3method(.view_add_overlay_grps,raster_cube)
276277
S3method(.view_add_overlay_grps,vector_cube)
277-
S3method(.view_adjust_palette,default)
278-
S3method(.view_adjust_palette,sar_cube)
279278
S3method(plot,class_cube)
280279
S3method(plot,class_vector_cube)
281280
S3method(plot,geo_distances)

NEWS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# SITS Release History
22

33
# What's new in SITS version 1.5
4+
5+
### Hotfix version 1.5.0-1
6+
* Add multicores processing support for active learning sampling methods
7+
* Remove tapply from `.reg_cube_split_assets()` for R 4.X compatibility
8+
* Fix `sits_merge()` function that was not merging `SAR` and `OPTICAL` cubes
9+
* Rename n_input_pixels back to input_pixels for compatibility with models trained in old versions of the package
10+
* Fix torch usage in Apple M3 by turning off MPS technology
11+
* Fix date parameter usage in `sits_view()`
12+
* Improve `plot()` performance using raster overviews
13+
* Include support for PLANET Mosaic product
14+
415
### New features in SITS version 1.5.0
516
* Support for SENTINEL-1-RTC and SENTINEL-2-L2A in CDSE
617
* Include support for DEA products SENTINEL-1-RTC, LS5-SR, LS7-SR, LS9-SR, ALOS-PALSAR-MOSAIC, NDVI ANOMALY, DAILY CHIRPS, MONTHLY CHIRPS and DEM-30

R/RcppExports.R

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ weighted_uncert_probs <- function(data_lst, unc_lst) {
99
.Call(`_sits_weighted_uncert_probs`, data_lst, unc_lst)
1010
}
1111

12+
dtw_distance <- function(ts1, ts2) {
13+
.Call(`_sits_dtw_distance`, ts1, ts2)
14+
}
15+
1216
C_kernel_median <- function(x, ncols, nrows, band, window_size) {
1317
.Call(`_sits_C_kernel_median`, x, ncols, nrows, band, window_size)
1418
}

R/api_check.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,14 +1364,14 @@
13641364
#' @title Does the result have the same number of pixels as the input values?
13651365
#' @name .check_processed_values
13661366
#' @param values a matrix of processed values
1367-
#' @param n_input_pixels number of pixels in input matrix
1367+
#' @param input_pixels number of pixels in input matrix
13681368
#' @return Called for side effects.
13691369
#' @keywords internal
13701370
#' @noRd
1371-
.check_processed_values <- function(values, n_input_pixels) {
1371+
.check_processed_values <- function(values, input_pixels) {
13721372
.check_set_caller(".check_processed_values")
13731373
.check_that(
1374-
!(is.null(nrow(values))) && nrow(values) == n_input_pixels
1374+
!(is.null(nrow(values))) && nrow(values) == input_pixels
13751375
)
13761376
return(invisible(values))
13771377
}

R/api_classify.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
# Fill with zeros remaining NA pixels
116116
values <- C_fill_na(values, 0)
117117
# Used to check values (below)
118-
n_input_pixels <- nrow(values)
118+
input_pixels <- nrow(values)
119119
# Log here
120120
.debug_log(
121121
event = "start_block_data_classification",
@@ -127,7 +127,7 @@
127127
# Are the results consistent with the data input?
128128
.check_processed_values(
129129
values = values,
130-
n_input_pixels = n_input_pixels
130+
input_pixels = input_pixels
131131
)
132132
# Log
133133
.debug_log(

R/api_combine_predictions.R

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,13 +219,13 @@
219219
# Average probability calculation
220220
comb_fn <- function(values, uncert_values = NULL) {
221221
# Check values length
222-
n_input_pixels <- nrow(values[[1]])
222+
input_pixels <- nrow(values[[1]])
223223
# Combine by average
224224
values <- weighted_probs(values, weights)
225225
# get the number of labels
226226
n_labels <- length(sits_labels(cubes[[1]]))
227227
# Are the results consistent with the data input?
228-
.check_processed_values(values, n_input_pixels)
228+
.check_processed_values(values, input_pixels)
229229
.check_processed_labels(values, n_labels)
230230
# Return values
231231
values
@@ -244,13 +244,13 @@
244244
# Average probability calculation
245245
comb_fn <- function(values, uncert_values) {
246246
# Check values length
247-
n_input_pixels <- nrow(values[[1]])
247+
input_pixels <- nrow(values[[1]])
248248
# Combine by average
249249
values <- weighted_uncert_probs(values, uncert_values)
250250
# get the number of labels
251251
n_labels <- length(sits_labels(cubes[[1]]))
252252
# Are the results consistent with the data input?
253-
.check_processed_values(values, n_input_pixels)
253+
.check_processed_values(values, input_pixels)
254254
.check_processed_labels(values, n_labels)
255255
# Return values
256256
values

0 commit comments

Comments
 (0)