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