the intersection of a line and two contour aneurysm in different angles

I have a medical image aneurysm I use to detect the edge contour, contour as both a disc, as I search ladistance between the two contour disc in different angles. Here is my image http://www5.picturepush.com/photo/a/12492133/100c/dicom/1.png:

답변 (1개)

Image Analyst
Image Analyst 2013년 3월 24일

0 개 추천

You can use improfile(). Take a profile of your image along the blue line and examine the gray levels. The bright rings will show up as spikes in the profile. You can get the row and column coordinates by using bilinear interpolation knowing the distance of the spikes along the line and the starting and ending line coordinates.

댓글 수: 9

I am a beginner in matlab, please help me with a code
I don't have time now, but try something like this:
[cx,cy, theProfile] = improfile([x1 x2], [y1 y2]);
spikes = theProfile > 128; % or whatever value the bright rings are.
theX = cx(spikes);
theY = cy(spikes);
I need to get going now but if you know how to program, I'm sure this will be a good start for you.
known how the contour pixels coordinated to the intersection with the line
Not sure what that means. Do you have the Image Processing Toolbox, or the Signal Processing Toolbox? They will make it easy to find the peaks, with imregionmax() or findpeaks() respectively.
l'image obtenue par ce code mais je ne sait rien comment mesure le distance entre les deux contour dans 5°,10°,15°.....
x=dicomread('C:\Users\nour\Desktop\rec0046.dcm');
j= edge(x,'canny',0.4);
I = im2double(j);
s=regionprops(I,'centroid');
clc
centroids=cat(2, s.Centroid)
t=0:.001:100;
alpha=0;
err=10;
deltax=centroids(:,1);
deltay=centroids(:,2);
imshow(I)
hold on
plot(centroids(:,1), centroids(:,2), 'b*') plot(t+deltax,tan(deg2rad(alpha))*t+deltay);
hold off
Please matlab code detailed
OK, so that might find the center of the circles, and plot a line in the overlay, but where are you calling improfile and thresholding it like I suggested? Do that if you want the distance between the rings for a certain angle. If you want the average distance over all angles, then you need to calculate the "EquivDiameter" with regionprops() and subtract them and divide by 2.
the problem is how the corrdonée obtained from the intersection to calculate the distance as the distance between the contour is not the meme in the different angles for me it devoire rotate the line and calculates the distance different angles.
I don't understand what you said. Especially the words corrdonée, meme, and devoire. Can you get a native English speaker to proofread this? I don't have any ideas how your comment answered any of my questions about (1) whether you need the average distance over all angles or just a specific angle, or (2) where you used improfile() or why you chose not to use it.
My main account to the distance between the edges, I was able to find a center but the distance between the edges are not equal at all angles My idea is to draw a line intersects with the edges and rotate at different angles and calculate the distance at each corner My problem that I can not put a detailed code I am a beginner in matlab, please help me

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Read, Write, and Modify Image에 대해 자세히 알아보기

질문:

2013년 3월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by