Measuring the radial edge spread function over a sharp edge of a PMMA
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!