2d image reconstruction from 1D images

Hi everyone,
I am facing a problem with image resconstruction and hope you could help me to find a way to do what I am looking for. I will try to make it as clear as possible :
I have a 2D dimensional non uniform (7cm diameter) beam and a 1D detector to image that beam. The detector is a square of 7x7 cm and is composed of 10 vertical strips. The beam is incoming onto the detector perpendicularly and produce a 1D image (10 strips) . Then I rotate the detector by 1° and acquire another image and do this for angles between 0 and 180°. With that set of images I would like to reconstruct the 2D-image of the beam.
I would like to know if there is some premade function to do this. I have looked around the iradon function but I fear this solution does not correspond to my problem since it is made for 1D projection gathered rotating around the object.
From my problem what I need (I think) is a function that superimpose the 1D images all together and normalize the values. I am not really sure whether or not I have to consider my images as 1D images or 2D-like images (10 x 10 times the same value for exemple)...
If anyone as some ideas on how to do this, please fell free to help.
Thanks a lot in advance

7 Comments

Can you make a sketch of your setup and how it rotates?
Do I understand you correctly in that you have 10 strips that you shine the beam on, and the beam has a diameter of less than 7 cm?
If that's the case it seems to me that those detector-strips would give you the Radon-transform of the beam in the direction of the strips, and that it might be possible to use the iradon-function to estimate the 2-D beam-intensity. Maybe I've misunderstood. Perhaps a figure would clarify.
oneill38
oneill38 on 24 Nov 2020
Edited: oneill38 on 24 Nov 2020
It would like something like this. I hope it is understandable ... with the rotation center of the detector "close" to thecenter of the beam. Different colors in the beam means different intensities. I put under the sketch, the resulting 1D image in terms of levels of grey for each step or rotation.
Hmmm I was not conviced first but now that I sketch it, I actually think that iradon might to do the job after all ... Let me know what you think anyway, it always help to have a second opinion
I agree with Bjorn: this is how I would sketch the basics for a sinogram and Radon transform.
So are you're essentially wanting to do a reconstruction of the entire thing from projections? This is exactly how CT (computed tomography) works. I don't have code for CT reconstruction from projections. It's not easy - after all the guy won a Nobel prize for it.
@Image Analyst, yeah, but Cormac (as far as I recall) used the central slice theorem to numerically solve/calculate the inverse radon-transform, and we can use iradon - it is great to be spoilt by those who paved the way and dug the ditches...

Sign in to comment.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 24 Nov 2020
Edited: Bjorn Gustavsson on 24 Nov 2020
That definitely looks like the text-book definition of the Radon-iRadon transform pair setup. The limitation here is the 10 strips. That is a rather low number of line-integrals to get, but the geometry is the same.
Perhaps you can extract some additional resolution in the l-direction by making small shifts in the l-direction and deconvolve for sub-strip-with variations - but I guess that's for later. Try with iradon and good luck!
HTH

2 Comments

Yes. I guess next time I will draw the sketch first before asking ^^'.
About making shifts to virtually increase the resolution ; I can do this experimentally actually. So this is a very good idea and I did not think about it to be honest. Thanks for the tip !
There's a Swedish cartoon that argues agains that in "the most colourful" language, that I want to but will not quote...
My pleasure. Please update us with the results - because this is something I'm interested in from a fundamental level.

Sign in to comment.

Asked:

on 24 Nov 2020

Commented:

on 24 Nov 2020

Community Treasure Hunt

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

Start Hunting!