Rotating Laguerre Gaussian and defocus Gaussian PSFs

From Optical Imaging and Spectroscopy (Wiley - OSA 2009)
By David J. Brady
www.opticalimaging.org
Figure 10.10 and 11

Psi[m_,n_,r_,phi_]=Exp[-Pi r^2]Exp[-I n phi] Pi^(n/2)r^n LaguerreL[m,n,2 Pi r^2];
FTPsi[m_,n_,r_,phi_,tau_]=Sqrt[I]Exp[-(n+m+1)I ArcTan[tau^2]]Exp[-Pi r^2/(1+I tau^2)]Exp[-I n phi] Pi^(n/2)r^n LaguerreL[m,n,2 Pi r^2/(1+tau^4)]/(1+tau^4)^((n+1)/2);

RotatorF[rho_,phi_,tau_]:=FTPsi[1,1,rho,phi,tau]/.3+FTPsi[5,3,rho,phi,tau]/.5+FTPsi[9,5,rho,phi,tau]/16+FTPsi[13,7,rho,phi,tau]/312+FTPsi[17,9,rho,phi,tau]/6950;

listFields=Table[DensityPlot[Abs[FTPsi[5,3,Sqrt[x^2+y^2],Arg[x+ Iy],.5 taup]],{x,-10,10},{y,-10,10},PlotRange->All,PlotPoints->100],{taup,0,4}]

listFields=Table[DensityPlot[Abs[RotatorF[Sqrt[x^2+y^2],Arg[x+I y],Sqrt[taup]]]^2,{x,-10,10},{y,-10,10},PlotRange->All,PlotPoints->100],{taup,0,10}]

Plot[Abs[RotatorF[x,0,1]]^2,{x,-10,10},PlotRange->All,PlotPoints->100,Axes->False,Frame->True]

Plot[Abs[FTPsi[0,0,x,0,2]]^2,{x,-10,10},PlotRange->All,PlotPoints->100,Axes->False,Frame->True]

DensityPlot[Abs[FTPsi[0,0,Sqrt[x^2+y^2],Arg[x+I y],0]]^2,{x,-10,10},{y,-10,10},PlotRange->All,PlotPoints->100]

PSF=Table[Abs[RotatorF[Sqrt[x^2+y^2],Arg[x+I y],.5]]^2,{x,-10,10,20/255},{y,-10,10,20/255}];
ListDensityPlot[PSF,PlotRange->All]
ListDensityPlot[Transpose[RotateRight[Transpose[RotateRight[Abs[Fourier[PSF]],128]],128]],PlotRange->All]

PSF=Table[Abs[RotatorF[Sqrt[x^2+y^2],Arg[x+I y],2]]^2,{x,-10,10,20/255},{y,-10,10,20/255}];
ListDensityPlot[PSF,PlotRange->All]
ListDensityPlot[Transpose[RotateRight[Transpose[RotateRight[Abs[Fourier[PSF]],128]],128]],PlotRange->All]

ListDensityPlot[Transpose[RotateRight[Transpose[RotateRight[Abs[Fourier[PSF]],128]],128]],PlotRange->All]

PSF=Table[Abs[FTPsi[0,0,Sqrt[x^2+y^2],Arg[x+ I y],1]]^2,{x,-10,10,20/255},{y,-10,10,20/255}];
ListDensityPlot[PSF,PlotRange->All]
ListDensityPlot[Transpose[RotateRight[Transpose[RotateRight[Abs[Fourier[PSF]],128]],128]],PlotRange->All]

PSF=Table[Abs[FTPsi[0,0,Sqrt[x^2+y^2],Arg[x+ I y],2 ]]^2,{x,-10,10,20/255},{y,-10,10,20/255}];
ListDensityPlot[PSF,PlotRange->All]
ListDensityPlot[Transpose[RotateRight[Transpose[RotateRight[Abs[Fourier[PSF]],128]],128]],PlotRange->All]

listFields=Table[DensityPlot[Abs[FTPsi[0,0,Sqrt[x^2+y^2],Arg[x+ I y],.5 taup]]^2,{x,-10,10},{y,-10,10},PlotRange->All,PlotPoints->100],{taup,0,4}]