Movatterモバイル変換


[0]ホーム

URL:


Type:Package
Version:0.2.2
Title:Bayesian Smoothing of Remote Sensing Image Classification
Maintainer:Gilberto Camara <gilberto.camara.inpe@gmail.com>
Description:A Bayesian smoothing method for post-processing of remote sensing image classification which refines the labelling in a classified image in order to enhance its classification accuracy. Combines pixel-based classification methods with a spatial post-processing method to remove outliers and misclassified pixels.
Encoding:UTF-8
Language:en-US
Depends:R (≥ 4.1.0)
URL:https://github.com/e-sensing/bayesEO/
BugReports:https://github.com/e-sensing/bayesEO/issues
License:GPL-3
ByteCompile:true
Imports:dplyr, ggplot2, grDevices, purrr, Rcpp, stars, stats, terra,tibble, tidyr, tmap, yaml
Suggests:RcppArmadillo, testthat
LinkingTo:Rcpp, RcppArmadillo
RoxygenNote:7.3.2
Collate:'api_check.R' 'bayes_colors.R' 'bayes_label.R' 'bayes_plot.R''bayes_read.R' 'bayes_smooth.R' 'bayes_utils.R''bayes_variance.R' 'RcppExports.R' 'zzz.R'
NeedsCompilation:yes
Packaged:2025-09-24 13:50:43 UTC; gilbertocamara
Author:Gilberto Camara [aut, cre], Renato Assuncao [aut], Rolf Simoes [aut], Felipe Souza [aut]
Repository:CRAN
Date/Publication:2025-09-24 15:00:02 UTC

Compute the 2-D Gaussian kernel

Description

Compute the 2-D Gaussian kernel

Usage

.smooth_gauss_kernel(window_size, sigma)

Arguments

window_size

Size of the neighbourhood.

sigma

Standard deviation of the spatial Gaussian kernel

Value

returns a squared matrix filled with Gaussian function


Function to retrieve bayesEO color table

Description

Returns a color table

Usage

bayes_colors()

Value

A tibble with color names and values

Author(s)

Gilberto Camara,gilberto.camara@inpe.br


Function to show colors in SITS

Description

Shows the default SITS colors

Usage

bayes_colors_show()

Value

no return, called for side effects

Author(s)

Gilberto Camara,gilberto.camara@inpe.br


Label probability images to create categorical maps

Description

Takes a classified image with probabilities, andlabels the image with the pixel of higher probability

Usage

bayes_label(x)

Arguments

x

SpatRaster object with probabilities images

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a SpatRaster object from the file    probs_file <- paste0(data_dir, "/", file)    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # read the probs file    probs <- bayes_read_probs(probs_file, labels)    # produce a labelled map    map <- bayes_label(probs)    # plot the labelled map    bayes_plot_map(map)}

Plot histogram

Description

Plot histogram

Usage

bayes_plot_hist(x, scale = 1, quantile = NULL, sample_size = 15000)

Arguments

x

SpatRaster to be plotted.

scale

Scale factor for SpatRaster

quantile

Threshold of values that will be plotted

sample_size

Number of samples to extract values

Value

A plot object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # get the probability file    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # read the probability file into a SpatRaster    x <- terra::rast(paste0(data_dir, "/", file))    # include the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # associate the labels to the names of the SpatRaster    names(x) <- labels    # calculate the variance    v <- bayes_variance(x)    # Plot the variance histogram    bayes_hist(v, quantile = 0.75)}

Plot labelled map

Description

Plot labelled map

Usage

bayes_plot_map(  x,  legend = NULL,  palette = "Spectral",  xmin = NULL,  xmax = NULL,  ymin = NULL,  ymax = NULL,  tmap_graticules_labels_size = 0.6,  tmap_legend_title_size = 0.7,  tmap_legend_text_size = 0.7,  tmap_legend_bg_color = "white",  tmap_legend_bg_alpha = 0.5,  tmap_max_cells = 1e+06)

Arguments

x

SpatRaster to be plotted.

legend

Named vector that associates labels to colors.

palette

A sequential RColorBrewer palette

xmin

Subset to be shown (xmin)

xmax

Subset to be shown (xmax)

ymin

Subset to be shown (ymin)

ymax

Subset to be shown (ymax)

tmap_graticules_labels_size

Size of graticules labels(default: 0.7)

tmap_legend_title_size

Size of legend title (default: 1.5)

tmap_legend_text_size

Size of legend text (default: 1.2)

tmap_legend_bg_color

Color of legend backgound(default: "white")

tmap_legend_bg_alpha

Transparency of legend background(default: 0.5)

