#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         F L O U   D ' U N E   I M A G E   P A R   C O N V O L U T I O N   I N D E P E N D A N T E                                   #
#         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.12$Z      <imageA> <imageR> [<facteur> [<longueur_noyau> [<valeur_noyau> [<forme_noyau> [<seuil>]]]]]   #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/flou.12$Z' :                                                                                                #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       nomA=$1
set       nomR=$2
set       facteur=$3
set       longueur_noyau=$4
set       valeur_noyau=$5
set       forme_noyau=$6
set       seuil=$7

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...                                                       #

setArgum  facteur                       0.03529411765
                                        # La valeur implicite de '$facteur' est 9/255.                                                #

if        ("$longueur_noyau" == "$K_VIDE") then
#20111214173412____:          set       longueur_noyau=$nomT                                                                          #
          SET1s     longueur_noyau = $nomT
else
endif

if        ("$valeur_noyau" == "$K_VIDE") then
#20111214173412____:          set       valeur_noyau=$nomT                                                                            #
          SET1s     valeur_noyau = $nomT
else
endif

if        ("$forme_noyau" == "$K_VIDE") then
#20111214173412____:          set       forme_noyau=$nomT                                                                             #
          SET1s     forme_noyau = $nomT
else
endif

setArgum  seuil                         $GRIS_4

if        (("$longueur_noyau" == "$nomT") || ("$valeur_noyau" == "$nomT") || ("$forme_noyau" == "$nomT")) then
          $xci/init$X         niveau=$BLANC R=$nomT                                                                     $formatI
else
endif

alias     substit   'set                 PlAn="\!*"                                                                               ;    \\
                     $xci/substitue$X    A=$nomA p=$xiP/bits.$PlAn substitution=L_SUBSTITUTION_ROUGE                    $formatI  |    \\
                     $xci/acces$X        renormaliser=VRAI 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     convolue  'set                 PlAn="\!*"                                                                               ;    \\
                     $xci/convol.02$X    A=$nomT.$PlAn                                                                                 \\
                                         Facteur=$facteur N=$longueur_noyau                                                            \\
                                         V=$valeur_noyau                                                                               \\
                                         seuil=$seuil F=$forme_noyau                                                                   \\
                                         renormaliser=VRAI                                                                             \\
                                         R=$nomT$Fi.$PlAn                                                                $formatI ;    \\
                     unset               PlAn SeUiL'
                                        # Procedure de convolution des 8 plans de bits...                                             #
convolue  01
convolue  02
convolue  04
convolue  08
convolue  10
convolue  20
convolue  40
convolue  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 convolues...                                              #

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

$DELETE             $nomT
$DELETE             $nomT.??
$DELETE             $nomT$Fi.??
                                        # Puis grand nettoyage...                                                                     #



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