PRO RH_BR_MALC_IM_2D, $
    ; entree:
        harm_N,   correl,   npi, 	$
    ; sortie:
	image
; MODIFICATIONS:
; 03 sep 08  : calcule l'image en utilisant au mieux tous les
; harmoniques y compris anti_alias
; 06 mar 15  : ajout de l'argt i_stop
        ie0_ew = 1
; Procedures appelantes :
;  rh_malcrond_im_2d
;  film2d
;  rh_imcube
; 
; REMPLISSAGE DU PLAN UV AVEC LES HARMONIQUES OBSERVES
    i_stop = 0     ;= 1 avec des stop pour tests
    RH_HARM_N_VIS,  i_stop, npi, correl, harm_N, 	     $	; entree
		harm, harl, uu, vv		; sortie
	; Produit les repartitions "harm" et "harl" des harmoniques spatiaux 
	;   2D, corrigees des redondances et centres en milieu de tableau, 
	;   respectivement pour l'image (harm) et le lobe theorique (harl).
	; Processus de remplissage : on cumule, en chaque point du plan uv (de
	;   coordonnees u, v), la valeur de l'harmonique u=bew, v=bns. Simul-
	;   tanement on cumule la valeur conjuguee en u=-bew, v=-bns. La cou-
	;   verture complete utilisant la symetrie hermittique se fait donc
	;   harmonique par harmonique, et non pas en symetrisant le 1/2 plan
	;   directement fourni par les lignes de bases du "T".
	;   Cela permet d'eviter une difficulte pour les points du pave sur
	;   l'axe u, pour lesquels il y a redondance des harmoniques de E0 
	;   et de NS0_ns (ces derniers eux-memes redondants).
	;
	; Remarque sur les harm EW purs de NS0_ns avec les moities E et W du
	;   reseau. On appelle :
	;   . phi_a	2pi*bew/lambda  (c'est la phase aerienne d'une antenne 
	;		  de reseau de la moitie ouest du reseau EW).
	;   . phi_r	la phase d'une antenne H (de signe oppose a son exces 
	;		  de longueur de cable.
	;   . phi_0	---------de NS0_ns         --------------------------
	;		  --------------------
	;   Les sorties de correlateur d'un harmonique de NS0_ns avec une H de
	;     la moitie W et la H symetrique de la moitie E sont respective-
	;     ment :
	;	  Sw = exp i*[( phi_a + phi_r_w - phi_0)]
	;	  Se = exp i*[(-phi_a + phi_r_e - phi_0)]
	;   Le resultat cumul'e du remplissage du plan uv au point correspon-
	;     dant a la H de la moitie W (sur le 1/2 axe u>0) est donc :
	;	  Vis = Sw + conj(Se) = exp[i*phi_a] * 
	;				[ exp(i( phi_r_w - phi_0)) 
	;				 +exp(i(-phi_r_e + phi_0)]
	;   Le crochet se met sous une forme plus claire en posant :
	;	   p1 =  phi_r_w - phi_0
	;	   p2 = -phi_r_e + phi_0
	;     puis :
	;	   p_S = (p1 + p2) / 2			comme "somme"
	;	   p_D = (p1 - p2) / 2			-----  "difference"
	;   On a alors : 
	;	Vis = exp[i*phi_a] * [exp(i(p_S + p_D)) + exp(i(p_S - p_D))
	;	    = --------------  exp(i*p_S) * [exp(i*p_D) + exp(-i*p_D)]
	;
	;	    = 2 * exp[i*phi_a] * exp[i*(phi_r_w - phi_r_e)] *
	;				 cos[phi_0 - (phi_r_w + phi_r_e)/2]
	;   On remarque que :
	;	. la phase de NS0_ns disparait du facteur de phase (ca tombe 
	;	    bien pour NS0_ns puisqu'on 'a choisie comme origine des 
	;	    phases du fait de sa position centrale, ca tombera moins 
	;	    bien pour NS8) mais subsiste dans le facteur reel d'ampli-
	;	    tude,
	;	. les phases des antennes de reseau interviennent par leur dif-
	;	    ference dans le facteur de phase.
	;
	; La redondance de ces harmoniques est corrigee.

;  Extrapolation d'ordre 0 (en EW les harm impairs sont nuls hors axe).
    if (ie0_ew eq 0) then begin	; 8 harm: -2 0 2 en EW, -1 0 1 en NS.
	c_c_0 =  $
	    ( abs(harm(npi/2+2, npi/2  )) + abs(harm(npi/2+2, npi/2+1)) + $
	      abs(harm(npi/2  , npi/2+1)) + abs(harm(npi/2-2, npi/2+1)) + $
	      abs(harm(npi/2-2, npi/2  )) + abs(harm(npi/2-2, npi/2-1)) + $
	      abs(harm(npi/2  , npi/2-1)) + abs(harm(npi/2+2, npi/2-1)) ) / 8
    endif
    if (ie0_ew eq 1) then begin	; 4 harm: -1 et 1 en EW, -1 et 1 en NS.
	c_c_0 =  $
	    ( abs(harm(npi/2+1, npi/2  )) + abs(harm(npi/2  , npi/2+1)) + $
	      abs(harm(npi/2-1, npi/2  )) + abs(harm(npi/2  , npi/2-1)) ) / 4
    endif
    harm(npi/2, npi/2) = c_c_0		; eventuellementb ecrase par c_c_p.
    flux_compact = c_c_0		; --------------------------------

; Calcul d'image et de lobe theorique avec centre du Soleil en (npi/2, npi/2)
    image = float (shift(fft(shift(harm, -npi/2, -npi/2), -1), npi/2, npi/2))
    l_th  = float (shift(fft(shift(harl, -npi/2, -npi/2), -1), npi/2, npi/2))
	; Rappel : FFT directe (drapeau -1) pour obtenir une image.
	; Rem : total(image) = comp continue d'apres la propriete 2 des fft en
	;	IDL. Si la comp continue utilisee est mauvaise l'image est
	;	simplement decalee.

return
end
