catmssim_3d_cube {catsim}R Documentation

Multiscale Categorical Structural Similarity Index Measure for a Cube (3D)

Description

The categorical structural similarity index measure for 3D categorical or binary images for multiple scales. The default is to compute over 5 scales. This computes a 3D measure based on 5x5x5 windows by default with 5 levels of downsampling.

Usage

catmssim_3d_cube(
  x,
  y,
  levels = NULL,
  weights = NULL,
  window = 5,
  method = "Cohen",
  ...,
  random = "random"
)

Arguments

x

a binary or categorical image

y

a binary or categorical image

levels

how many levels of downsampling to use. By default, 5. If weights is specified and this is left blank, the argument will be inferred from the number of weights specified.

weights

a vector of weights for the different scales. By default, equal to rep(1,levels)/levels. If specified, there must at least as many weights as there are levels and the first levels weights will be used.

window

by default 11 for 2D and 5 for 3D images, but can be specified as a vector if the window sizes differ by dimension. The vector must have the same number of dimensions as the inputted x and y.

method

whether to use Cohen's kappa (Cohen), Jaccard Index (Jaccard), Dice index (Dice), accuracy (accuracy), Rand index (Rand), Adjusted Rand Index (AdjRand or ARI), normalized mutual information (NMI or MI) or the adjusted mutual information, AMI and ami, as the similarity index. Note Jaccard and Dice should only be used on binary data.

...

additional constants can be passed to internal functions.

random

whether to have deterministic PRNG (pseudo) or to use sample() (random). If NULL, will choose the first mode. For complete reproducibility, use pseudo or NULL.

Value

a value less than 1 indicating the similarity between the images.

Examples

set.seed(20181207)
dim <- 16
x <- array(sample(0:4, dim^3, replace = TRUE), dim = c(dim, dim, dim))
y <- x
for (j in 1:dim) {
  for (i in 1:dim) y[i, i, j] <- 0
  for (i in 1:(dim - 1)) y[i, i + 1, j] <- 0
}
catmssim_3d_cube(x, y, weights = c(.75, .25))
# Now using a different similarity score
catmssim_3d_cube(x, y, weights = c(.75, .25), method = "Accuracy")

[Package catsim version 0.2.3 Index]