X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=utilities_LW%2Fcsquare2.m;fp=utilities_LW%2Fcsquare2.m;h=7cd951e2a80fde1db13402b2d668f1ae33a5a339;hb=d0401c49b6b7511cfdaa0534b78bd3c5b2b0637a;hp=0000000000000000000000000000000000000000;hpb=f8358f5ec65f099f3080043580ef861c3fd3ba2e;p=CreaPhase.git diff --git a/utilities_LW/csquare2.m b/utilities_LW/csquare2.m new file mode 100644 index 0000000..7cd951e --- /dev/null +++ b/utilities_LW/csquare2.m @@ -0,0 +1,34 @@ +%# csq=csquare2(beta,f,g) returns cos(pi*beta*(f^2+g^2)) +%# beta is equal to lambda*D/l^2, i.e. the Fresnelnumber +%# for the complete spectrum (from 0 to fsample) +%# f_isall = 0 +%# only f and g from 0 to fsample/2 should be given, the other part is +%# calculated using the periodicity in frequency-space +%# f_isall = 1 +%# complete frequency range is given +%# allows for astigmatism (5th argument) + +function csq=csquare2(betah,f,g,varargin) + +f_isall = 0; +switch nargin +case 3 + betav = betah; +case 4 + f_isall = varargin{1}; + betav = betah; +case 5 + f_isall = varargin{1}; + betav = varargin{2}; +end + +csq=cos((pi*betah)*f.^2+(pi*betav)*g.^2); + +if (f_isall~=1) + [n m]=size(f); + n=n-1; + m=m-1; + csq=cat(2,cat(1,csq,flipdim(csq(2:n,:,:),1)),cat(1,flipdim(csq(:,2:m,:),2),flipdim(flipdim(csq(2:n,2:m,:),1),2))); +end + +end