You might want to consider how much angular resolution you want, and whether you want to cut off the corner of the image, but otherwise the following code should be suitable. Markus
; n x m array, origin=[xc, yc]
function carth2rad, arr, origin
sz=size(arr,/dim)
n=sz[0]
m=sz[1]
xc=origin[0]
yc=origin[1]
xe=[0,0,n-1,n-1]
ye=[0,m-1,0,m-1]
nr=floor(max(sqrt((xe-xc)^2+(ye-yc)^2)))
nang=round(nr/4*!pi)*8
rr=rebin(indgen(nr),nr,nang)
aa=rebin(indgen(1,nang)*2*!pi/nang,nr,nang)
xx=rr*sin(aa)+xc
yy=rr*cos(aa)+yc
in_rad_az=interpolate( arr,xx,yy,missing=!values.f_nan )
return, in_rad_az
end
; test
r=sqrt(rebin((indgen(20)-5)^2,20,15)+rebin((indgen(1,15)-3)^2,20,15))
in_rad_az=carth2rad(r,[5,3])
print,in_rad_az,format='(17f6.2)'
end