Purpose
使用无监督方法
—GMM对一个T1样本进行分割,得到分割结果:
- wm 白质
- gm 灰质
- csf 脑脊液
- 背景
Data T1
只是展示了其中的一层:
从图上可以看到,白质的信号明显高于灰质的信号,灰质的信号高于脑脊液(和背景)的信号。
T1 Histogram
绘制T1的直方图不可以包含背景部分,背景为0,占比极高;此处的直方图分布使用的非零像素(前景像素)。
在T1上明显的可以看到有4个峰,其实可以使用4个中心来拟合它。不过我们使用了3个中心来拟合,只拟合白质/灰质/脑脊液
,在信号上相对的:
- 高信号——白质
- 中信号——灰质
- 低信号——脑脊液
Sklearn GMM
Read the Image
imageT1 = ...
image = sitk.ReadImage(imageT1)
image_data = sitk.GetArrayFromImage(image)
Train
train_data = image_data
gmm = mixture.GaussianMixture(n_components=3, covariance_type='diag', tol=0.01, max_iter=100, n_init=1, init_params='kmeans')
flatData = train_data.flatten()
gmm.fit(flatData[:,np.newaxis])
label_data = gmm.predict(flatData[:,np.newaxis]).reshape(train_data.shape)
OUT
- https://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html