####################################################################################################################################### # # # D E F O R M A T I O N D ' U N C H A M P : # # # # # # Author of '$xivP/disk.000000006/face.2/.TREF.3.11.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20030920100015). # # # ####################################################################################################################################### $Z SETParam Premiere 1 $Z SETParam Derniere 128 $Z setParam _____imageT $xTV/TREFLE $Z # Racine du nom des images Temporaires... # $Z setParam _____Champ_Ct 32 $Z setParam _____Champ_Ampli +1 $Z # Le 20030909173357, la valeur de '$_____Champ_Ampli' est passee de +400 a +1 car, en effet, # $Z # pour des raisons liees a la conversion 'genere_float --> genere_p' avec la commande # $Z # 'v $xci/filtre.01$K' ci-qpres, il vaut mieux que les valeurs du champ '$xTV/CHAMP' soient # $Z # positives ou nulles... # $Z setParam _____Champ_Trans 0 $Z # Le 20030909173357, la valeur de '$_____Champ_Trans' est passee de -200 a 0 car, en effet, # $Z # pour des raisons liees a la conversion 'genere_float --> genere_p' avec la commande # $Z # 'v $xci/filtre.01$K' ci-qpres, il vaut mieux que les valeurs du champ '$xTV/CHAMP' soient # $Z # positives ou nulles... # $Z setParam _____Deform_Ampli 400 $Z setParam _____Deform_Trans -200 $Z setParam _____Seuil 242 #20150224094431____:$Z Pal # $Z $xci/trefle$X \ $Z Ct=$_____Champ_Ct \ $Z amplificateur=$_____Champ_Ampli \ $Z translateur=$_____Champ_Trans \ $Z Pt=0 \ $Z standard=FAUX \ $Z R=$xTV/CHAMP \ $Z $formatI $Z $xci/gauss$X \ $Z R=$xTV/GAUSS \ $Z $formatI $c #include <stdio.h> $c $c #define N0 Premiere $c #define N Derniere $c $c #define PonderX0 +4.0 $c #define PonderXN +4.0 $c $c #define PonderY0 -4.0 $c #define PonderYN +4.0 $c $c int extrema() $c { $c int n; $c $c printf("$DELETE $xTV/MINIMUM\n"); $c printf("$DELETE $xTV/MAXIMUM\n"); $c $c for (n=N0 ; n<=N ; n++) $c { $c printf("$xci/extrema$X $c A=$_____imageT.%04d $c standard=FAUX $c minimum=VRAI $c maximum=FAUX $c $formatI $c >>&! $xTV/MINIMUM\n" $c ,n $c ); #20150224095551____:$c printf("saut # #20150224095551____:$c >>&! $xTV/MINIMUM\n" # #20150224095551____:$c ); # $c printf("$xci/extrema$X $c A=$_____imageT.%04d $c standard=FAUX $c minimum=FAUX $c maximum=VRAI $c $formatI $c >>&! $xTV/MAXIMUM\n" $c ,n $c ); #20150224095551____:$c printf("saut # #20150224095551____:$c >>&! $xTV/MAXIMUM\n" # #20150224095551____:$c ); # $c /* Extraction des extrema de chacune des transformees "modifiees"... */ $c } $c $c printf("set MinC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MINIMUM | $GRE '^minimum=' | $SE -e 's/^.*=//'`\n"); $c printf("set MaxC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MAXIMUM | $GRE '^maximum=' | $SE -e 's/^.*=//'`\n"); $c /* Extraction des extrema de l'ensemble des transformees. */ $c $c printf("$DELETE $xTV/MINIMUM\n"); $c printf("$DELETE $xTV/MAXIMUM\n"); $c } $c $c int main() $c { $c int n; $c $c for (n=N0 ; n<=N ; n++) $c { $c double PonderX=((PonderXN*(n-N0))+(PonderX0*(N-n)))/(N-N0); $c double PonderY=((PonderYN*(n-N0))+(PonderY0*(N-n)))/(N-N0); $c $c printf("$xci/sinus$X $c amplificateur=$_____Deform_Ampli $c translateur=$_____Deform_Trans $c cX=%f $c cY=%f $c standard=FAUX $c R=$xTV/DEFORMATION_P $c $formatI\n" $c ,+(PonderX) $c ,+(PonderY) $c ); $c printf("$xci/sinus$X $c amplificateur=$_____Deform_Ampli $c translateur=$_____Deform_Trans $c cX=%f $c cY=%f $c standard=FAUX $c R=$xTV/DEFORMATION_N $c $formatI\n" $c ,-(PonderY) $c ,-(PonderX) $c ); $c /* Generation des deux champs de deformation... */ $c $c printf("$xci/deforme.01$X $c A=$xTV/CHAMP $c TX=$xTV/DEFORMATION_P $c TY=$xTV/DEFORMATION_N $c periodiser_X=VRAI $c periodiser_Y=VRAI $c R=$_____imageT.%04d $c $formatI\n" $c ,n $c ); $c /* Deformation... */ $c } $c $c extrema(); $c /* Recherche des extrema... */ $c $c for (n=N0 ; n<=N ; n++) $c { $c printf("$xci/acces$X $c A=$_____imageT.%04d $c standard=FAUX $c zero=FAUX $c extrema=FAUX $c minimum=$MinC $c maximum=$MaxC $c tronquer=FAUX $c R=$_____imageT.%04d $c $formatI\n" $c ,n $c ,n $c ); $c /* Conversion "standard" avec renormalisation globale... */ $c } $c $c for (n=N0 ; n<=N ; n++) $c { $c printf("$xci/filtre.01$X $c A=$_____imageT.%04d $c standard=VRAI $c N=$xTV/GAUSS $c seuil=$_____Seuil $c respecter=FAUX $c R=$_____imagesR.%04d $c $formatI\n" $c ,n $c ,n $c ); $c /* Et enfin filtrage. L'option "respecter=" est passee de 'VRAI' a 'FAUX' le 20030909191345. */ $c } $c }