필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
Azza
Azza 2023년 11월 21일
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개)

Community Treasure Hunt

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

Start Hunting!

Translated by