Hello, Can someone suggest me how I can do 2SD threshold for CARDIAC MRI.

2 ビュー (過去 30 日間)
A-J KHAN
A-J KHAN 2016 年 7 月 17 日
コメント済み: A-J KHAN 2016 年 7 月 18 日
NOTE: The mean and SD of the normal tissue intensities are first estimated by the maximum value of the lower part of the intensity histogram.The threshold value is then calculated as 2SD above the mean. Pixels darker than the threshold are then removed from further analysis.

採用された回答

Image Analyst
Image Analyst 2016 年 7 月 17 日
Try this:
theMean = mean2(grayImage);
sd = std2(grayImage);
threshold = theMean + 2 * sd;
binaryImage = grayImage < threshold;
Now it's not clear what "Pixels darker than the threshold are then removed from further analysis." means, but for example if you wanted to blacken those pixels and leave pixels above the threshold as the original gray level, you could do
grayImage(binaryImage) = 0;
If you simply wanted a list of gray levels above the threshold then you could do this:
pixelsToUse = grayImage(~binaryImage);
Note however that that is a vector, not a 2-D image. Please explain exactly what "removed from further analysis" means.
  1 件のコメント
A-J KHAN
A-J KHAN 2016 年 7 月 18 日
a threshold value was defined to classify healthy and pathological tissues after the fitting process. the code is attach here.. clear;clear all;close all; %%I=dicomread('IM_0001.dcm'); I = imread('A001.jpg'); %% convert the .JPG format to .dcm for furthure processing dicomwrite(I,'A001.dcm'); imshow(I) max(I(:),0); min(I(:),1); hist(double(I(:)),50);
I=uint8(round(double (I))); I=I(:)',[muhat, sigmahat]=normfit(I); mean_value=round(muhat); sigma_value=round(sigmahat); x=0:1:29952; for i=1:size(x') gauss(i)=100*exp( - (x(i)-mean_value)^2/(2*sigma_value^2)/(sigma_value*sqrt(2*pi))); end x=0:1:29952; for i=1:size(x') rayl(i)=500*exp( - (x(i)^2/(2*sigma_value^2)*(x(i)/sigma_value^2))); end figure(3),plot(x,gauss,x,rayl),hold on,imhist(I) %%[c1,c2]=hist(double(I(:)),50);%%f=fit(c1',c2', 'gauss1');%%gauss1=f.a*exp( - (c2-f.b).^2/ (2*f.c^2) ); %%hist(I(:),50),hold on, plot(c2,gauss1,c2,rayl) theMean = mean2(I); sd = std2(I); threshold = theMean + 2 * sd; binaryImage = I < threshold;
For each pixel, if intensity value I is less than μ n , then the pixel is classified as unaffected myocardium, and I map =0; if I is greater than μ e , then it is classified as oedema tissue, and I map =1; I map varies linearly from μ n to μ e . In this study, a membership value of I map ≥ 0.7 was defined as the thresholding value for the regions of oedema. For each pixel, if intensity value I is less than μ n , then the pixel is classified as unaffected myocardium, and I map =0; if I is greater than μ e , then it is classified as oedema tissue, and I map =1; I map varies linearly from μ n to μ e . In this study, a membership value of I map ≥ 0.7 define the regions of oedema. For each pixel, if intensity value I is less than μ n , then the pixel is classified as unaffected myocardium, and I map =0; if I is greater than μ e , then it is classified as oedema tissue, and I map =1; I map varies linearly from μ n to μ e . In this study, a membership value of I map ≥ 0.7 defined for the regions of oedema.value selected from 0.6 to 0.9.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeBiomedical Imaging についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by