1 简介
目的:磁共振成像( magnetic resonance imaging , MRI)对脑组织有较好的成像效果,但噪声,偏移场和部分容积效应( partial volume effect , PVE)的存在,使得全自动分割MRI图像面临一定的困难.模糊C均值(fuzzy C-means, FCM)聚类算法在脑组织分割中得到较广泛研究.本文以存在噪声和偏移场影响的脑MRI图像分割为应用背景,研究了大量相关方法,探讨FCM算法分割脑部 图像的改进思想.方法本文主要研究了9种FCM算法的理论基础,并通过脑组织分割实验对各种算法进行了分析.结果比较了不同算法的优劣,给出各类算法直观 及定量评价结果.结论偏移场和噪声对脑磁共振图像组织分类质量有明显影响.其中几种方法可以减弱这些不利影响,但由于难以选择合适的参数,其分类效果并不 理想.如何合理利用空间信息在未来仍有较大研究价值.
2 部分代码
function [center, U, obj_fcn] = FCMClust(data, cluster_n, options)
% FCMClust.m 采用模糊C均值对数据集data聚为cluster_n类
%
% 用法:
% 1. [center,U,obj_fcn] = FCMClust(Data,N_cluster,options);
% 2. [center,U,obj_fcn] = FCMClust(Data,N_cluster);
%
% 输入:
% data ---- nxm矩阵,表示n个样本,每个样本具有m的维特征值
% N_cluster ---- 标量,表示聚合中心数目,即类别数
% options ---- 4x1矩阵,其中
% options(1): 隶属度矩阵U的指数,>1 (缺省值: 2.0)
% options(2): 最大迭代次数 (缺省值: 100)
% options(3): 隶属度最小变化量,迭代终止条件 (缺省值: 1e-5)
% options(4): 每次迭代是否输出信息标志 (缺省值: 1)
% 输出:
% center ---- 聚类中心
% U ---- 隶属度矩阵
% obj_fcn ---- 目标函数值
% Example:
% data = rand(100,2);
% [center,U,obj_fcn] = FCMClust(data,2);
% plot(data(:,1), data(:,2),'o');
% hold on;
% maxU = max(U);
% index1 = find(U(1,:) == maxU);
% index2 = find(U(2,:) == maxU);
% line(data(index1,1),data(index1,2),'marker','*','color','g');
% line(data(index2,1),data(index2,2),'marker','*','color','r');
% plot([center([1 2],1)],[center([1 2],2)],'*','color','k')
% hold off;
if nargin ~= 2 & nargin ~= 3, %判断输入参数个数只能是2个或3个
error('Too many or too few input arguments!');
end
data_n = size(data, 1); % 求出data的第一维(rows)数,即样本个数
in_n = size(data, 2); % 求出data的第二维(columns)数,即特征值长度
% 默认操作参数
default_options = [2;% 隶属度矩阵U的指数 100; % 最大迭代次数 1e-5; % 隶属度最小变化量,迭代终止条件 1]; % 每次迭代是否输出信息标志
if nargin == 2,
options = default_options;
else %分析有options做参数时候的情况
% 如果输入参数个数是二那么就调用默认的option;
if length(options) < 4, %如果用户给的opition数少于4个那么其他用默认值;
tmp = default_options;
tmp(1:length(options)) = options;
options = tmp;
end
3 仿真结果
4 参考文献
[1]王新宁, 林相波, and 袁珍. "基于FCM聚类算法的MRI脑组织图像分割方法比较研究." 北京生物医学工程 000.003(2015):221-228.
部分理论引用网络文献,若有侵权联系博主删除。
5 MATLAB代码与数据下载地址
见博客主页