Learn R Programming

⚠️There's a newer version (1.12.0) of this package.Take me there.

SITS - Satellite Image Time Series Analysis for Earth Observation Data Cubes

Overview

The sits R package provides a set of tools for analysis, visualization and classification of satellite image time series. The main aim of SITS is to support land cover and land change classification of image data cubes using machine learning methods. The basic workflow in SITS is:

  1. Create a data cube using image collections available in the cloud or in local machines.
  2. Extract time series from the data cube which are used as training data.
  3. Perform quality control and filtering on the samples.
  4. Train a machine learning model using the extracted samples.
  5. Classify the data cube using the trained model.
  6. Post-process the classified images.
  7. Evaluate the accuracy of the classification using best practices.

Installation

Pre-Requisites

The sits package relies on sf, terra and raster, which in turn, require the installation of the GDAL and PROJ libraries. Please follow the instructions for installing sf together with GDAL available at the RSpatial sf github repository.

Obtaining SITS

SITS is currently available on github, as follows:

# Please install the `sits` package from github
# and its dependencies
devtools::install_github("e-sensing/sits", dependencies = TRUE)
library(sits)
library(tibble)
library(magrittr)

AMI Image

For users that have an AWS account, we have prepared a set of AMI (Amazon Machine Images that are optimized for running SITS in the Amazon Elastic Compute Cloud (or EC2). The AMI has the following settings: SITS 0.9.6, Ubuntu 18.04, R 4.0.2, and Rstudio Server 1.3.959. All packages have been updated as of 21 August 2020. The AMI is available for the following regions:

When you create an EC2 instance based on this AMI, ensure that your ‘security group’ settings allow incoming HTTP (port 80), HTTPS (port 443) and SSH (port 20) traffic. After the EC2 instance is started, then copy-and-paste the ‘IPv4 Public IP’ address for your running instance to a web browser address bar. That should bring the RStudio server interface in your browser. Use “rstudio” as username and “e-sensing” as password.

Data Cubes

SITS has been designed to work with big satellite image data sets organised as data cubes. Data cubes can be available in the cloud or in a local machine. Currently, SITS supports data cubes available in the following cloud services:

  1. Sentinel-2/2A level 2A images in AWS.
  2. Collections of Sentinel, Landsat and CBERS images in the Brazil Data Cube (BDC).
  3. Sentinel-2/2A collections available in Digital Earth Africa.
  4. Data cubes produced by the “gdalcubes” package.
  5. Local image collections organized as raster stacks.

SITS relies on STAC services provided by these cloud services. The user can define a data cube by selecting a collection in a cloud service and then defining a space-time extent. For example, the following code will define a data cube of Sentinel-2/2A images using AWS. Users need to provide AWS credentials using environment variables.

s2_cube <- sits_cube(source = "AWS",
                     name = "T20LKP_2018_2019",
                     collection = "sentinel-s2-l2a",
                     tiles = c("20LKP"),
                     start_date = as.Date("2018-07-18"),
                     end_date = as.Date("2018-07-23"),
                     s2_resolution = 20
)

In the above example, the user has selected the “Sentinel-2 Level 2” collection in the AWS cloud services. The geographical area of the data cube is defined by the tile “20LKP”, and the temporal extent by a start and end date. Access to other cloud services works in similar ways.

Users can derive data cubes from ARD data which have pre-defined temporal resolutions. For example, a user may want to define the best Sentinel-2 pixel in a one month period, as shown below. This can be done in SITS by the sits_regularize which use the https://github.com/appelmar/gdalcubes package. For details in gdalcubes, please see Reference [4].

gc_cube <- sits_regularize(cube   = s2_cube,
                           name          = "T20LKP_2018_2019_1M",
                           dir_images    = tempdir(),
                           period        = "P1M",
                           agg_method    = "median",
                           resampling    = "bilinear",
                           cloud_mask    = TRUE)

Accessing time series in data cubes

SITS has been designed to use satellite image time series to derive machine learning models. After the data cube has been created, time series can be retreived individually or by using CSV or SHP files, as in the following example.

library(sits)
#> SITS - satellite image time series analysis.
#> Loaded sits v0.12.0.
#>         See ?sits for help, citation("sits") for use in publication.
#>         See demo(package = "sits") for examples.
#> Using configuration file: /Library/Frameworks/R.framework/Versions/4.1/Resources/library/sits/extdata/config.yml
#> Additional configurations found in /Library/Frameworks/R.framework/Versions/4.1/Resources/library/sits/extdata/config_user_example.yml
# create a cube from a local file 
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")

raster_cube <- sits_cube(
    source = "LOCAL",
    name = "sinop-2014",
    satellite = "TERRA",
    sensor = "MODIS",
    data_dir = data_dir,
    delim = "_",
    parse_info = c("X1", "X2", "tile", "band", "date")
)

# obtain a set of locations defined by a CSV file
csv_raster_file <- system.file("extdata/samples/samples_sinop_crop.csv",
                               package = "sits")

# retrieve the points from the data cube
points <- sits_get_data(raster_cube, file = csv_raster_file)
#> All points have been retrieved

# show the points
points[1:3,]
#> # A tibble: 3 x 7
#>   longitude latitude start_date end_date   label   cube       time_series      
#>       <dbl>    <dbl> <date>     <date>     <chr>   <chr>      <list>           
#> 1     -55.7    -11.8 2013-09-14 2014-08-29 Pasture sinop-2014 <tibble [23 × 3]>
#> 2     -55.6    -11.8 2013-09-14 2014-08-29 Pasture sinop-2014 <tibble [23 × 3]>
#> 3     -55.7    -11.8 2013-09-14 2014-08-29 Forest  sinop-2014 <tibble [23 × 3]>

After a time series is imported, it is loaded in a tibble. The first six columns contain the metadata: spatial and temporal location, label assigned to the sample, and coverage from where the data has been extracted. The spatial location is given in longitude and latitude coordinates. The first sample has been labelled “Pasture”, at location (-55.65931, -11.76267), and is considered valid for the period (2013-09-14, 2014-08-29). To display the time series, use the plot() function.

plot(points[1,])

For a large number of samples, where the amount of individual plots would be substantial, the default visualisation combines all samples together in a single temporal interval.

# select the "ndvi" band
samples_ndvi <- sits_select(samples_modis_4bands, "NDVI")

# select only the samples with the cerrado label
samples_cerrado <- dplyr::filter(samples_ndvi, 
                  label == "Cerrado")
plot(samples_cerrado)

Clustering for sample quality control

Clustering methods in SITS improve the quality of the samples and to remove those that might have been wrongly labeled or that have low discriminatory power. Good samples lead to good classification maps. sits provides support for sample quality control using Self-organizing Maps (SOM).

The process of clustering with SOM is done by sits_som_map(), which creates a self-organizing map and assesses the quality of the samples. This function uses the “kohonen” R package to compute a SOM grid (see Reference [7] below). Each sample is assigned to a neuron, and neurons are placed in the grid based on similarity. The second step is the quality assessment. Each neuron will be associated with a discrete probability distribution. Homogeneous neurons (those with a single class) are assumed to be composed of good quality samples. Heterogeneous neurons (those with two or more classes with significant probability) are likely to contain noisy samples. See Chapter 4 of the sits book.

Filtering

Satellite image time series are contaminated by atmospheric influence and directional effects. To make the best use of available satellite data archives, methods for satellite image time series analysis need to deal with data sets that are noisy and non-homogeneous. For data filtering, sits supports Savitzky–Golay (sits_sgolay()), Whittaker (sits_whittaker()), and envelope (sits_envelope()). As an example, we show how to apply the Whittaker smoother to a 16-year NDVI time series. For more details, please see the vignette “Satellite Image Time Series Filtering with SITS”

# apply Whitaker filter to a time series sample for the NDVI band from 2000 to 2016
# merge with the original data
# plot the original and the modified series
point_ndvi <- sits_select(point_mt_6bands, bands = "NDVI")
point_ndvi %>% 
    sits_filter(sits_whittaker(lambda = 10)) %>% 
    sits_merge(point_ndvi) %>% 
    plot()

Time Series classification using machine learning

SITS provides support for the classification of both individual time series as well as data cubes. The following machine learning methods are available in SITS:

  • Linear discriminant analysis (sits_lda)
  • Quadratic discriminant analysis (sits_qda)
  • Multinomial logit and its variants ‘lasso’ and ‘ridge’ (sits_mlr)
  • Support vector machines (sits_svm)
  • Random forests (sits_rfor)
  • Extreme gradient boosting (sits_xgboost)
  • Deep learning (DL) using multi-layer perceptrons (sits_deeplearning)
  • DL using Deep Residual Networks (sits_ResNet) (see reference [5])
  • DL combining 1D convolution neural networks and multi-layer perceptrons (sits_TempCNN) (See reference [6])

The following example illustrate how to train a dataset and classify an individual time series. First we use the sits_train function with two parameters: the training dataset (described above) and the chosen machine learning model (in this case, extreme gradient boosting). The trained model is then used to classify a time series from Mato Grosso Brazilian state, using sits_classify. The results can be shown in text format using the function sits_show_prediction or graphically using plot.

# training data set
data("samples_modis_4bands")

# point to be classified
data("point_mt_6bands")

# Select the NDVI and EVI bands 
# Filter the band to reduce noise
# Train a deep learning model
tempCNN_model <- samples_modis_4bands %>% 
    sits_select(bands = c("NDVI", "EVI")) %>% 
    sits_whittaker(bands_suffix = "") %>% 
    sits_train(ml_method = sits_TempCNN(verbose = FALSE)) 

# Select NDVI and EVI bands of the  point to be classified
# Filter the point 
# Classify using TempCNN model
# Plot the result
point_mt_6bands %>% 
  sits_select(bands = c("ndvi", "evi")) %>% 
  sits_whittaker(bands_suffix = "") %>% 
  sits_classify(tempCNN_model) %>% 
  plot()

The following example shows how to classify a data cube organised as a set of raster images. The result can also be visualised interactively using sits_view().

# Retrieve the set of samples for the Mato Grosso region 
# Select the data for classification
# Reduce noise the bands using whittaker filter
# Build an extreme gradient boosting model
xgb_model <- samples_modis_4bands %>% 
    sits_select(bands = c("NDVI", "EVI")) %>% 
    sits_whittaker(bands_suffix = "") %>% 
    sits_train(ml_method = sits_xgboost())

# Create a data cube to be classified
# Cube is composed of MOD13Q1 images from the Sinop region in Mato Grosso (Brazil)
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
sinop <- sits_cube(
    source = "LOCAL",
    name = "sinop-2014",
    satellite = "TERRA",
    sensor = "MODIS",
    data_dir = data_dir,
    delim = "_",
    parse_info = c("X1", "X2", "tile", "band", "date")
)

# Classify the raster cube, generating a probability file
# Filter the pixels in the cube to remove noise
probs_cube <- sits_classify(sinop, 
                            ml_model = xgb_model, 
                            filter_fn = sits_whittaker())
# apply a bayesian smoothing to remove outliers
bayes_cube <- sits_smooth(probs_cube)
# generate a thematic map
label_cube <- sits_label_classification(bayes_cube)
# plot the the labelled cube
plot(label_cube, title = "Labelled image")

Additional information

For more information, please see the on-line book “SITS: Data analysis and machine learning for data cubes using satellite image timeseries”.

References

Reference paper for sits

If you use sits on academic works, please cite the following paper:

  • [1] Rolf Simoes, Gilberto Camara, Gilberto Queiroz, Felipe Souza, Pedro R. Andrade, Lorena Santos, Alexandre Carvalho, and Karine Ferreira. “Satellite Image Time Series Analysis for Big Earth Observation Data”. Remote Sensing, 13, p. 2428, 2021. https://doi.org/10.3390/rs13132428.

Additionally, the sample quality control methods that use self-organised maps are described in the following reference:

  • [2] Lorena Santos, Karine Ferreira, Gilberto Camara, Michelle Picoli, Rolf Simoes, “Quality control and class noise reduction of satellite image time series”. ISPRS Journal of Photogrammetry and Remote Sensing, vol. 177, pp 75-88, 2021. https://doi.org/10.1016/j.isprsjprs.2021.04.014.

Papers that use sits to produce LUCC maps

  • [3] Rolf Simoes, Michelle Picoli, et al., “Land use and cover maps for Mato Grosso State in Brazil from 2001 to 2017”. Sci Data 7, 34 (2020).

  • [4] Michelle Picoli, Gilberto Camara, et al., “Big Earth Observation Time Series Analysis for Monitoring Brazilian Agriculture”. ISPRS Journal of Photogrammetry and Remote Sensing, 2018. DOI: 10.1016/j.isprsjprs.2018.08.007

  • [5] Karine Ferreira, Gilberto Queiroz et al., Earth Observation Data Cubes for Brazil: Requirements, Methodology and Products. Remote Sens. 2020, 12, 4033.

Papers that describe software used in sits

We thank the authors of these papers for making their code available to be used in sits.

  • [6] Appel, Marius, and Edzer Pebesma, “On-Demand Processing of Data Cubes from Satellite Image Collections with the Gdalcubes Library.” Data 4 (3): 1–16, 2020.

  • [7] Hassan Fawaz, Germain Forestier, Jonathan Weber, Lhassane Idoumghar, and Pierre-Alain Muller, “Deep learning for time series classification: a review”. Data Mining and Knowledge Discovery, 33(4): 917–963, 2019.

  • [8] Pelletier, Charlotte, Geoffrey I. Webb, and Francois Petitjean. “Temporal Convolutional Neural Network for the Classification of Satellite Image Time Series.” Remote Sensing 11 (5), 2019.

  • [9] Wehrens, Ron and Kruisselbrink, Johannes. “Flexible Self-Organising Maps in kohonen 3.0”. Journal of Statistical Software, 87, 7 (2018).

R packages used in sits

The authors acknowledge the contributions of Marius Appel, Tim Appelhans, Henrik Bengtsson, Matt Dowle, Robert Hijmans, Edzer Pebesma, and Ron Wehrens, respectively chief developers of the packages “gdalcubes”, “mapview”, “future”, “data.table”, “terra/raster”, “sf”/“stars”, and “kohonen”. The code in “sits” is also much indebted to the work of the RStudio team, including the “tidyverse” and the “furrr” and “keras” packages. We also thank Charlotte Pelletier and Hassan Fawaz for sharing the python code that has been reused for the “TempCNN” and “ResNet” machine learning models.

How to contribute

The SITS project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Copy Link

Version

Install

install.packages('sits')

Monthly Downloads

526

Version

0.13.0

License

GPL-2 | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Gilberto Camara

Last Published

February 13th, 2025

Functions in sits (0.13.0)

config_functions

Get values from config file
.config_data_meta_type

meta-type for data
cerrado_2classes

Samples of classes Cerrado and Pasture
cube_functions

Auxiliary functions for sits cubes
check_functions

Auxiliary check functions
.config

Reads a configuration file and loads it in the main environment
config_show

Shows the contents of the sits configuration file
.aws_bands

Get aws sits bands by resolution
.aws_bands_band_name

Get aws source bands by resolution
.aws_check_environment

Check access rights on AWS
.raster_focal

Raster package internal moving window function
.raster_properties

Raster package internal object properties
.raster_gdal_datatype

Convert internal data type to gdal data type
.raster_get_values

Raster package internal get values function
.raster_resample_method

Convert sits internal resample methods
.sits_accuracy_area_assess

Support for Area-weighted post-classification accuracy
.raster_read_stack

Raster package internal read raster stack file function
.raster_check_block

Check for block object consistency
.deafrica_search_tiles

Search items tiles
.raster_set_values

Raster package internal set values function
.raster_data_type

Raster package internal data type representation
.raster_params_file

Determine the file params to write in the metadata
.sits_classify_check_params

Check clasification parameters
.raster_check_package

Check for raster package availability
.raster_extract

Raster package internal extract values function
.sits_cube_extract

Given a band, return a set of values for chosen location
.raster_merge

Merge all input files into one raster file
.raster_new_rast

Raster package internal create raster object function
.sits_cluster_validity

Cluster validity indices
.sits_csv_check

Check if a CSV tibble is valid
.sits_distances

Use time series values as distances for training patterns
.raster_crop

Raster package internal crop raster function
.sits_ml_normalization_param

Normalize the time series in the given sits_tibble
.sits_label_cube

Create a set of RasterLayer objects to store data cube classification results (labelled classes)
.sits_ml_model_samples

Get the samples from a ml_model
.sits_distances_classify

Classify a distances tibble using machine learning models
.sits_parallel_start

Start a new sits cluster for parallel processing
.sits_classify_interval

Classify one interval of data
.sits_cluster_dendro_bestcut

Compute validity indexes to a range of cut height
.sits_classify_multicores

Classify a chunk of raster data using multicores
.sits_cluster_dendrogram

Compute a dendrogram using hierarchical clustering
.sits_cube_probs

Create a set of RasterLayer objects to store data cube classification results (only the probs)
.sits_cube_file_info

Get cube file info
.sits_keras_binary_class

Adjust keras prediction for the binary classification case
.sits_get_data_from_wtss

Obtain one time series from WTSS server and load it on a sits tibble
.sits_proj_from_latlong

Coordinate transformation (lat/long to X/Y)
.sits_ml_normalize_data

Normalize the time series in the given sits_tibble
.sits_plot_classification

Plot classification results
.sits_satveg_timeline_from_txt

Retrieve a timeline from the SATVEG service based on text expression
.raster_read_rast

Raster package internal read raster file function
.raster_rast

Raster package internal object creation
.raster_freq

Raster package internal frequency values function
.sits_bbox_time_series

Find the bounding box for a set of time series
.sits_plot_classified_image

Plot a raster classified image
.sits_plot_ggplot_series_no_na

Plot one timeSeries using ggplot (no NAs present)
.sits_plot_ggplot_together

Plot many timeSeries together using ggplot
.sits_raster_data_read

Read a block of values retrieved from a set of raster images
.sits_brewer_max_colors

Brewer color schemes
.sits_raster_sub_image

Find the dimensions and location of a spatial ROI in a data cube
.sits_cube_source

Get cube source
.sits_gc_date

Extracted date from aggregated cubes
.sits_parallel_stop

Stop all workers of the sits cluster
.sits_gc_database

Create an image_collection object
.sits_raster_data_split

Split a data.table or a matrix for parallel processing
.sits_tibble_align_dates

Aligns dates of time series to a reference date
.raster_open_rast

Raster package internal open raster function
.sits_tibble

Create a sits tibble to store the time series information
.sits_tibble_test

Tests if a sits tibble is valid
.sits_plot_ggplot_series_na

Plot one timeSeries wih NAs using ggplot
.raster_open_stack

Raster package internal open raster stack function
.sits_accuracy_pred_ref

Obtains the predicted value of a reference set
.sits_brewer_color_name

Brewer color schemes
.sits_raster_blocks_estimate

Estimate the number of blocks
.sits_bbox_intersect

Intersection between a bounding box and a cube
.sits_distances_sample

Sample a percentage of a time series distance matrix
.sits_shp_check_validity

Check the validity of the shape file
.sits_timeline_check

Checks that the timeline of all time series of a data set are equal
.sits_cube_clone

Clone a data cube
.sits_function_factory

Create a closure for calling functions with and without data
.sits_raster_sub_image_intersects

Informs if a spatial ROI intersects a data cube
.sits_timeline_match_indexes

Find indexes in a timeline that match the reference dates
.sits_timeline_match

Find dates in the input data cube that match those of the patterns
.sits_cube_area_freq

Given a labelled cube, return the band information
.sits_get_data_from_satveg

Obtain one timeSeries from the EMBRAPA SATVEG server
.sits_cube_bands_check

Check that the requested bands exist in the cube
.sits_smooth_map_layer

Parallel processing of classified images
.sits_plot_title

Create a plot title to use with ggplot
.sits_plot_ggplot_series

Plot one timeSeries using ggplot
.source_new

Creates a s3 class
.sits_get_data_check

check if all points have been retrieved
.sits_plot_allyears

Plot all intervals of one time series for the same lat/long together
.sits_satveg_ts_from_txt

Retrieve a time series from the SATVEG service
.sits_plot_som_map

Plot the SOM grid with neurons labeled
.sits_gc_cube

Create a cube_view object
.sits_s2_aws_tiles

Verify items tiles
.usgs_format_tiles

Format tile parameter provided by users
.sits_cube_fix_name

Fix cube name uniqueness
.sits_proj_format_crs

Checks if the crs provided is valid
.sits_plot_dendrogram

Plot a dendrogram
.sits_satveg_timeline

Retrieve a timeline for the SATVEG service
.sits_cube_create

Creates the description of a data cube
.sits_gc_brick

Create a raster_cube object
.sits_parallel_reset_node

Recreates a cluster worker
sits-package

sits
plot.probs_cube

Generic interface for plotting probability cubes
.stac_add_gdal_vsi

...
sits_ResNet

Train a model using the ResNet model
.sits_gc_cloud_mask

Create an object image_mask with information about mask band
.sits_som_label_neurons

Label neurons
.sits_smooth_gauss_kernel

Compute the 2-D Gaussian kernel
.sits_timeline_during

Find the subset of a timeline that is contained in an interval defined by start_date and end_date
.sits_cube_params_block

Determine the block spatial parameters of a given cube
.sits_roi_bbox.ll

Find the bounding box for a spatial ROI defined as a lat/lon box
plot.classified_image

Generic interface for ploting classified images
.sits_raster_data_get_ts

Extract a time series from raster
.sits_parallel_map

Maps a function to a given list in parallel or sequential processing
.sits_som_paint_neurons

Paint neurons
.sits_ml_normalize_matrix

Normalize the time series values in the case of a matrix
.sits_gc_compose

Save the images based on an aggregation method.
.sits_processing_task_time

Estimate the processing time of a task
.sits_plot_twdtw_class

Plot classification results using the dtwSat package
sits_missing_values

Remove missing values
.sits_ops_compute

Add new sits bands and drops existing.
plot.raster_cube

Generic interface for plotting stack cubes
.sits_plot_together

Plot a set of time series for the same spatio-temporal reference
sits_labels

Returns the information about labels of a data set (tibble or cube)
.sits_raster_sub_image_from_bbox

Extract a sub_image from a bounding box and a cube
.sits_raster_blocks

Define a reasonable block size to process an image subset
.sits_twdtw_matches_to_prediction

Transform patterns from TWDTW format to sits format
.sits_roi_bbox

Find the bounding box for a spatial ROI in a data cube
.sits_raster_data_preprocess

Preprocess a set of values retrieved from a raster
.sits_twdtw_from_tibble

Export data to be used by the dtwSat package
.sits_plot_twdtw_alignments

Plot classification alignments using the dtwSat package
.source_bands_to_source

Convert bands names as source names
sits_debug_log

sits log functions
.sits_shp_point_to_tibble

Obtain a tibble with latitude and longitude points from POINT geometry
.sits_timeline_idx_from_dates

Create a list of time indexes from the dates index
helper_satveg_function

Helper satveg functions
.source_cube

Create a data cube
sits_mlr

Train a sits classification model using multinomial log-linear
.sits_plot_patterns

Plot classification patterns
sits_to_zoo

Export data to be used to the zoo format
.sits_roi_bbox.xy

Find the bounding box for a spatial ROI defined as a bounding box
sits_keras_diagnostics

Diagnostic information about a Keras deep learning model
.sits_roi_bbox.sf

Find the bounding box for a spatial ROI defined as an sf object
samples_mt_6bands

Samples of nine classes for the state of Mato Grosso
sits_accuracy

Area-weighted classification accuracy assessment
.stac_get_bbox

Get the STAC information corresponding to a bbox extent
.sits_smooth_blocks_size_estimate

Estimate the number of blocks to run .sits_split_cluster
.sits_timeline_check_cube

Check cube timeline against requested start and end dates
sits_cluster_dendro

Clusters a set of time series using aglomerative hierarchical clustering
.sits_plot_som_evaluate_cluster

Plot information about confusion between clusters
.sits_shp_polygon_to_tibble

Obtain a tibble from POLYGON geometry
.sits_proj_to_latlong

Coordinate transformation (X/Y to lat/long)
.sits_raster_block_list

Calculate a list of blocks to be read from disk to memory
plot.som_evaluate_cluster

Plot information about confusion between clusters
.source_items_cube

Create a cube object for each tile
%>%

Pipe
.sits_tibble_prediction

Create an empty tibble to store the results of predictions
sits_cluster_frequency

Cluster contigency table
.sits_timeline_valid_date

Test if date fits with the timeline
.sits_tibble_bands_check

Check that the requested bands exist in the samples
sits_label_majority

Post-process a classified data raster with a majority filter
:=

Set by reference in data.table
timeline_2013_2014

The timeline for the sequence of images one year (2013 to 2014)
sits_mlp

Train a deep learning model using multi-layer perceptron
sits_savi

Builds soil-adjusted vegetation index
sits_apply

Apply a function over a time series.
.sits_raster_sub_image_default

Find the dimensions and location of a spatial ROI in a data cube
sits_sgolay

Smooth the time series using Savitsky-Golay filter
.sits_timeline_dist_indexes

Indexes to extract data from a distance table for classification
.sits_timeline_date_format

Find if the date information is correct
.stac_bands_select

Select stac items by sits bands.
sits_sample

Sample a percentage of a time series
source_item_get_functions

Function for retrieving information from a single item
sits_xgboost

Train a model with an extreme gradient boosting machine
timeline_2000_2017

The timeline for the sequence of images for MOD13Q1 collection 6
.source_items_fileinfo

Create an info file from items
.sits_shp_to_tibble

Obtain a tibble with lat/long points to be retrieved from a SHP
.source_items_new

Create an items object
sits_impute_linear

Linear imputation of NA values using C++ implementation
.sits_timeline_class_info

Define the information required for classifying time series
.source_bands_to_sits

Convert bands names as sits bands
sits_TempCNN

Train a model using the Temporal Convolutional Neural Network
source_items_get_functions

Function for retrieving information from multiples items
.source_access_test

Test access in API services
.sits_som_bayes_estimate

Probability of a sample belongs to a cluster using bayesian filter
.sits_tibble_rename

Rename a tibble to use "cube" instead of "coverage"
.sits_tibble_prune

Checks that the timeline of all time series of a data set are equal
.sits_twdtw_breaks

Classify a sits tibble using the matches found by the TWDTW methods
plot

Generic interface for ploting time series
sits_formula_linear

Define a linear formula for classification models
.stac_roi

Get bbox and intersects parameters
.stac_items_query

Creates a query to send to STAC api
sits_qda

Train a classification model using quadratic discriminant analysis
plot.patterns

Generic interface for ploting patterns
plot.predicted

Generic interface for ploting time series predictions
print.sits_area_assessment

Print the area assessment
sits_filter

General function for filtering
point_mt_6bands

A time series sample with data from 2000 to 2016
.usgs_filter_datetime

Filter datetime in STAC items
sits_cube_copy

Creates the contents of a data cube
sits_rfor

Train a SITS classifiction model using random forest algorithm
sits_regularize

Creates a regularized data cube from an irregular one
.source_items_bands_select

Item selection from Bands
samples_modis_4bands

Samples of nine classes for the state of Mato Grosso
plot.keras_model

Generic interface for plotting a Keras model
sits_envelope

Envelope filter
sits_classify

Classify time series or data cube using machine learning models
.stac_datetime

Datetime format
sits_som_clean_samples

Clean samples
print.sits_assessment

Print the values of a confusion matrix
sits_kfold_validate

Cross-validate temporal patterns
sits_bbox

Get the bounding box of the data
sits_bands

Informs the names of the bands
plot.som_map

Generic interface for plotting a SOM map
sits_formula_logref

Define a loglinear formula for classification models
sits_labels_summary

Returns the information about labels of a tibble data set
sits_from_zoo

Import time series in the zoo format to a sits tibble
sits_parallel_fault_tolerant

Fault tolerant version of some parallel functions
sits_interp

Interpolation function of the time series of a sits_tibble
sits_timeline

Obtains the timeline
sits_cluster_clean

Cluster cleaner
sits_accuracy_summary

Print the ssumary of the accuracy
sits_create_folds

Create partitions of a data set
sits_ndwi

Builds normalized difference water index
sits_train

Train sits classification models
`sits_bands<-`

Replaces the names of the bands
sits_to_xlsx

Saves the results of accuracy assessments as Excel files
sits_metadata_to_csv

Export a sits tibble metadata to the CSV format
sits_smooth

Post-process a classified data raster probs using smoothing
sits_lda

Train a sits classification model using linear discriminant analysis
sits_patterns

Create temporal patterns using a generalised additive model (gam)
sits_values

Return the values of a given sits tibble as a list of matrices.
sits_twdtw_classify

Find matches between patterns and time series using TWDTW
sits_show_prediction

Shows the predicted labels for a classified tibble
sits_ranger

Train a sits classifiction model using fast random forest algorithm
sits_som_cluster

Clustering a set of satellite image time series using SOM
sits_mutate_bands

Add new sits bands.
sits_get_data

Obtain time series from different sources
sits_view

Generic interface for visualization of data cube
sits_cube

Defines a data cube
sits_whittaker

Filter the time series using Whittaker smoother
sits_svm

Train a sits classification model using a support vector machine
sits_time_series

Retrieve time series for a row of a sits tibble
ts_zoo

A time series in the ZOO format
`sits_labels<-`

Change labels of a sits tibble
sits_data_to_csv

Export a sits tibble data to the CSV format
sits_merge

Merge two data sets (time series or cubes)
source_tile_items_get_functions

#' @title Function for retrieving information from multiples items related to a single tile.
sits_linear_interp

Interpolation function of the time series in a sits tibble
sits_label_classification

Post-process a classified data raster probs to obtain a labelled image
sits_som_evaluate_cluster

Evaluate cluster
sits_select

Filter bands on a data set (tibble or cube)
sits_som_map

Generate a Kohonen map for sample quality control