tmap_max_cells

Maximum number of cells for tmap(default = 1e+06)

Value

A plot object

Author(s)

Gilberto Camaragilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # Define location of a probability file    data_dir <- system.file("/extdata/probs",                package = "bayesEO")    # list the file    file <- list.files(data_dir)    # build the full path    probs_file <- paste0(data_dir, "/", file)    # define labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",                "ClearCut_Veg", "Forest", "Wetland")    probs_image <- bayes_read_probs(probs_file, labels)    # Label the probs image    y <- bayes_label(x)    # produce a map of the labelled image    bayes_plot_map(y)}

Plot probability maps

Description

Plot probability maps

Usage

bayes_plot_probs(  x,  scale = 1e-04,  labels = NULL,  palette = "YlGnBu",  tmap_scale = 1)

Arguments

x

SpatRaster to be plotted.

scale

Scaling factor to apply to the data

labels

Labels to be plotted

palette

An RColorBrewer palette

tmap_scale

Global scale parameter for map (default: 1.0)

Value

A plot object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # get the probability file    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # build the full path    probs_file <- paste0(data_dir, "/", file)    # include the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # associate the labels to the names of the SpatRaster    probs <- bayes_read_probs(probs_file, labels)    # Plot the probability image    bayes_plot_probs(probs,                     scale = 0.0001,                     tmap_scale = 1.0)}

Plot RGB data cubes

Description

Plot RGB raster cube

Usage

bayes_plot_rgb(  image,  red,  green,  blue,  xmin = NULL,  xmax = NULL,  ymin = NULL,  ymax = NULL)

Arguments

image

Object of class SpatRaster.

red

Band for red color.

green

Band for green color.

blue

Band for blue color.

xmin

Subset to be shown (xmin)

xmax

Subset to be shown (xmax)

ymin

Subset to be shown (ymin)

ymax

Subset to be shown (ymax)

Value

