/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S D E Q U E L Q U E S P R O C E D U R E S N E C E S S A I R E S */ /* A L ' E T U D E D E L ' A T O M E D ' H Y D R O G E N E : */ /* */ /* */ /* Author of '$xrq/synapse.11$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 1993??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* R E C H E R C H E D E S E X T R E M A D ' U N E S E Q U E N C E D ' I M A G E S : */ /* */ /*************************************************************************************************************************************/ #define DONNEES_DE_RECHERCHE_DES_EXTREMA_GLOBAUX_D_UNE_SEQUENCE_D_IMAGES \ DEFV(genere_Float,INIT(niveau_minimum_de_la_sequence,F_INFINI)); \ DEFV(genere_Float,INIT(niveau_maximum_de_la_sequence,F_MOINS_L_INFINI)); \ /* Afin de rechercher les niveaux extrema globaux de l'ensemble de la sequence... */ #define DONNEES_DE_RECHERCHE_DES_EXTREMA_LOCAUX_D_UNE_SEQUENCE_D_IMAGES \ DEFV(genere_Float,INIT(niveau_minimum_de_l_image,FLOT__NIVEAU_UNDEF)); \ DEFV(genere_Float,INIT(niveau_maximum_de_l_image,FLOT__NIVEAU_UNDEF)); \ /* Afin de rechercher les niveaux extrema de l'image courante. */ #define RECHERCHE_DES_EXTREMA_D_UNE_SEQUENCE_D_IMAGES(image_courante_de_la_sequence) \ Bblock \ CALS(IFnivo_extrema(image_courante_de_la_sequence \ ,ADRESSE(niveau_minimum_de_l_image) \ ,ADRESSE(niveau_maximum_de_l_image) \ ) \ ); \ /* Recherche des extrema locaux a l'image courante. */ \ EGAL(niveau_minimum_de_la_sequence \ ,MIN2(niveau_minimum_de_la_sequence \ ,niveau_minimum_de_l_image \ ) \ ); \ EGAL(niveau_maximum_de_la_sequence \ ,MAX2(niveau_maximum_de_la_sequence \ ,niveau_maximum_de_l_image \ ) \ ); \ /* Recherche des extrema globaux a la sequence entiere. */ \ Eblock /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* R E N O R M A L I S A T I O N G L O B A L E D ' U N E S E Q U E N C E D ' I M A G E S : */ /* */ /*************************************************************************************************************************************/ #define RENORMALISATION_GLOBALE_D_UNE_SEQUENCE_D_IMAGES(image_courante_de_la_sequence) \ Bblock \ EGAL(numero_de_la_periode_courante,NUMERO_DE_LA_PREMIERE_PERIODE_DE_LA_SIMULATION); \ /* Reinitialisation... */ \ \ Komp(numero_de_la_periode_courante_de_la_simulation,nombre_de_periodes_de_la_simulation) \ Bblock \ EGAL(nom_image \ ,chain_Aconcaten2_sauf_nom_pipe(nom_imageR \ ,ChaineNumero(numero_de_la_periode_courante \ ,NOMBRE_DE_CHIFFRES \ ) \ ) \ ); \ /* Le 20080602135328 fut introduit 'ChaineNumero(...)' afin de pouvoir parametrer */ \ /* aisement le nombre de chiffres des numeros... */ \ Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(image_courante_de_la_sequence,nom_image)))) \ Bblock \ CALS(Ifloat_std(ImageR \ ,image_courante_de_la_sequence \ ,niveau_minimum_de_la_sequence \ ,niveau_maximum_de_la_sequence \ ) \ ); \ /* Renormalisation globale des images de la sequence. */ \ \ CALi(Iupdate_image(nom_image,ImageR)); \ Eblock \ ATes \ Bblock \ Test__CODE_ERREUR__ERREUR07; \ Eblock \ ETes \ CALZ_FreCC(nom_image); \ \ INCR(numero_de_la_periode_courante,I); \ /* Et passage a l'image suivante... */ \ Eblock \ EKom \ Eblock \ /* Procedure de renormalisation globale d'une sequence d'images. On notera que quelques */ \ /* arguments sont implicites ; il s'agit de : */ \ /* */ \ /* numero_de_la_periode_courante, */ \ /* nom_image, */ \ /* niveau_minimum_de_la_sequence, */ \ /* niveau_maximum_de_la_sequence, */ \ /* ImageR, */ \ /* numero_de_la_periode_courante_de_la_simulation, */ \ /* nombre_de_periodes_de_la_simulation, */ \ /* */ \ /* mais cela n'est absolument pas genant... */