/*************************************************************************************************************************************/
/* */
/* 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... */