Learn R Programming

MRIaggr (version 1.1.5)

calcSigmaGR: Automatic Growing Region algorithm

Description

Evaluate the quality of the Growing Region partition regarding several homogeneity parameters.

Usage

calcSigmaGR(contrast, W, seed, sigma, criterion.transition = FALSE, criterion.sdfront = FALSE, criterion.entropy = TRUE, criterion.Kalinsky = TRUE, criterion.Laboure = TRUE, verbose = TRUE, ...)

Arguments

contrast
the contrast value of each observation. numeric vector. REQUIRED.
W
the neighbourhood matrix. dgCMatrix. REQUIRED.
seed
the index of the initial seeds or a binary indicator of the initial seeds. positive integer vector or logical vector. REQUIRED.
sigma
the sequence of maximum admissible values for the group variability positive numeric vector. REQUIRED.
criterion.transition
should the boundary criterion based on the transition levels be computed ? logical.
criterion.sdfront
should the boundary criterion based on the standard deviation be computed ? logical.
criterion.entropy
should the region criterion based on the entropy be computed ? logical.
criterion.Kalinsky
should the region criterion based on the Kalinsky index be computed ? logical.
criterion.Laboure
should the region criterion based on the Laboure index be computed ? logical.
verbose
should the execution of the function be traced ? logical.
...
arguments to be passed to calcGR for specifying the settings of the growing region algorithm : range, range.seed, breaks, scale, iter_max, sd.robust, keep.lower and keep.upper.

Value

An list containing :
  • [[df.criterion]] : the value of the clustering criterion (in columns) for each sigma value (in rows). numeric matrix.
  • [[list.GR]] : the list of the optimal GR sets, one for each clustering criterion.
  • [[best]] : the optimal value of each clustering criterion. data.frame.
  • [[n.max]] : the number of observations. integer.

Details

ARGUMENTS: Information about the window, filename, width, height, path, unit and res arguments can be found in the details section of initWindow.

Information about the mar and mgp arguments can be found in par.

FUNCTION: This implementation of the automated Growing Region algorithm was proposed by (Revol et al. 2002) : criterion.transition corresponds to w2, criterion.sdfront corresponds to w3 where m=f(x), criterion.entropy corresponds to S(sigma_max) and criterion.Laboure corresponds to InvDGL(sigma). criterion.Kalinsky corresponds to the Kalinsky criterion which is the ratio of the variance between groups over the variance withing groups.

References

Chantal Revol-Muller, Francoise Peyrin, Yannick Carrillon and Christophe Odet. Automated 3D region growing algorithm based on an assessment function. Pattern Recognition Letters, 23:137-150,2002.

See Also

plotSigmaGR for a graphical display of the quality criteria.

Examples

Run this code
## Not run: 
# ## load an \code{MRIaggr} object
# data(MRIaggr.Pat1_red, package = "MRIaggr")
# 
# calcThresholdMRIaggr(MRIaggr.Pat1_red, param = c("TTP_t0","MTT_t0"), threshold = 1:10,
#                      name_newparam = c("TTP.th_t0","MTT.th_t0"),
#                      update.object = TRUE, overwrite = TRUE)
# 
# ## display raw parameter
# multiplot(MRIaggr.Pat1_red, param="TTP.th_t0", num = 3, numeric2logical = TRUE,
#           index1 = list(coords = "MASK_DWI_t0", outline = TRUE))
# 
# ## extract raw parameter, coordinates and compute the neighbourhood matrix
# carto <- selectContrast(MRIaggr.Pat1_red, num = 3, hemisphere = "lesion",
#                         param = c("TTP.th_t0","TTP_t0","MASK_DWI_t0"))
# coords <- selectCoords(MRIaggr.Pat1_red, num = 3, hemisphere = "lesion")
# W <- calcW(coords, range = sqrt(2))$W
# 
# ## the seed is taken to be the point with the largest TTP in the lesion mask
# indexN <- which(carto$MASK_DWI_t0 == 1)
# seed <- indexN[which.max(carto[indexN,"TTP_t0"])]
# 
# ## find optimal sigma
# resGR_sigma <- calcSigmaGR(contrast = carto$TTP.th_t0, W = W, seed = seed,
#                            sigma = seq(1,4,0.1), iter_max = 50,
#                            keep.upper = TRUE)
# 
# ## display quality criteria according to sigma
# plotSigmaGR(resGR_sigma)
# 
# ## display retained region
# multiplot(MRIaggr.Pat1_red, param = "TTP.th_t0", num = 3, numeric2logical = TRUE,
#           index1 = list(coords = coords[resGR_sigma$list.GR$entropy,], outline = TRUE))
# 
# multiplot(MRIaggr.Pat1_red, param = "TTP.th_t0", num = 3, numeric2logical = TRUE,
#           index1 = list(coords = coords[resGR_sigma$list.GR$Kalinsky,], outline = TRUE))
# 
# ## find optimal sigma
# resGR_sigma <- calcSigmaGR(contrast = carto$TTP.th_t0, W = W, seed = seed,
#                            sigma = seq(1,4,0.1), iter_max = 50,
#                            keep.upper = TRUE, keep.lower = TRUE)
# 
# ## display quality criteria according to sigma
# plotSigmaGR(resGR_sigma)
# 
# ## display retained region
# multiplot(MRIaggr.Pat1_red, param = "TTP.th_t0", num = 3, numeric2logical = TRUE,
#           index1 = list(coords = coords[resGR_sigma$list.GR$entropy,], outline = TRUE))
# 
# multiplot(MRIaggr.Pat1_red, param = "TTP.th_t0", num = 3, numeric2logical = TRUE,
#           index1 = list(coords = coords[resGR_sigma$list.GR$Kalinsky,], outline = TRUE))
# ## End(Not run)

Run the code above in your browser using DataLab