Learn R Programming

sits (version 1.5.2)

sits_smooth: Smooth probability cubes with spatial predictors

Description

Takes a set of classified raster layers with probabilities, whose metadata is]created by sits_cube, and applies a Bayesian smoothing function.

Usage

sits_smooth(cube, ...)

# S3 method for probs_cube sits_smooth( cube, ..., window_size = 9L, neigh_fraction = 0.5, smoothness = 20L, exclusion_mask = NULL, memsize = 4L, multicores = 2L, output_dir, version = "v1" )

# S3 method for probs_vector_cube sits_smooth(cube, ...)

# S3 method for raster_cube sits_smooth(cube, ...)

# S3 method for derived_cube sits_smooth(cube, ...)

# S3 method for default sits_smooth(cube, ...)

Value

A data cube.

Arguments

cube

Probability data cube.

...

Other parameters for specific functions.

window_size

Size of the neighborhood (integer, min = 3, max = 21)

neigh_fraction

Fraction of neighbors with high probabilities to be used in Bayesian inference. (numeric, min = 0.1, max = 1.0)

smoothness

Estimated variance of logit of class probabilities (Bayesian smoothing parameter) (integer vector or scalar, min = 1, max = 200).

exclusion_mask

Areas to be excluded from the classification process. It can be defined as a sf object or a shapefile.

memsize

Memory available for classification in GB (integer, min = 1, max = 16384).

multicores

Number of cores to be used for classification (integer, min = 1, max = 2048).

output_dir

Valid directory for output file. (character vector of length 1).

version

Version of the output (character vector of length 1).

Author

Gilberto Camara, gilberto.camara@inpe.br

Rolf Simoes, rolf.simoes@inpe.br

Examples

Run this code
if (sits_run_examples()) {
    # create am xgboost model
    xgb_model <- sits_train(samples_modis_ndvi, sits_xgboost())
    # create a data cube from local files
    data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
    cube <- sits_cube(
        source = "BDC",
        collection = "MOD13Q1-6.1",
        data_dir = data_dir
    )
    # classify a data cube
    probs_cube <- sits_classify(
        data = cube, ml_model = xgb_model, output_dir = tempdir()
    )
    # plot the probability cube
    plot(probs_cube)
    # smooth the probability cube using Bayesian statistics
    bayes_cube <- sits_smooth(probs_cube, output_dir = tempdir())
    # plot the smoothed cube
    plot(bayes_cube)
    # label the probability cube
    label_cube <- sits_label_classification(
        bayes_cube,
        output_dir = tempdir()
    )
    # plot the labelled cube
    plot(label_cube)
}

Run the code above in your browser using DataLab