PRO Correl1D,image,xAxis,reference,newImage,newxAxis

;+
; PURPOSE: 
;	Computes the crosscorrelation of an image or a vector.
; CALLING SEQUENCE:
;	result = Correl1D( image )
; INPUT:
;	image: a 2D array (or 1D array), real
; RESULT:
;	the corrcorrelated image
; KEYWORD:
;		
; PROCEDURE:
;
; RESTRICTION:
;
; MODIFICATION HISTORY:
;	Created in 
;		Inst. of Astronomy, ETH Zurich
;-

  nx=N_Elements(image(*,0))
  ny=N_Elements(image(0,*))

  newImage=DblArr(2*nx-1,ny)
  newxAxis=(Findgen(2*nx-1)-(nx-1.))*abs(xAxis(1)-xAxis(0))
  normImage=DblArr(ny)
  Normref=DblArr(1)
  ave = Avg( image, 0 )
  FOR j=0,ny-1 DO  image(*,j) = image(*,j) - ave(j)
  Normref=total(image(*,reference)^2)
  FOR j=0,ny-1 DO BEGIN
    normImage(j)=sqrt(total(image(*,j)^2)*Normref)
    newImage(nx-1,j)=total(image(*,reference)*image(*,j))
    FOR l=1,nx-1 DO BEGIN
      newImage(nx+l-1,j)= Total( image(0:nx-1-l,reference)*image(l:nx-1,j) )
      newImage(nx-l-1,j)= Total( image(l:nx-1,reference)*image(0:nx-1-l,j) )
    ENDFOR
    newImage(*,j)=newImage(*,j)/normImage(j)
  ENDFOR

END