• sujiraj
    了解作者
  • matlab
    开发工具
  • 1.3MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 25
    下载次数
  • 2014-09-06 22:09
    上传日期
brain stroke area will be detected by this program ,it will undergoes curvlet diagnosis ,the kmeans segmentation .the segmented image will go for feature extraction
BrainStrokeSgementation.rar
  • BrainStrokeSgementation
  • 1
  • ground truth
  • Brain15.png
    38.6KB
  • Brain12.png
    38.5KB
  • brain11.png
    41.8KB
  • Brain_Stroke.png
    50.8KB
  • Brain13.png
    40.2KB
  • Thumbs.db
    5KB
  • Brain14.png
    38.7KB
  • Results
  • Brain15.png
    40.3KB
  • brain11.png
    41.8KB
  • Brain_Stroke.png
    40.5KB
  • Thumbs.db
    5KB
  • Brain14.png
    40.4KB
  • TestData
  • Brain_Stroke.jpg
    16.4KB
  • Thumbs.db
    5KB
  • brain11.jpg
    46.3KB
  • Brain15.jpg
    43.7KB
  • Brain14.jpg
    44.2KB
  • Brain Images
  • ground truth
  • Brain_Stroke3.png
    38.7KB
  • Brain_Stroke.png
    50.8KB
  • Thumbs.db
    5KB
  • Brain_Stroke1.png
    41.3KB
  • Brain_Stroke2.png
    41.5KB
  • Results
  • Brain_Stroke3.png
    40.7KB
  • Brain_Stroke.png
    40.6KB
  • Thumbs.db
    5KB
  • Brain_Stroke1.png
    41.5KB
  • Brain_Stroke2.png
    41.5KB
  • TestData
  • Brain_Stroke.jpg
    16.4KB
  • Brain_Stroke3.jpg
    40.3KB
  • Thumbs.db
    5KB
  • Brain_Stroke2.jpg
    45.9KB
  • Brain_Stroke1.jpg
    45.9KB
  • CVT
  • cvt_lasl_2_llas.m
    862B
  • fft_iso_dwt.m
    2.4KB
  • on_wavelet_filters.m
    1.1KB
  • fft_iso_idwt.m
    1.9KB
  • gauss_denoise_cvt1.m
    1.2KB
  • cellsquare.m
    484B
  • icvt.m
    1.1KB
  • iso_iuwt2_po.m
    1.3KB
  • cart_2_rectopolar.m
    1.4KB
  • cshift2.m
    1.2KB
  • addwgn.m
    805B
  • cellcompare.m
    1.2KB
  • cellpower.m
    517B
  • cellmul.m
    1.2KB
  • cellabs.m
    528B
  • cshift1.m
    930B
  • cellsubtract.m
    1.2KB
  • celldivide.m
    1KB
  • upsample2.m
    484B
  • cellnorm2.m
    582B
  • iso_fuwt2_po.m
    2.2KB
  • ridgelet.m
    1.2KB
  • rectopolar_2_cart.m
    1.3KB
  • cell_cardinality.m
    537B
  • cellnegate.m
    510B
  • fast_cconv2.m
    1.2KB
  • cvt_llas_2_lasl.m
    947B
  • cellmean.m
    508B
  • cellnorms2.m
    530B
  • wave_b3spline_fil.m
    1.4KB
  • iridgelet.m
    1.1KB
  • cellsign.m
    526B
  • celladd.m
    1.1KB
  • local_iridgelet.m
    1.5KB
  • local_ridgelet.m
    1.4KB
  • cvt_th_4_3445_mean_lasl_zero.mat
    7.8KB
  • cvt.m
    1.2KB
  • cellnumel.m
    415B
  • cellnorm1.m
    563B
  • cvt_nest.m
    1.7KB
  • psnr.m
    533B
  • glcmFeatureExtraction.m
    1.2KB
  • BrainTumorSegmentationSVM.m
    2.3KB
  • skullremoved.jpg
    10.1KB
  • PerformenceComprision.m
    1.9KB
  • Original Image.jpg
    11.4KB
  • curveletDenoising.m
    715B
  • LawsTextureMeasures.m
    2.2KB
  • features.mat
    28.6KB
  • svmStructBenignTumorMalignantTumor.mat
    278.3KB
  • GLCM_Features.m
    9.4KB
  • kmeans.jpg
    12.4KB
  • noise removed curvelet.jpg
    12.8KB
  • output.jpg
    37.3KB
  • GetFeatures.m
    607B
  • getGrayLevelFeatures.m
    840B
