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.