Breast Density in Mammography Dicom Images
4 views (last 30 days)
Show older comments
Is there a way to extract the breast density of a mammography through Matlab code?
1 Comment
Accepted Answer
Said Pertuz
on 14 Nov 2019
I hope is not too late an answer. Please take a look at the following tool:https://www.mathworks.com/matlabcentral/fileexchange/73360-breast-density-segmentation.
Beware that this implementation has been tested on digital mammograms (such as those from the INbreast dataset) and has not been tested on digitized mammograms (e.g. MIAS).
More Answers (1)
Doaa
on 27 Jul 2024
![](/matlabcentral/answers/uploaded_files/1741701/matlab_interface_image.png)
2 Comments
Doaa
on 27 Jul 2024
Edited: Walter Roberson
on 27 Jul 2024
% Load the mammogram image
img = imread('mammogram.jpg');
% Display the original image
figure;
imshow(img);
title('Original Mammogram Image');
% Convert the image to grayscale if it is not already
if size(img, 3) == 3
img = rgb2gray(img);
end
% Display the grayscale image
figure;
imshow(img);
title('Grayscale Mammogram Image');
% Apply median filter to reduce noise
filtered_img = medfilt2(img);
% Display the filtered image
figure;
imshow(filtered_img);
title('Filtered Mammogram Image');
% Binarize the image using a threshold
level = graythresh(filtered_img);
bw = imbinarize(filtered_img, level);
% Display the binary image
figure;
imshow(bw);
title('Binary Mammogram Image');
% Calculate the breast density
density = sum(bw(:)) / numel(bw) * 100;
% Display the breast density
fprintf('Breast density: %.2f%%\n', density);
% Classify the breast density
if density < 25
density_type = 'Fatty';
elseif density < 50
density_type = 'Scattered';
elseif density < 75
density_type = 'Heterogeneously dense';
else
density_type = 'Extremely dense';
end
fprintf('Breast density type: %s\n', density_type);
Doaa
on 27 Jul 2024
Edited: Walter Roberson
on 27 Jul 2024
% Load the mammogram image
img = imread('mammogram.jpg');
% Display the original image
figure;
imshow(img);
title('Original Mammogram Image');
% Convert the image to grayscale if it is not already
if size(img, 3) == 3
img = rgb2gray(img);
end
% Display the grayscale image
figure;
imshow(img);
title('Grayscale Mammogram Image');
% Apply median filter to reduce noise
filtered_img = medfilt2(img);
% Display the filtered image
figure;
imshow(filtered_img);
title('Filtered Mammogram Image');
% Binarize the image using a threshold
level = graythresh(filtered_img);
bw = imbinarize(filtered_img, level);
% Display the binary image
figure;
imshow(bw);
title('Binary Mammogram Image');
% Calculate the breast density
density = sum(bw(:)) / numel(bw) * 100;
% Display the breast density
fprintf('Breast density: %.2f%%\n', density);
% Classify the breast density
if density < 25
density_type = 'Fatty';
elseif density < 50
density_type = 'Scattered';
elseif density < 75
density_type = 'Heterogeneously dense';
else
density_type = 'Extremely dense';
end
fprintf('Breast density type: %s\n', density_type);
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!