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