#!/bin/csh ####################################################################################################################################### # # # D U P L I C A T I O N D ' U N E L I G N E D ' U N E I M A G E : # # # # # # Utilisation : # # # # $xci/DuplLigne.01$Z <imageA> <imageR> [<NumeroLigne>] # # # # # # Author of '$xci/DuplLigne.01$Z' : # # # # Jean-Francois Colonna (LACTAMME, 20081127104604). # # # ####################################################################################################################################### set imageA=$1 set imageR=$2 set NumeroLigne=$3 setArgum NumeroLigne $Ymin set PaRaM="$K_VIDE" set PaRaM="$PaRaM"" normaliser=VRAI" set PaRaM="$PaRaM"" abscisse=FAUX" set PaRaM="$PaRaM"" ordonnee=VRAI" set PaRaM="$PaRaM"" profondeur=FAUX" set PaRaM="$PaRaM"" niveau=FAUX" set PaRaM="$PaRaM"" signe=$K_VIDE" set NumeroLigneN=`$xci/coordonnees$X $PaRaM y=$NumeroLigne` FileTmpB DeFoRmAtIoN # Image de manoeuvre... # set Un_PlUs_Epsilon=`$xcg/INVZ.01$X x=$dimX` set Un_PlUs_Epsilon=`$xcg/AXPB.01$X a=0.1 x=$Un_PlUs_Epsilon b=1` # Introduit le 20081129104256 en remplacement de la valeur arbitraire '1.00000001'... # $xci/lineaire$X \ A=1 B=0 C=0 \ standard=FAUX \ $formatI | \ $xci/normalise.01$X \ origine=0 extremite=$Un_PlUs_Epsilon \ R=$DeFoRmAtIoN$COORD_X \ $formatI # Generation d'une mire de barres verticales (il s'agit alors de la '$COORD_X'). # # # # Le 20081129101340 le segment de normalisation est passee de [0,1] a [0,1+epsilon] afin # # de corriger une anomalie observee avec 'v $xiio/GRILLE_16x16' pour laquelle les premieres # # abscisses vues dans 'v $xiii/di_image$DEF VOISINAGE_POINT_SIMPLE' en editant les valeurs de # # {FXf_apres_reechantillonnage,Xf_avant_reechantillonnage,X_approche_avant_reechantillonnage} # # lors du '$xci/deformi.01$X' ci-apres donnaient : # # # # 0.000000000000000000 --> 0.000000000000000000 --> 0 # # 0.001283697047496699 --> 0.999999999999928613 --> 0 # # 0.002567394094993562 --> 1.999999999999984901 --> 1 # # (...) # # # # pour 'Y=Ymax=$NumeroLigne', d'ou cet "epsilon" introduit pour corriger l'arrondi entier... # # # # Au passage, le probleme vient de '$xci/lineaire$X' qui ne produit pas des valeurs dans # # [0,1] mais dans [+0.160434,+0.838695] en mode 'Pal'... # $xci/init$X \ v=$NumeroLigneN \ standard=FAUX \ R=$DeFoRmAtIoN$COORD_Y \ $formatI # Generation d'une image uniforme codant l'ordonnee (il s'agit alors de la '$COORD_Y'). # $xci/acces$X \ A=$imageA \ convertir=VRAI \ $formatI | \ $xci/deformi.01$X \ DX=$DeFoRmAtIoN$COORD_X DY=$DeFoRmAtIoN$COORD_Y \ lineaire=VRAI \ interpoler=FAUX \ $formatI | \ $xci/acces$X \ standard=FAUX brutal=VRAI \ R=$imageR \ $formatI # Ainsi, '$xci/deformi.01$X' duplique la ligne d'ordonnee '$NumeroLigne' sur toute l'image # # permettant ainsi a '$xci/comptage$X' de s'appliquer... # FileTmpE DeFoRmAtIoN # Image de manoeuvre... #