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