A plot object with an RGB image

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {# Define location of a RGB filesrgb_dir <- system.file("/extdata/rgb", package = "bayesEO")# list the filefiles <- list.files(rgb_dir)# build the full pathimage_files <- paste0(rgb_dir, "/", files)rgb_image <- bayes_read_image(image_files)bayes_plot_rgb(rgb_image, red = "B11", green = "B8A", blue = "B03")}

Plot variance maps

Description

Plot variance maps

Usage

bayes_plot_var(  x,  labels = NULL,  quantile = 0.75,  n = 15,  style = "equal",  palette = "YlGnBu",  tmap_scale = 1)

Arguments

x

SpatRaster to be plotted.

labels

Labels to be plotted

quantile

Thereshold of values to be plotted

n

Preferred number of classes

style

Method to process the color scale

palette

An RColorBrewer palette

tmap_scale

Global scale parameter for map (default: 1.5)

Value

A plot object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # get the probability file    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # build the full path    probs_file <- paste0(data_dir, "/", file)    # include the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # associate the labels to the names of the SpatRaster    probs <- bayes_read_probs(probs_file, labels)    # calculate the variance    var <- bayes_variance(probs)    # Plot the variance image    bayes_plot_var(var,        n = 15,        style = "order",        quantile = 0.75,        palette = "YlGn",        labels = c("Forest", "ClearCut_Veg"))}

Read probability maps

Description

Read probability maps

Usage

bayes_read_image(files)

Arguments

files

Full path to raster files

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {# Define location of a probability filedata_dir <- system.file("/extdata/rgb", package = "bayesEO")# list the filefiles <- list.files(data_dir)# build the full pathimage_files <- paste0(data_dir, "/", files)rgb_image <- bayes_read_image(image_files)}

Read probability maps

Description

Read probability maps

Usage

bayes_read_probs(probs_file, labels)

Arguments

probs_file

Full path to raster multi-band filecontaining probability matrices

labels

Labels to be assigned to the bands

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {# Define location of a probability filedata_dir <- system.file("/extdata/probs", package = "bayesEO")# list the filefile <- list.files(data_dir)# build the full pathprobs_file <- paste0(data_dir, "/", file)# define labelslabels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")probs_image <- bayes_read_probs(probs_file, labels)}

Informs if examples should run

Description

This function informs if examples should run.To run the examples, set "BAYES_RUN_EXAMPLES" environmentvariable to "YES" usingSys.setenv("BAYES_RUN_EXAMPLES" = "YES")To come back to the default behaviour, please unsetthe enviroment variableSys.unsetenv("BAYES_RUN_EXAMPLES")

Usage

bayes_run_examples()

Value

A logical value


Informs if tests should run

Description

This function informs if tests should run.To run the examples, set "BAYES_RUN_TESTS" environmentvariable to "YES" usingSys.setenv("BAYES_RUN_TESTS" = "YES")To come back to the default behaviour, please unsetthe enviroment variableSys.unsetenv("BAYES_RUN_TESTS")

Usage

bayes_run_tests()

Value

TRUE/FALSE


Smooth probability images

Description

Takes a classified image with probabilities, and reduces outliersand smoothens probability according to Bayesian statistics

Usage

bayes_smooth(x, window_size = 7, neigh_fraction = 0.5, smoothness = 10)

Arguments

x

SpatRaster object with probabilities images

window_size

Size of the neighborhood.

neigh_fraction

Fraction of neighbors with high probabilitiesto be used in Bayesian inference.

smoothness

Estimated variance of logit of class probabilities(Bayesian smoothing parameter). It can be eithera vector or a scalar.

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a full path for the file    probs_file <- paste0(data_dir, "/", file)    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # read the probs file    probs <- bayes_read_probs(probs_file, labels)    # smooth the probability image    probs_smooth <- bayes_smooth(probs,            window_size = 7,            smoothness = 20    )    # plot the probability image    bayes_plot_probs(probs_smooth)}

Summary of categorical maps

Description

Takes a classified image with probabilities, andlabels the image with the pixel of higher probability

Usage

bayes_summary(x, scale = 1, sample_size = 15000)

Arguments

x

SpatRaster categorical object

scale

Scale to apply to data

sample_size

Sample size

Value

A tibble with information

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a SpatRaster object from the file    probs_file <- paste0(data_dir, "/", file)    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # read the probs file    probs <- bayes_read_probs(probs_file, labels)    # produce a labelled map    map <- bayes_label(probs)    # plot the labelled map    bayes_summary(map)}

Calculate the variance of a probability cube

Description

Takes a probability cube and estimate the local varianceof the logit of the probability,to support the choice of parameters for Bayesian smoothing.

Usage

bayes_variance(x, window_size = 9, neigh_fraction = 0.5)

Arguments

x

SpatRaster object containing probabilities.

window_size

Size of the neighborhood.

neigh_fraction

Fraction of neighbors with highest probabilityto be used in Bayesian inference.

Value

A variance SpatRaster object.

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Rolf Simoes,rolf.simoes@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a SpatRaster object from the file    x <- terra::rast(paste0(data_dir, "/", file))    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # name the layers in the SpatRaster with the labels    names(x) <- labels    # calculate the variance    v <- bayes_variance(x)    # plot the variance    bayes_plot_var(v, quantile = 0.75)}

Smooth probability images with Gaussian filter

Description

Takes a classified image with probabilities, and reduces outliersand smoothens probability according to a Gaussian filter

Usage

bilateral_smooth(x, window_size = 5, sigma = 8, tau = 0.1)

Arguments

x

SpatRaster object with probabilities images

window_size

Size of the neighborhood.

sigma

Standard deviation of the spatial Gaussian kernel

tau

Standard deviation of the class probs value

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a full path for the file    probs_file <- paste0(data_dir, "/", file)    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # read the probs file    probs <- bayes_read(probs_file, labels)    # smooth the probability image    bilat <- bilateral_smooth(probs,                              window_size = 5,                              sigma = 8,                              tau = 0.1    )    # plot the probability image    bayes_plot(bilat, scale = 0.0001)}

Smooth probability images with Gaussian filter

Description

Takes a classified image with probabilities, and reduces outliersand smoothens probability according to a Gaussian filter

Usage

gaussian_smooth(x, window_size = 5, sigma = 1)

Arguments

x

SpatRaster object with probabilities images

window_size

Size of the neighborhood.

sigma

Standard deviation of the spatial Gaussian kernel

Value

A SpatRaster object

Author(s)

Gilberto Camara,gilberto.camara@inpe.br

Examples

if (bayes_run_examples()) {    # select a file with probability values    data_dir <- system.file("/extdata/probs/", package = "bayesEO")    file <- list.files(data_dir)    # create a full path for the file    probs_file <- paste0(data_dir, "/", file)    # provide the labels    labels <- c("Water", "ClearCut_Burn", "ClearCut_Soil",             "ClearCut_Veg", "Forest", "Wetland")    # read the probs file    probs <- bayes_read(probs_file, labels)    # smooth the probability image    gauss <- gaussian_smooth(probs,            window_size = 5,            sigma = 1    )    # plot the probability image    bayes_plot_probs(gauss)}

[8]ページ先頭

©2009-2025 Movatter.jp