#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         F L O U   D ' U N E   I M A G E   P A R   F I L T R A G E   I N D E P E N D A N T                                           #
#         D E S   D I F F E R E N T S   P L A N S   D E   B I T S  :                                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xci/flou.11$Z      <imageA> <imageR> [<noyau> [<seuil>]]                                                         #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/flou.11$Z' :                                                                                                #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       nomA=$1
set       nomR=$2
set       noyau=$3
set       seuil=$4

setArgum  seuil                         $GRIS_7

if   (    ("$formatI" == "$format_Suq")                                                                                                 \
     ||   ("$formatI" == "$format_Sud")                                                                                                 \
     ||   ("$formatI" == "$format_Std")                                                                                                 \
     ||   ("$formatI" == "$format_Sdu")                                                                                                 \
      ) then
     set       nomT=$xT/`Genom4`
                                        # ATTENTION, c'est 'Genom4' et non point 'genom' qui est utilise afin de limiter la longueur  #
                                        # des noms de fichier crees ci-apres...                                                       #

     if        ("$noyau" == "$K_VIDE") then
#20111214173323____:               set                 noyau=$nomT                                                                    #
               SET1s               noyau = $nomT

               $xci/gauss$X        R=$noyau                                                                                  $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).          #
     else
     endif

     alias     substit   'set                 PlAn="\!*"                                                                          ;    \\
                          $xci/substitue$X    A=$nomA p=$xiP/bits.$PlAn substitution=L_SUBSTITUTION_ROUGE R=$nomT.$PlAn $formatI  ;    \\
                          unset               PlAn'
                                        # Procedure d'extraction des 8 plans de bits...                                               #
     substit   01
     substit   02
     substit   04
     substit   08
     substit   10
     substit   20
     substit   40
     substit   80
                                        # Extraction des 8 plans de bits...                                                           #

     alias     filtre    'set                 PlAn="\!*" ; set SeUiL=$seuil ; set NoYaU=$noyau                                    ;    \\
                          $xci/filtre.01$X    A=$nomT.$PlAn N=$NoYaU seuil=$SeUiL R=$nomT$Fi.$PlAn                       $formatI ;    \\
                          unset               PlAn SeUiL NoYaU'
                                        # Procedure de filtrage des 8 plans de bits...                                                #
     filtre    01
     filtre    02
     filtre    04
     filtre    08
     filtre    10
     filtre    20
     filtre    40
     filtre    80
                                        # Filtrage des 8 plans de bits...                                                             #
     alias     ecrase    'set                 PlAn="\!*"                                                                          ;    \\
                          $xci/substitue$X    A=$nomT$Fi.$PlAn p=$xiP/binaire.01 substitution=L_SUBSTITUTION_ROUGE       $formatI |    \\
                          $xci/substitue$X    p=$xiP/bits.$PlAn substitution=L_SUBSTITUTION_ROUGE R=$nomT$Fi.$PlAn       $formatI ;    \\
                          unset               PlAn SeUiL'
                                        # Procedure d'ecrasement des niveaux resultant du filtrage...                                 #
     ecrase    01
     ecrase    02
     ecrase    04
     ecrase    08
     ecrase    10
     ecrase    20
     ecrase    40
     ecrase    80
                                        # Ecrasement des niveaux resultant du filtrage...                                             #

     alias     somme     'set                 PlAnA1=\!:1 ; set PlAnA2=\!:2 ; set PlAnR=\!:3                                      ;    \\
                          $xci/or_02$X        A1=$nomT$Fi.$PlAnA1 A2=$nomT$Fi.$PlAnA2 R=$nomT$Fi.$PlAnR                  $formatI ;    \\
                          unset               PlAnA1 PlAnA2 PlAnR'
                                        # Procedure de sommation deux a deux des couches...                                           #
     somme     01        02        03
     somme     04        08        0C
     somme     10        20        30
     somme     40        80        C0
     somme     03        0C        0F
     somme     30        C0        F0
     somme     0F        F0        FF
                                        # Sommation des huits plans de bits filtres...                                                #

     $xci/acces$X        A=$nomT$Fi.FF R=$nomR                                                                               $formatI

     $DELETE             $nomT
     $DELETE             $nomT.??
     $DELETE             $nomT$Fi.??
                                        # Puis grand nettoyage...                                                                     #
else
          EROR      "A cause du programme '"'$xci/filtre.01$X'"', les seuls formats d'image reconnus sont \c"
          ECHO      "{Suh,Suq,Sud,Std,Sdu} (carree et puissance de 2)."
endif



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