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

cardiac mriImage Processing Toolboximage segmentationmedical

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.

Best Answer

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.