#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         C O N S T R U C T I O N   D ' U N   C A R R E L A G E   P A R                                                               #
#         D U P L I C A T I O N   D ' U N   M O R C E A U   D ' I M A G E  :                                                          #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xci/carrelage.01$Z <imageA> <imageR> <NbandeV> <NbandeH> [<affine>]                                              #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/carrelage.01$Z' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       imageA=$1
set       imageR=$2

set       NbandeV=$3
set       NbandeH=$4

set       affine=$5

setArgum  NbandeV                       1
                                        # Nombre de bandes Verticales a priori...                                                     #

setArgum  NbandeH                       1
                                        # Nombre de bandes Horizontales a priori...                                                   #

setArgum  affine                        FAUX
                                        # A priori, pas de transformation affine...                                                   #

FileTmpB  nomT1
FileTmpB  nomT2
                                        # Creation de noms temporaires...                                                             #

if        ("$affine" == "FAUX") then
          $xci/acces$X        A=$imageA R=$nomT2                                                                        $formatI
                                        # Cas ou il n'y a pas de transformation affine...                                             #
else
          $xci/affine.01$X    A=$imageA                                                                                                 \
                              mxx=`$xcg/scale$X x=1 a=$NbandeV`                                                                         \
                              mxy=0 myx=0                                                                                               \
                              myy=`$xcg/scale$X x=1 a=$NbandeH`                                                                         \
                              TxA=0 TyA=0 TxR=0 TyR=0                                                                                   \
                              R=$nomT2                                                                                  $formatI
                                        # Cas ou il y a une transformation affine...                                                  #
endif

@         NbandeV = $NbandeV + 1
@         NbandeH = $NbandeH + 1

$xci/init$X         niveau=$NOIR R=$nomT1                                                                               $formatI
                                        # Initialisation de l'image Resultat.                                                         #

set       LtranslationH=`$xci/valeurs_inte$X premiere=1 derniere=$NbandeV vD=0.0 vA=1.0 cubique=FAUX signe="$K_VIDE"`
                                        # Definition de la liste des translations Horizontales necessaires a obtenir les bandes       #
                                        # Verticales desirees...                                                                      #

foreach   translationH        ($LtranslationH)
          if        ($translationH != $LtranslationH[$#LtranslationH]) then
                    $xci/move$X         fond=VRAI F=$nomT1 A=$nomT2 xR=$translationH R=$nomT1                           $formatI
                                        # Decalage Horizontal iteratif pour creer les bandes Verticales (sauf pour la derniere        #
                                        # qui est ineffective...).                                                                    #
          else
          endif
end

$xci/init$X         niveau=$NOIR R=$imageR                                                                              $formatI
                                        # Initialisation de l'image Resultat...                                                       #

set       LtranslationV=`$xci/valeurs_inte$X premiere=1 derniere=$NbandeH vD=0.0 vA=1.0 cubique=FAUX signe="$K_VIDE"`
                                        # Definition de la liste des translations Verticales necessaires a obtenir les bandes         #
                                        # Horizontales desirees...                                                                    #

foreach   translationV        ($LtranslationV)
          if        ($translationV != $LtranslationV[$#LtranslationV]) then
                    $xci/move$X         fond=VRAI F=$imageR A=$nomT1 yR=$translationV R=$imageR                         $formatI
                                        # Decalage Vertical iteratif pour creer les bandes Horizontales (sauf pour la derniere        #
                                        # qui est ineffective...).                                                                    #
          else
          endif
end

FileTmpE  nomT1
FileTmpE  nomT2
                                        # Puis destruction des images temporaires...                                                  #



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