#######################################################################################################################################
# #
# 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.1.11.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20030908162435). #
# #
#######################################################################################################################################
$Z SETParam Premiere 1
$Z SETParam Derniere 128
$Z setParam _____imageT $xTV/TREFLE
$Z # Racine du nom des images Temporaires... #
$Z setParam _____Champ_Ct 8
$Z setParam _____Champ_Ampli 400
$Z setParam _____Champ_Trans -200
$Z setParam _____Deform_Ct 8
$Z setParam _____Deform_Ampli 400
$Z setParam _____Deform_Trans -200
$Z setParam _____Seuil 242
#20150224094321____:$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 Phase0 0.0
$c #define PhaseN 6.283185307179586
$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 );
#20150224095336____:$c printf("saut #
#20150224095336____:$c >>&! $xTV/MINIMUM\n" #
#20150224095336____:$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 );
#20150224095336____:$c printf("saut #
#20150224095336____:$c >>&! $xTV/MAXIMUM\n" #
#20150224095336____:$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 Phase=((PhaseN*(n-N0))+(Phase0*(N-n)))/(N-N0);
$c
$c printf("$xci/trefle$X
$c Ct=$_____Deform_Ct
$c amplificateur=$_____Deform_Ampli
$c translateur=$_____Deform_Trans
$c Pt=%f
$c standard=FAUX
$c R=$xTV/DEFORMATION_P
$c $formatI\n"
$c ,+(Phase)
$c );
$c printf("$xci/trefle$X
$c Ct=$_____Deform_Ct
$c amplificateur=$_____Deform_Ampli
$c translateur=$_____Deform_Trans
$c Pt=%f
$c standard=FAUX
$c R=$xTV/DEFORMATION_N
$c $formatI\n"
$c ,-(Phase)
$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=FAUX
$c N=$xTV/GAUSS
$c seuil=$_____Seuil
$c R=$_____imageT.%04d
$c $formatI\n"
$c ,n
$c ,n
$c );
$c /* Filtrage... */
$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=$_____imagesR.%04d
$c $formatI\n"
$c ,n
$c ,n
$c );
$c /* Et enfin conversion "standard" avec renormalisation globale... */
$c }
$c }