PANDORE Version 6 | GREYC-IMAGE |
L'opérateur pdivneumann calcule la divergence par différence finie décentrée à gauche. Le résultat est une image de niveaux de gris im_out, où:
im_out(i,j) = (im_in1(i,j)-im_in1(i-1,j)) + (im_in2(i,j)-im2(i,j-1)),
avec les conditions de Neumann aux bords:
im_in1(1,j) et -im_in1(n-1,j) im_in2(i,1) et -im_in2(i,n-1)
Retourne SUCCESS ou FAILURE.
Implémente le calcul du gradient et de la divergence avec les condition aux bords de Neumann, telle que façon que l'une est l'adjoint de l'autre, i.e. <grad x,u> = <-div u,x>. Le script vérifie l'identité de deux images.
protation 0 180 tangram.pan tangram1.pan pdivneumann tangram.pan gim1_y.pan gim1_x.pan pdivneumann tangram1.pan gim2_y.pan gim2_x.pan # Compute < grad im1, grad im2>. pmult gim1_y.pan gim2_y.pan | psumvalue - s1.pan sumvaly=`pstatus` pmult gim1_x.pan gim2_x.pan | psumvalue - s2.pan sumvalx=`pstatus` innerproduct1=`echo "$sumvaly+$sumvalx" | bc -l` # Compute <-div grad im1,im2>. pdivneumann gim1_y.pan gim1_x.pan | pmultcst -1 - divim1.pan pim2sf tangram1.pan t.pan pmult divim1.pan t.pan | psumvalue - /dev/null innerproduct2=`pstatus` echo $innerproduct1 echo $innerproduct2
Auteur: Jalal Fadili