#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         D E T O U R A G E   E N   N O I R   D ' U N E   I M A G E   E N   V R A I E S   C O U L E U R S  :                          #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xci/detourage.11$Z <imageA> <imageR> [<Sgradient> [<Sfiltre> [<et_logique> [<MessageErr> [<Conv> [<FConv>]]]]]]  #
#                                   .                                                                                                 #
#                                  /|\                                                                                                #
#                                   |                                                                                                 #
#                                    ------------ "1" parce que travaille sur une seule composante (la luminance).                    #
#                                                                                                                                     #
#                                                                                                                                     #
#              *     * * * * * *   * * * * * *   * * * * * *   *         *   * * * * * *   *   * * * * * *   *         *              #
#                         *             *        *             **        *        *        *   *         *   **        *              #
#             * *         *             *        *             * *       *        *        *   *         *   * *       *              #
#                         *             *        *             *  *      *        *        *   *         *   *  *      *              #
#            *   *        *             *        *             *   *     *        *        *   *         *   *   *     *              #
#                         *             *        * * *         *    *    *        *        *   *         *   *    *    *              #
#           * * * *       *             *        *             *     *   *        *        *   *         *   *     *   *              #
#                         *             *        *             *      *  *        *        *   *         *   *      *  *              #
#          *       *      *             *        *             *       * *        *        *   *         *   *       * *              #
#                         *             *        *             *        **        *        *   *         *   *        **              #
#         *         *     *             *        * * * * * *   *         *        *        *   * * * * * *   *         *              #
#                                                                                                                                     #
#                                                                                                                                     #
#         ATTENTION :                                                                                                                 #
#                                                                                                                                     #
#                     A compter du 20060606145529, il est                                                                             #
#                   preferable d'utiliser 'v $xci/detourage.21$Z'                                                                     #
#                   qui est plus general et moins restrictif...                                                                       #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/detourage.11$Z' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       nomA=$1
set       nomR=$2
set       Sgradient=$3
set       Sfiltre=$4
set       EtLogique=$5
set       MessageErr=$6
                                        # Parametre introduit le 20060302170848...                                                    #
set       Convoluer=$7
set       FConvol=$8
                                        # Parametres introduits le 20091202094117...                                                  #

setArgum  Sgradient                     28
                                        # Augmenter cette valeur reduit le nombre de "lisere" noir introduit alors que la             #
                                        # diminuer (par exemple a 14) augmente ce nombre...                                           #

setArgum  Sfiltre                       80
                                        # Augmenter cette valeur introduit plus de flou dans l'image Resultat.                        #

setArgum  EtLogique                     $EXIST
                                        # Permet de choisir entre '$xci/and$X' ('$EXIST') et '$xci/multi_02.01$X' ('$NEXIST'),        #
                                        # l'avantage de '$xci/and$X' etant de conserver les couleurs de l'image Argument...           #
                                        # Ce choix a ete introduit le 19970725175500, sachant que dans les versions anterieures       #
                                        # il faut considerer qu'il etait a l'etat '$NEXIST' puisque seul '$xci/multi_02.01$X' etait   #
                                        # utilise...                                                                                  #

setArgum  MessageErr                    $EXIST

setArgum  Convoluer                     $NEXIST

setArgum  FConvol                       `GetParam $xci/convol.02$X facteur_points`

FileTmpB  nomT
                                        # Generation d'un nom temporaire...                                                           #

if        (    ("$formatI" == "$format_Suq")                                                                                            \
          ||   ("$formatI" == "$format_Sud")                                                                                            \
          ||   ("$formatI" == "$format_Std")                                                                                            \
          ||   ("$formatI" == "$format_Sdu")                                                                                            \
           ) then
          $xci/gauss$X        R=$nomT$W                                                                                 $formatI
                                        # Generation systematique d'un champ gaussien du type 'v $xiio/GAUSS.8110' ; en effet, on ne  #
                                        # peut utiliser cette derniere image que si on est en mode 'Suq', 'Sud', 'Std' ou 'Sdu'       #
                                        # (c'est-a-dire en format "carre" de dimension lineaire egale a une puissance de 2).          #

          $xci/luminance.01$X AR=$nomA$ROUGE AV=$nomA$VERTE AB=$nomA$BLEUE                                              $formatI        \
                                                            | $xci/gradient.01$X                                        $formatI        \
                                                            | $xci/seuil$X                            seuil=$Sgradient  $formatI        \
                                                            | $xci/complement$X                                         $formatI        \
                                                            | $xci/filtre.01$X    N=$nomT$W           seuil=$Sfiltre    $formatI        \
                                                            | $xci/acces$X                            R=$nomT           $formatI
                                        # Calcul de la luminance de l'image vraies couleurs Argument, puis du gradient de cette meme  #
                                        # luminance, que l'on seuille, puis que l'on complemente, puis qu'enfin on filtre...          #
else
          if        ($MessageErr == $EXIST) then
                                        # Test introduit le 20060302170848 et permettant de supprimer le message qui suit...          #
                    EROR      "Les seuls formats d'image reconnus par le programme '"'$xci/filtre.01$X'"' sont \c"
                    ECHO      "{Suh,Suq,Sud,Std,Sdu} (carree et puissance de 2), ce programme ne peut donc etre utilise."
          else
          endif

          $xci/luminance.01$X AR=$nomA$ROUGE AV=$nomA$VERTE AB=$nomA$BLEUE                                              $formatI        \
                                                            | $xci/gradient.01$X                                        $formatI        \
                                                            | $xci/seuil$X                            seuil=$Sgradient  $formatI        \
                                                            | $xci/complement$X                                         $formatI        \
                                                            | $xci/acces$X                            R=$nomT           $formatI
                                        # Calcul de la luminance de l'image vraies couleurs Argument, puis du gradient de cette meme  #
                                        # luminance, que l'on seuille, puis que l'on complemente.                                     #
endif

if        ($EtLogique == $EXIST) then
          execRVB   $xci/and$X          A1=$nomA%s A2=$nomT R=$nomR%s                                         $formatI
else
          execRVB   $xci/multi_02.01$X  A1=$nomA%s A2=$nomT R=$nomR%s                                         $formatI
endif
                                        # Et enfin detourage la ou le gradient est fort...                                            #

if        ($Convoluer == $EXIST) then
          $xci/complement$X   A=$nomT R=$nomT                                                       $formatI
          execRVB   $xci/convol.02$X    A=$nomR%s N=$nomT V=$BLANC F=$BLANC R=$nomR%s fp=$FConvol mncv=FAUX   $formatI
                                        # Et enfin convolution fonction du gradient inverse (introduit le 20091202094117)...          #
else
endif

FileTmpE  nomT
                                        # Puis destruction des images de manoeuvre...                                                 #



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.