FUNCTION zshift,A,dx,dy ;+ ;B=zshift(A,dx,dy) is the same as shift(A,dx,dy) except that the ;vacated pixels are filled with zeros. Works only with 2D. ;- d=size(A,/dim) AS=shift(A,dx,dy) IF dx GT 0 THEN AS[0:dx-1,*]=0 IF dx LT 0 THEN AS[d[0]+dx:*,*]=0 IF dy GT 0 THEN AS[*,0:dy-1]=0 IF dy LT 0 THEN AS[*,d[1]+dy:*]=0 RETURN,AS END