help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: where is area?


From: Przemek Klosowski
Subject: Re: where is area?
Date: Fri, 09 Sep 2011 12:12:17 -0400
User-agent: Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20110816 Thunderbird/6.0

On 09/08/2011 05:11 PM, Luiz Portella wrote:
Hi,

I´m working in project for computed tomography.
I get matrix 5x5, rotate it with bilinear interpolation (it now is
7x7) and sum elements of columns and get for 0, 45, 90, 135 and 180
....
 For 0, 90 and 180 the sum of this numbers are 4, but not for 45 and
1350! What? I dont understand.... All for cell with 1 (there are 4) is
inside matrix 5x5, away from border.

It's unrealistic to expect that the image rotation algorithms preserve the integrated intensity very well. After all, cropping the rotated image deletes significant chunks, and introduces non-existent segments.
Take a look at this:

x=1:180; a = zeros(7,7); a(3,3) = a(5,3) = a(5,4) = a(5,5) = 1;
for i=x
 s.bilinear(i)=sum(sum(imrotate(a,i,"bilinear", "crop", 0)));
 s.bicubic(i)=sum(sum(imrotate(a,i,"bicubic","crop",0)));
 s.nearest(i)=sum(sum(imrotate(a,i,"nearest","crop",0)));
 s.fourier(i)=sum(sum(imrotate(a,i,"fourier","crop",0)));
end
plot(x,s.bilinear,x,s.bicubic,x,s.nearest,x,s.fourier)

the integrated intensity varies by as much as +75% for
"nearest". Aparently bicubic has least variance: the integrated intensity varies from 3.95 to 4.25.

Interestingly, there may be a problem with 'fourier' as indicated by its unreasonable behavior for small rotations; see my separate posting.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]