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.

Answers (2)

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 Comments

i have two images ... with constant motions
Did you try imregister()?
Thank you for your reply. But this function not working in my case.
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.
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
I think optical flow is not working because the image contains transparent layers in it.

Sign in to comment.

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 Comment

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 ?

Sign in to comment.

Asked:

on 19 Mar 2013

Community Treasure Hunt

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

Start Hunting!