function g=p2s2ga(jm,im,s)
	
  %zi=sqrt(-1);
  [lm,km]=size(s);
  lm=(lm-1)/2;
  km=(km-1)/2; 


  k =1:km;
  %w = complex(zeros(jm,im),zeros(jm,im));
  w = zeros(jm,im);
 
  w(1,1)=s(1+lm,1+km);
  for l=1:lm
    w(1+l,   1)=s(1+lm+l,1+km)+s(1+lm-l,1+km)*i;
    w(1+jm-l,1)=s(1+lm+l,1+km)-s(1+lm-l,1+km)*i;    

	spp = s(1+lm+l,1+km+k);
	spm = s(1+lm+l,1+km-k);
	smp = s(1+lm-l,1+km+k);
	smm = s(1+lm-l,1+km-k);
	w(1+l,   1+k)   =spp+smm*i;
	w(1+jm-l,1+im-k)=spp-smm*i;
	w(1+jm-l,1+k)   =smp+spm*i;      
	w(1+l,   1+im-k)=smp-spm*i;            
  end
  
  w(1,1+k)   =s(1+lm,1+km+k)+s(1+lm,1+km-k)*i;
  w(1,1+im-k)=s(1+lm,1+km+k)-s(1+lm,1+km-k)*i;

  g=real(ifft2(w)*im*jm);

  return;
