Description Usage Arguments Details References See Also Examples
Threshold a contrast parameter at one or several values.
1 2 3 4 5 6 7 8 9 10 | ## S4 method for signature 'MRIaggr'
calcThresholdMRIaggr(object, param, hemisphere = "both", rm.CSF = FALSE,
threshold = 1:10, decreasing = FALSE,
GRalgo = FALSE, W = "ifany", seed = NULL, numeric2logical = FALSE, W.range,
W.spatial_res = rep(1,3), name_newparam = paste(param,"Th", sep = "_"),
verbose = optionsMRIaggr("verbose"), update.object = FALSE, overwrite = FALSE)
calcThreshold(contrast, param, hemisphere = NULL, rm.CSF = FALSE, threshold = 1:10,
decreasing = FALSE, GRalgo = FALSE, W = NULL, seed = NULL,
numeric2logical = FALSE, verbose = optionsMRIaggr("verbose"))
|
object |
an object of class |
contrast |
the dataset containing the contrast parameter to be thresholded. matrix. REQUIRED. |
param |
the contrast parameters to be thresholded. character vector. REQUIRED. |
hemisphere |
the hemisphere to consider. character or |
rm.CSF |
should the cerebral spinal fluid observations be excluded ? logical or character. |
threshold |
the thresholds to be used for the discretization of the contrast parameter. numeric vector. |
decreasing |
should the increasing thresholding ( |
GRalgo |
should a Growing Region algorithm be used to clean the thresholded parameter ? logical. |
W |
the neighbourhood matrix. dgCMatrix or |
seed |
the index of the seeds for the growing region algorithm . positive integer vector. |
numeric2logical |
should |
W.range |
only distances smaller than |
W.spatial_res |
a dilatation factor for the coordinates. positive numeric vector of size 3. |
name_newparam |
the name of the new parameters. character. |
verbose |
should the execution of the function be traced ? logical. |
update.object |
should the resulting thresholded parameters be stored in |
overwrite |
contrast parameters with the same names are already stored in |
These functions require to have installed the Matrix and the spam package to work when argument GRalgo is set to TRUE.
ARGUMENTS:
[data.frame method] the hemisphere argument must be one of the levels present in the column named "hemisphere" in data. NULL leading to use all observations.
[MRIaggr method] Information about the hemisphere arguments can be found in the details section of selectContrast.
FUNCTION:
[data.frame method] By default the indicator of CSF will be extract from the column named CSF.
If it is contained in another column the user must specify rm.CSF with the name of this column.
[MRIaggr method] Setting rm.CSF to TRUE require to have the corresponding parameter (by default CSF) stored in the object.
It can be done using calcTissueType.
Chantal Revol and Michel Jourlin. A new minimum varance region growing algorithm for image segmentation. Pattern Recognition Letters, 18(3):249-258,1997.
selectContrast to select contrast parameters in the MRIaggr object.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ## load a MRIaggr object
data(MRIaggr.Pat1_red, package = "MRIaggr")
#### 1- MRIaggr method
## raw parameter
multiplot(MRIaggr.Pat1_red, param = "TTP_t0", legend = FALSE, main = "TTP_t0 - slice ",
palette=rainbow(10), breaks = seq(0,10) - 10^{-10})
## thresholded parameter
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)
multiplot(MRIaggr.Pat1_red, param = "TTP.th_t0", main = "TTP.th_t0 - slice",
legend = FALSE,palette = rainbow(10), breaks = (0:10) - 10^{-10})
## Not run:
## 1st correction
calcThresholdMRIaggr(MRIaggr.Pat1_red, param = c("TTP_t0","MTT_t0"),threshold = 1:10,
rm.CSF = TRUE, hemisphere = "lesion",
name_newparam = c("TTP.red_t0","MTT.red_t0"),
update.object = TRUE, overwrite = TRUE)
multiplot(MRIaggr.Pat1_red, param = "TTP.red_t0", main = "TTP.red_t0 - slice",
legend = FALSE, palette = rainbow(10), breaks = (0:10) - 10^{-10})
## 2nd correction
calcThresholdMRIaggr(MRIaggr.Pat1_red, param = c("TTP_t0","MTT_t0"), threshold = 1:10,
rm.CSF = TRUE, hemisphere = "lesion", name_newparam = c("TTP.GR_t0","MTT.GR_t0"),
GRalgo = TRUE, seed = c("MASK_T2_FLAIR_t2","MASK_DWI_t0"), W.range = sqrt(2),
update.object = TRUE, overwrite = TRUE)
multiplot(MRIaggr.Pat1_red, param = "TTP.GR_t0", main = "TTP.GR_t0 - slice",
legend = FALSE, palette = rainbow(10), breaks = (0:10) - 10^{-10})
#### 2- data.frame function ####
## raw parameter
multiplot(MRIaggr.Pat1_red, param = "TTP_t0", legend = FALSE, main = "TTP_t0 - slice ",
palette=rainbow(10), breaks = seq(0,10) - 10^{-10})
## thresholded parameter
data <- selectContrast(MRIaggr.Pat1_red,
param = c("TTP_t0","MTT_t0","hemisphere","CSF","WM","GM"))
hypo_Th1_10 <- calcThreshold(data,param = c("TTP_t0","MTT_t0"), threshold = 1:10)
multiplot(selectCoords(MRIaggr.Pat1_red), main = "TTP_t0_th - slice ",
hypo_Th1_10[,1], legend = FALSE, palette = rainbow(10), breaks = (0:10) - 10^{-10})
## 1st correction
data$CSF <- as.numeric(apply(data[,c("CSF","WM","GM")], 1, which.max) == 1)
hypoC_Th1_10 <- calcThreshold(data,param = c("TTP_t0","MTT_t0"), threshold = 1:10,
hemisphere = "left", rm.CSF = TRUE)
multiplot(selectCoords(MRIaggr.Pat1_red), main = "TTP_t0_thC - slice",
hypoC_Th1_10[,1], legend = FALSE, palette = rainbow(10), breaks = (0:10) - 10^{-10})
## 2nd correction
maskN <- c("MASK_T2_FLAIR_t2","MASK_DWI_t0")
data[, maskN] <- selectContrast(MRIaggr.Pat1_red, param = maskN)
W <- calcW(MRIaggr.Pat1_red, range = sqrt(2 * 1.875^2 + 0.001), row.norm = TRUE, upper = NULL,
spatial_res = c(1.875,1.875,6))$W
max(spam::rowSums(W > 0))
hypoCC_Th1_10 <- calcThreshold(data, param = c("TTP_t0","MTT_t0"), threshold = 1:10,
hemisphere = "left", rm.CSF = TRUE,
GRalgo = TRUE, seed = c("MASK_T2_FLAIR_t2","MASK_DWI_t0"), W = W)
multiplot(selectCoords(MRIaggr.Pat1_red), main = "TTP_t0_thCC - slice",
hypoCC_Th1_10[,1], legend = FALSE, palette = rainbow(10), breaks = (0:10) - 10^{-10})
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.