#!/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...                                                                       #



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.