Title: | Implements Generic Composite Similarity Measure |
Version: | 0.1.1 |
Description: | Provides implementation of the generic composite similarity measure (GCSM) described in Liu et al. (2020) <doi:10.1016/j.ecoinf.2020.101169>. The implementation is in C++ and uses 'RcppArmadillo'. Additionally, implementations of the structural similarity (SSIM) and the composite similarity measure based on means, standard deviations, and correlation coefficient (CMSC), are included. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
RoxygenNote: | 7.1.1 |
URL: | https://github.com/liuyadong/GCSM |
BugReports: | https://github.com/liuyadong/GCSM/issues |
LinkingTo: | Rcpp, RcppArmadillo |
Imports: | Rcpp |
Suggests: | testthat |
NeedsCompilation: | yes |
Packaged: | 2021-03-27 14:09:10 UTC; yadong |
Author: | Yadong Liu |
Maintainer: | Yadong Liu <liuyadong828@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2021-03-27 14:40:08 UTC |
Composite similarity between vectors
Description
Compute composite measures, GCSM or CMSC, between two vectors.
Usage
cmsc(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
cmsc_e1(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
cmsc_e2(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
gcsm(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
Arguments
x |
A vector. |
y |
The other vector. |
rescale |
Rescale or not before computation. |
xmin , xmax , ymin , ymax |
Normalization parameters. If |
comp |
Variable to return. If |
Details
These functions compute composite measures between vectors. Missing values
are omitted. Normalization parameters are used to rescale x
and y
, and
determine the global minimum (min) and maximum (max). If rescale
is
TRUE
, x
and y
are rescaled to (x-xmin)/(xmax-xmin)
and
(y-ymin)/(ymax-ymin)
; and set min=0
, max=1
. If FALSE
,
min=min(xmin,ymin)
, max=max(xmax,ymax)
.
Value
A number.
Examples
x = runif(9)
gcsm(x, x)
cmsc(x, x)
# mean shift
gcsm(x, x - 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
cmsc(x, x - 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
gcsm(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
cmsc(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
## dissimilarity
y = 1 - x # y is the perfect antianalog of x
gcsm(y, x)
gcsm(y, x - 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
gcsm(y, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
# random noise
noise = rnorm(9, mean = 0, sd = 0.2)
gcsm(x, x + noise, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
cmsc(x, x + noise, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
## dissimilarity
gcsm(y, x + noise, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
Composite similarity on spatial windows
Description
Compute composite measures, GCSM, CMSC or SSIM, on spatial windows.
Usage
cmsc_sw(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
ksize = 9,
globe = FALSE,
comp = "si"
)
cmsc_e1_sw(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
ksize = 9,
globe = FALSE,
comp = "si"
)
cmsc_e2_sw(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
ksize = 9,
globe = FALSE,
comp = "si"
)
gcsm_sw(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
ksize = 9,
globe = FALSE,
comp = "si"
)
ssim_sw(
x,
y,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
ksize = 11,
sigma = 1.5,
globe = FALSE,
comp = "si"
)
Arguments
x |
A matrix. |
y |
The other matrix. |
rescale |
Rescale or not before computation. |
xmin , xmax , ymin , ymax |
Normalization parameters. If |
ksize |
Side length of spatial windows. |
globe |
Are data at the global scale? If |
comp |
Variable to return. If |
sigma |
Standard deviation of Gaussian weighting function depending on the distance between the cell and kernel center. |
Details
These functions slide the spatial window over space. Missing values are
omitted. Normalization parameters are used to rescale x
and y
, and
determine the global minimum (min) and maximum (max). If rescale
is
TRUE
, x
and y
are rescaled to (x-xmin)/(xmax-xmin)
and
(y-ymin)/(ymax-ymin)
; and set min=0
, max=1
. If FALSE
,
min=min(xmin,ymin)
, max=max(xmax,ymax)
. OpenMP is used for parallel
computing.
Value
A matrix.
Examples
x = matrix(runif(36), nrow = 6, ncol = 6)
gcsm_sw(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1, ksize = 3)
cmsc_sw(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1, ksize = 3)
ssim_sw(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1, ksize = 3)
Composite similarity on temporal windows
Description
Compute composite measures, GCSM or CMSC, on temporal windows.
Usage
cmsc_tw(
xxx,
yyy,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
cmsc_e1_tw(
xxx,
yyy,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
cmsc_e2_tw(
xxx,
yyy,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
gcsm_tw(
xxx,
yyy,
rescale = FALSE,
xmin = NA_real_,
xmax = NA_real_,
ymin = NA_real_,
ymax = NA_real_,
comp = "si"
)
Arguments
xxx |
A 3-d array with the 3rd dimension representing time. |
yyy |
The other 3-d array. |
rescale |
Rescale or not before computation. |
xmin , xmax , ymin , ymax |
Normalization parameters. If |
comp |
Variable to return. If |
Details
These functions slide the temporal window over space. Missing values are
omitted. Normalization parameters are used to rescale xxx
and yyy
, and
determine the global minimum (min) and maximum (max). If rescale
is
TRUE
, xxx
and yyy
are rescaled to (xxx-xmin)/(xmax-xmin)
and
(yyy-ymin)/(ymax-ymin)
; and set min=0
, max=1
. If FALSE
,
min=min(xmin,ymin)
, max=max(xmax,ymax)
. OpenMP is used for parallel
computing.
Value
A matrix.
Examples
x = array(runif(81), dim = c(3, 3, 9))
gcsm_tw(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)
cmsc_tw(x, x + 0.2, xmin = 0, xmax = 1, ymin = 0, ymax = 1)