Measuring the radial edge spread function over a sharp edge of a PMMA
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!