内容介绍
function [out] = GLCM_Features(glcmin,pairs) warning off; % If 'pairs' not entered: set pairs to 0 if ((nargin > 2) || (nargin == 0)) error('Too many or too few input arguments. Enter GLCM and pairs.'); elseif ( (nargin == 2) ) if ((size(glcmin,1) <= 1) || (size(glcmin,2) <= 1)) error('The GLCM should be a 2-D or 3-D matrix.'); elseif ( size(glcmin,1) ~= size(glcmin,2) ) error('Each GLCM should be square with NumLevels rows and NumLevels cols'); end elseif (nargin == 1) % only GLCM is entered pairs = 0; % default is numbers and input 1 for percentage if ((size(glcmin,1) <= 1) || (size(glcmin,2) <= 1)) error('The GLCM should be a 2-D or 3-D matrix.'); elseif ( size(glcmin,1) ~= size(glcmin,2) ) error('Each GLCM should be square with NumLevels rows and NumLevels cols'); end end format long e if (pairs == 1) newn = 1; for nglcm = 1:2:size(glcmin,3) glcm(:,:,newn) = glcmin(:,:,nglcm) + glcmin(:,:,nglcm+1); newn = newn + 1; end elseif (pairs == 0) glcm = glcmin; end size_glcm_1 = size(glcm,1); size_glcm_2 = size(glcm,2); size_glcm_3 = size(glcm,3); % checked out.autoc = zeros(1,size_glcm_3); % Autocorrelation: [2] out.contr = zeros(1,size_glcm_3); % Contrast: matlab/[1,2] out.corrm = zeros(1,size_glcm_3); % Correlation: matlab out.corrp = zeros(1,size_glcm_3); % Correlation: [1,2] out.cprom = zeros(1,size_glcm_3); % Cluster Prominence: [2] out.cshad = zeros(1,size_glcm_3); % Cluster Shade: [2] out.dissi = zeros(1,size_glcm_3); % Dissimilarity: [2] out.energ = zeros(1,size_glcm_3); % Energy: matlab / [1,2] out.entro = zeros(1,size_glcm_3); % Entropy: [2] out.homom = zeros(1,size_glcm_3); % Homogeneity: matlab out.homop = zeros(1,size_glcm_3); % Homogeneity: [2] out.maxpr = zeros(1,size_glcm_3); % Maximum probability: [2] out.sosvh = zeros(1,size_glcm_3); % Sum of sqaures: Variance [1] out.savgh = zeros(1,size_glcm_3); % Sum average [1] out.svarh = zeros(1,size_glcm_3); % Sum variance [1] out.senth = zeros(1,size_glcm_3); % Sum entropy [1] out.dvarh = zeros(1,size_glcm_3); % Difference variance [4] %out.dvarh2 = zeros(1,size_glcm_3); % Difference variance [1] out.denth = zeros(1,size_glcm_3); % Difference entropy [1] out.inf1h = zeros(1,size_glcm_3); % Information measure of correlation1 [1] out.inf2h = zeros(1,size_glcm_3); % Informaiton measure of correlation2 [1] %out.mxcch = zeros(1,size_glcm_3);% maximal correlation coefficient [1] %out.invdc = zeros(1,size_glcm_3);% Inverse difference (INV) is homom [3] out.indnc = zeros(1,size_glcm_3); % Inverse difference normalized (INN) [3] out.idmnc = zeros(1,size_glcm_3); % Inverse difference moment normalized [3] % correlation with alternate definition of u and s %out.corrm2 = zeros(1,size_glcm_3); % Correlation: matlab %out.corrp2 = zeros(1,size_glcm_3); % Correlation: [1,2] glcm_sum = zeros(size_glcm_3,1); glcm_mean = zeros(size_glcm_3,1); glcm_var = zeros(size_glcm_3,1); % http://www.fp.ucalgary.ca/mhallbey/glcm_mean.htm confuses the range of % i and j used in calculating the means and standard deviations. % As of now I am not sure if the range of i and j should be [1:Ng] or % [0:Ng-1]. I am working on obtaining the values of mean and std that get % the values of correlation that are provided by matlab. u_x = zeros(size_glcm_3,1); u_y = zeros(size_glcm_3,1); s_x = zeros(size_glcm_3,1); s_y = zeros(size_glcm_3,1); % % alternate values of u and s % u_x2 = zeros(size_glcm_3,1); % u_y2 = zeros(size_glcm_3,1); % s_x2 = zeros(size_glcm_3,1); % s_y2 = zeros(size_glcm_3,1); % checked p_x p_y p_xplusy p_xminusy p_x = zeros(size_glcm_1,size_glcm_3); % Ng x #glcms[1] p_y = zeros(size_glcm_2,size_glcm_3); % Ng x #glcms[1] p_xplusy = zeros((size_glcm_1*2 - 1),size_glcm_3); %[1] p_xminusy = zeros((size_glcm_1),size_glcm_3); %[1] % checked hxy hxy1 hxy2 hx hy hxy = zeros(size_glcm_3,1); hxy1 = zeros(size_glcm_3,1); hx = zeros(size_glcm_3,1); hy = zeros(size_glcm_3,1); hxy2 = zeros(size_glcm_3,1); %Q = zeros(size(glcm)); for k = 1:size_glcm_3 % number glcms glcm_sum(k) = sum(sum(glcm(:,:,k))); glcm(:,:,k) = glcm(:,:,k)./glcm_sum(k); % Normalize each glcm glcm_mean(k) = mean2(glcm(:,:,k)); % compute mean after norm glcm_var(k) = (std2(glcm(:,:,k)))^2; for i = 1:size_glcm_1 for j = 1:size_glcm_2 out.contr(k) = out.contr(k) + (abs(i - j))^2.*glcm(i,j,k); out.dissi(k) = out.dissi(k) + (abs(i - j)*glcm(i,j,k)); out.energ(k) = out.energ(k) + (glcm(i,j,k).^2); out.entro(k) = out.entro(k) - (glcm(i,j,k)*log(glcm(i,j,k) + eps)); out.homom(k) = out.homom(k) + (glcm(i,j,k)/( 1 + abs(i-j) )); out.homop(k) = out.homop(k) + (glcm(i,j,k)/( 1 + (i - j)^2)); % [1] explains sum of squares variance with a mean value; % the exact definition for mean has not been provided in % the reference: I use the mean of the entire normalized glcm out.sosvh(k) = out.sosvh(k) + glcm(i,j,k)*((i - glcm_mean(k))^2); %out.invdc(k) = out.homom(k); out.indnc(k) = out.indnc(k) + (glcm(i,j,k)/( 1 + (abs(i-j)/size_glcm_1) )); out.idmnc(k) = out.idmnc(k) + (glcm(i,j,k)/( 1 + ((i - j)/size_glcm_1)^2)); u_x(k) = u_x(k) + (i)*glcm(i,j,k); % changed 10/26/08 u_y(k) = u_y(k) + (j)*glcm(i,j,k); % changed 10/26/08 % code requires that Nx = Ny % the values of the grey levels range from 1 to (Ng) end end out.maxpr(k) = max(max(glcm(:,:,k))); end % glcms have been normalized: % The contrast has been computed for each glcm in the 3D matrix % (tested) gives similar results to the matlab function for k = 1:size_glcm_3 for i = 1:size_glcm_1 for j = 1:size_glcm_2 p_x(i,k) = p_x(i,k) + glcm(i,j,k); p_y(i,k) = p_y(i,k) + glcm(j,i,k); % taking i for j and j for i if (ismember((i + j),[2:2*size_glcm_1])) p_xplusy((i+j)-1,k) = p_xplusy((i+j)-1,k) + glcm(i,j,k); end if (ismember(abs(i-j),[0:(size_glcm_1-1)])) p_xminusy((abs(i-j))+1,k) = p_xminusy((abs(i-j))+1,k) +... glcm(i,j,k); end end end % % consider u_x and u_y and s_x and s_y as means and standard deviations % % of p_x and p_y % u_x2(k) = mean(p_x(:,k)); % u_y2(k) = mean(p_y(:,k)); % s_x2(k) = std(p_x(:,k)); % s_y2(k) = std(p_y(:,k)); end % marginal probabilities are now available [1] % p_xminusy has +1 in index for matlab (no 0 index) % computing sum average, sum variance and sum entropy: for k = 1:(size_glcm_3) for i = 1:(2*(size_glcm_1)-1) out.savgh(k) = out.savgh(k) + (i+1)*p_xplusy(i,k); % the summation for savgh is for i from 2 to 2*Ng hence (i+1) out.senth(k) = out.senth(k) - (p_xplusy(i,k)*log(p_xplusy(i,k) + eps)); end end % compute sum variance with the help of sum entropy for k = 1:(size_glcm_3) for i = 1:(2*(size_glcm_1)-1) out.svarh(k) = out.svarh(k) + (((i+1) - out.senth(k))^2)*p_xplusy(i,k); % the summation for savgh is for i from 2 to 2*Ng hence (i+1) end end % compute difference variance, difference entropy, for k = 1:size_glcm_3 % out.dvarh2(k) = var(p_xminusy(:,k)); % but using the formula in % http://murphylab.web.cmu.edu/publications/boland/boland_node26.html % we have for dvarh for i = 0:(size_glcm_1-1) out.denth(k) = out.denth(k) - (p_xminusy(i+1,k)*log(p_xminusy(i+1,k) + eps)); out.dvarh(k) = out.dvarh(k) + (i^2)*p_xminusy(i+1,k); end end % compute information measure of correlation(1,2) [1] for
评论
    相关推荐
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载
    • MobilePolice.rar
      移动警察,车牌识别,车牌定位系统源代码,已经运用在移动车载稽查系统中。
    • SVM(matlab).rar
      支持向量机(SVM)实现的分类算法源码[matlab]
    • svm.zip
      用MATLAB编写的svm源程序,可以实现支持向量机,用于特征分类或提取
    • Classification-MatLab-Toolbox.rar
      模式识别matlab工具箱,包括SVM,ICA,PCA,NN等等模式识别算法,很有参考价值
    • VC++人脸定位实例.rar
      一个经典的人脸识别算法实例,提供人脸五官定位具体算法及两种实现流程.
    • QPSK_Simulink.rar
      QPSK的Matlab/Simulink的调制解调仿真系统,给出接收信号眼图及系统仿真误码率,包含载波恢复,匹配滤波,定时恢复等重要模块,帮助理解QPSK的系统
    • LPRBPDemo2009KV.rar
      车牌识别,神经网络算法,识别率高达95%,识别时间低于80ms。
    • MODULATION.RAR
      这个源程序代码包提供了通信系统中BPSK,QPSK,OQPSK,MSK,MSK2,GMSK,QAM,QAM16等调制解调方式 用matlab的实现,以及它们在AWGN和Rayleigh信道下的通信系统实现及误码率性能
    • algorithms.rar
      十大算法论文,包括遗传算法,模拟退火,蒙特卡罗法等等,对于初学者很有帮助!!