how do i calculate motion for x-ray images ?

Because X-ray images are transparent. So it is difficult to calculate motion using optical flow. Is there any other way to calculate motion using x-ray images.

Antworten (2)

Image Analyst
Image Analyst am 19 Mär. 2013

0 Stimmen

I'm not sure I buy your statement on optical flow, but anyway...do you have 2 images, where each image is a still image, or do you have a single image where the movement happened over the exposure time and caused it to be blurry?

7 Kommentare

Raisul
Raisul am 19 Mär. 2013
i have two images ... with constant motions
Image Analyst
Image Analyst am 19 Mär. 2013
Did you try imregister()?
Raisul
Raisul am 20 Mär. 2013
Thank you for your reply. But this function not working in my case.
Image Analyst
Image Analyst am 20 Mär. 2013
What kind of answer are you looking for. Exactly what kind of numerical array or image array are you thinking of when you say you want "to calculate motion"? Why didn't optical flow or imregister() work?
You get what you put into it. If you just say "Thank you for your reply. But this function not working in my case." then the normal thing for me to say to such a short explanation/response would be "You're welcome. At least I tried. Good luck with that." So I guess I'll just give up and leave it up to you now since it no longer looks like you're wanting help.
Raisul
Raisul am 20 Mär. 2013
I am sorry for not explaining my result. I have used two x-ray images as an input. These images has displacement in horizontal direction (no vertical displacement). But the problem is it has got some transparent layers. After applying imregister to these images i did not see any improvement at all; the registerd image is same as the input image
Raisul
Raisul am 20 Mär. 2013
I think optical flow is not working because the image contains transparent layers in it.

Melden Sie sich an, um zu kommentieren.

Youssef  Khmou
Youssef Khmou am 20 Mär. 2013
Bearbeitet: Youssef Khmou am 20 Mär. 2013

0 Stimmen

hi Raisul,
I am not specialist in 2D-Xray Motion, but i propose a way out :
% Lets work with an example : Magnetic Resonance Imaging
load mri;
D=squeeze(D);
D=im2double(D);
I1=D(:,:,15); % 15th sample
I2=D(:,:,16); % 16th sample
% Some propositions :
figure, plot(I1(:)), hold on, plot(I2(:),'r'), legend(' S15','S16')
Diff=I2-I1;
figure, plot(Diff(:)), % Can this be useful knowing that V=D/Time???????

1 Kommentar

Raisul
Raisul am 20 Mär. 2013
I have run this code. But i am sorry ,i want to ask you that by observing the plot how can i get the idea about the velocity ? Because if i assume I1 and I2 are two images. Difference of these images only give me difference between intensity values. How is it related to distance ?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Read, Write, and Modify Image finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 19 Mär. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by