Select specific area of a DICOM file
Ältere Kommentare anzeigen
I am trying to select the area between the two circles, everything inside the inner circle and outside the outer is not of interest. This is how I am trying to "activate" and "deactivate" the pixels I want. By doing it twice, I am able to select part of the left and part of the right side, and then just add them up. I would like to finish with the whole area between the circle with the pixels "on". Probably this is not even the way that I should be doing it but if anybody has a recommendation I would be happy to hear! (cant upload dicom file so I will compress in zip)
also, I will take the absolute value of the selected area so no worries about it changing color from the first one to the last one.
clear; clc; clf; close all;
I(:, :, 1) = dicomread('MRIm1.dcm');
P = I(:, :, 1);
figure
subplot(2,2,1), imshow(P, [])
%%
Pb = imbinarize(P, graythresh(P));
se = strel('line', 4, 4);
Pb = imerode(Pb, se);
props = regionprops(Pb, 'Area', 'PixelIdxList');
[m, index] = max([props.Area]);
Pbm = zeros(size(P,1), size(P,2));
Pbm(props(index).PixelIdxList) = 1;
P(~Pbm) = 0;
%same thing again but with absolute value so that it inverts and takes right side
A = I(:, :, 1);
A = abs(A);
Ab = imbinarize(A, graythresh(A));
% Ab = bwareaopen(Ab, 250);
% Ab = imfill(Ab, 'holes');
se = strel('line', 4, 4);
Ab = imerode(Ab, se);
props1 = regionprops(Ab, 'Area', 'PixelIdxList');
[n, index1] = max([props1.Area]);
Abm = zeros(size(A,1), size(A,2));
Abm(props1(index1).PixelIdxList) = 1;
A(~Abm) = 0;
C = P + A; %just adds them
subplot(2,2,2), imshow(P, [])
subplot(2,2,3), imshow(A, [])
subplot(2,2,4), imshow(C, [])

The goal is to complete the bottom right one.
2 Kommentare
Rik
am 14 Dez. 2022
Are you allowed to assume this is a perfect circle?
Alfredo Scigliani
am 14 Dez. 2022
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu DICOM Format finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



