Measuring the radial edge spread function over a sharp edge of a PMMA
2 views (last 30 days)
Show older comments
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
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!