#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         S U B S T I T U T I O N   D ' U N E   P A L E T T E   P A R   U N E   A U T R E  :                                          #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xciP/substitue.01$Z     <PaletteA> <PaletteS> <PaletteR> [<Passes> [<Substitution> [<Standard> [<Brutal>]]]]     #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xciP/substitue.01$Z' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set                 PaletteA=$1
set                 PaletteS=$2
set                 PaletteR=$3
set                 Passes=$4
set                 Substitution=$5
set                 Standard=$6
                                        # Argument introduit le 20130114100047...                                                     #
set                 Brutal=$7
                                        # Argument introduit le 20130114100047...                                                     #

setArgum            Passes                        128

setArgum            Substitution                  L_SUBSTITUTION_ROUGE

setArgum            Standard                      $EXIST
                                        # La valeur par defaut garantit la compatibilite anterieure...                                #

setArgum            Brutal                        FAUX
                                        # La valeur par defaut garantit la compatibilite anterieure...                                #

source              $xciP/XYmaxNe$Y
                                        # Choix d'un mode ou l'image est petite et suffisante...                                      #

FileTmpB            IPaletteA
FileTmpB            IPaletteR

$xci/init$X         niveau=$NOIR                                                                                        $formatI        \
                                        | $xci/mire$X         h=$hauteur                                                $formatI        \
                                        | $xci/vraies_C$X     p=$PaletteA RVB=VRAI R=$IPaletteA                         $formatI
                                        # Conversion de la palette Argument en une image.                                             #

set                 PaRam1="$K_VIDE"
set                 PaRam1="$PaRam1"" A=$IPaletteA%s"

if                  ($Standard == $NEXIST) then
                    set                 PaRam1="$PaRam1"" convertir=VRAI"
                    set                 PaRam1="$PaRam1"" brutal=$Brutal"
else
                    set                 PaRam1="$PaRam1"" convertir=FAUX"
endif

set                 PaRam2="$K_VIDE"
set                 PaRam2="$PaRam2"" p=$PaletteS"
set                 PaRam2="$PaRam2"" substitution=$Substitution"

if                  ($Standard == $NEXIST) then
                    set                 PaRam2="$PaRam2"" standard=FAUX"
                    set                 PaRam2="$PaRam2"" renormaliser=FAUX"
                                        # Parametre introduit le 20130114164533...                                                    #
                    set                 PaRam2="$PaRam2"" forcer_extrema=VRAI"
                                        # Parametre introduit le 20130114133945...                                                    #
                    set                 PaRam2="$PaRam2"" lissage=VRAI"
                    set                 PaRam2="$PaRam2"" passes=$Passes"
else
                    set                 PaRam2="$PaRam2"" standard=VRAI"
endif

set                 PaRam3="$K_VIDE"
set                 PaRam3="$PaRam3"" R=$IPaletteR%s"

if                  ($Standard == $NEXIST) then
                    set                 PaRam3="$PaRam3"" standard=FAUX"
                    set                 PaRam3="$PaRam3"" zero=FAUX"
                    set                 PaRam3="$PaRam3"" brutal=$Brutal"
                    set                 PaRam3="$PaRam3"" extrema=FAUX"
else
                    set                 PaRam2="$PaRam2"" standard=VRAI"
endif

execRVB             "$xci/acces$X $PaRam1 $formatI | $xci/substitue$X $PaRam2 $formatI | $xci/acces$X $PaRam3 $formatI"
                                        # Substitution par la palette de Substitution.                                                #

$xciP/IMAGE$X       A=$IPaletteR$ROUGE pA=$xiP/gris.01 pR=$PaletteR ROUGE=VRAI VERTE=FAUX BLEUE=FAUX                    $formatI
$xciP/IMAGE$X       A=$IPaletteR$VERTE pA=$xiP/gris.01 pR=$PaletteR ROUGE=FAUX VERTE=VRAI BLEUE=FAUX                    $formatI
$xciP/IMAGE$X       A=$IPaletteR$BLEUE pA=$xiP/gris.01 pR=$PaletteR ROUGE=FAUX VERTE=FAUX BLEUE=VRAI                    $formatI
                                        # Puis enfin, reconversion de l'image en une palette...                                       #

ro                  $PaletteR$ROUGE
ro                  $PaletteR$VERTE
ro                  $PaletteR$BLEUE
                                        # Enfin, protection...                                                                        #

FileTmpE            IPaletteA
FileTmpE            IPaletteR



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