Effacer les filtres
Effacer les filtres

Measuring the radial edge spread function over a sharp edge of a PMMA

2 vues (au cours des 30 derniers jours)
Azza
Azza le 21 Nov 2023
Hello. I am trying to measure the radial edge spread function over the circular sharpe edge of a CT image of PMMA phantom. The angular ESF should be measured every 2 degrees over a 4 degrees angular aperature on almost many contiguous image slices.
I tried to develop a code to capture the circular sharp edge of the phantom (as shown with red arrows on the attached jpg image). I used several filters for edge detection like, Sobel, Canny but the contrast was almost the same as the background and thus it was difficult to capture the round sharp edge. Here is my code. Will appreciate any help with this. {I uploaded the file as jpg as the .fig file is too large}
for i = 1:4
img(:,:,:,i) = squeeze(mat2gray(dicomread(fullfile(dirName,files{i,1}))));
slimg = img(:,:,3,:);
figure;
imshow(img(:,:,i), []);
% Edge detection
grayImage = mat2gray(img(:,:,i));
edgeImage = edge(grayImage, 'Canny');
%grayImage = img(:,:,i);
%edgeImage = edge(grayImage, 'Canny');
% Display the original and edge-detected images
figure;
subplot(1, 2, 1);
imshow(grayImage, []);
title('Original Image');
subplot(1, 2, 2);
imshow(edgeImage);
title('Edge-detected Image');
end

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by