PANDORE Version 6 | GREYC-IMAGE |
L'opérateur pgradneumann calcule la dérivée première de l'image d'entrée im_in. Le résultat est deux images de gris, où im_out1 est la dérivée le long de l'axe x et im_out2 est la dérivée le long de l'axe y:
im_out1(i,j) = im_in(i+1,j)-im_in(i,j), im_out2(i,j) = im_in(i,j+1)-im_in(i,j), avec im_out1(n-1) = 0 et im_out2(n-1) = 0.
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 pgradneumann tangram.pan gim1_y.pan gim1_x.pan pgradneumann 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