what is the use of radon transform in image processing ?Can we convert 2D image to 1D signal by radon transform ?

we are doing a project on image processing.Automated Diagnosis of Glaucoma Using Texture and Higher Order Spectra Features.we have to do radon transform in preprocessing.is that needed for converting the image of eyes into signal ?

Answers (1)

The radon transform takes a projection of a 2D image along a direction to give the 1D profile. Kind of like if you stood the image on its edge and took an x-ray of it. In fact it's used in 3D medical imaging for CT reconstruction.
No, you do not need it to convert the image into the signal because the image is the signal. Or at least a signal. It's possible that you could generate tons of signals with various algorithms and radon() would also give a signal. However it sounds like you're trying to follow the algorithm in some very specific paper, and if that paper uses radon() as one of the steps, then go ahead and use it. Just in advance, I'll mention the FAQ: http://matlab.wikia.com/wiki/FAQ#Can_you_program_up_the_algorithm_in_this_article_for_me_and_explain_it_to_me.3F

4 Comments

Need some more clarification on Radon transform and R transform.
I applied Radon transform on a 3x3 matrix and obtained the following values.
a = [8 1 6;3 5 7;4 9 2]
r=radon(a,1:30:180);
r=
0 0 0 0 0 0
1.8387 1.6390 1.9203 1.8561 1.1949 1.0942
13.1951 12.6928 12.2494 13.1602 13.5809 13.9016
15.0023 17.2811 16.9505 15.0023 17.2811 16.9505
13.0555 10.8035 11.6696 13.0904 9.9153 10.0174
1.9085 2.5836 2.2102 1.8910 3.0277 3.0363
0 0 0 0 0 0
what does these values signify. Also i got R transform value by summing up the radon coefficients in each column as r1=sum(r.^2);
r1=[576.6475 585.8208 582.1199 576.6384 591.9878 591.3391]
Does maximum value of r1 which is 591.9878 signify that my matrix a is oriented to 151 degrees since i computed Radon transform for 1 to 180 degree with 30 degree spacing.
The values are the sum of "a" along the angles you gave, which are (in degrees) 1, 31, 61, 91, 121, and 151. Note, there are no perpendicular angles of 90 or 180 that you have passed to it, so that's why the values at the center are not exactly the sum along rows or columns. There is one column for each of those 6 angles.
For the number of rows, it basically has to calculate how many elements it needs. As you can imagine, if the projection is along 45 degrees, then it will need more elements to get the projection than if it went strictly along rows or columns. I mean the diagonal of a rectangle is longer than either side, isn't it? So that's why the number of rows is not exactly the same as either the rows or columns in the array.
"The values are the sum of "a" along the angles you gave, which are (in degrees) 1, 31, 61, 91, 121, and 151." Does this means sum(sum(imrotate(a,61))=sum(r(:,3)).
Also please give me some explanation on R transform that is obtained from radon transform. What does maximum value in r1 means??
The radon transform is like the sum along an angle, just like as if you had done an x-ray along that angle. For a 2D image, it gives you a 1-D profile. It's not a bad analogy - the radon transform being the x-ray of the image along an angle. In fact radon transforms are used in CT and MRI reconstruction.
The max value of the profile will be the "ray" that passed through the densest (i.e. brightest) part of the image.

Sign in to comment.

Asked:

on 1 Jan 2013

Commented:

on 20 Apr 2016

Community Treasure Hunt

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

Start Hunting!