| initNormMix {mritc} | R Documentation | 
Get the Initial Estimate of the Parameters of a Normal Mixture Model
Description
Obtain initial estimation of proportions, means, and standard deviations of different components (tissue types for MRI) based on threshold values generated by Otsu's method implemented by a fast algorithm, or proportion of different components.
Usage
   initOtsu(y, m)
   initProp(y, prop)
Arguments
| y | a vector of intensity values of an image. | 
| m | number of classes (tissue types for MRI) minus 1. | 
| prop | the initial estimate of proportion of different components. | 
Details
The exhaustive search part of the function for Otsu's algorithm
is adapted from combn.  For
initProp, the threshold values are
quantiles based on the initial estimate of proportion of different
components.
Value
| prop | a vector of initial estimate of the proportions of different components (tissue types for MRI). | 
| mu | a vector of initial estimate of the means of different components (tissue types for MRI). | 
| sigma | a vector of initial estimates of the standard deviations of different components (tissue types for MRI). | 
Note
For initOtsu, it supports any number of
m. However, for MRI data, it can be slow if m is bigger
than 3 even with the fast algorithm implemented, since
the Otsu's algorithm uses an exhaustive search. But it should be
fine with m equal to 2, which corresponds to the
typical case in MRI classification with three major tissue types CSF, GM,
and WM.
References
Nobuyuki Otsu (1979). A threshold selection method from gray-level histograms IEEE Transactions on Systems, Man and Cybernetics vol. 9, 62-66
Ping-Sung Liao, Tse-Sheng Chen and Pau-Choo Chung (2001) A Fast Algorithm for Multilevel Thresholding Journal of Information Science and Engineering vol. 17, 713-727
Examples
  #Example 1
  prop <- c(.3, .4, .3)
  mu <- c(40,  90, 130)
  sigma <- c(4, 8, 4)
  y <- floor(rnormmix(n=100000, prop, mu, sigma)[,1])
  initOtsu(y, 2)
  initProp(y, prop)
  #Example 2
  T1 <- readMRI(system.file("extdata/t1.rawb.gz", package="mritc"),
                c(91,109,91), format="rawb.gz")
  mask <-readMRI(system.file("extdata/mask.rawb.gz", package="mritc"),
                 c(91,109,91), format="rawb.gz")
  initOtsu(T1[mask==1], 2)
  initProp(T1[mask==1], c(0.17, 0.48, 0.35))