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