/*************************************************************************************************************************************/ /* */ /* A C C E S S I M P L E A U N E S E Q U E N C E D ' I M A G E S : */ /* */ /* */ /* Author of '$xci/acces.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20001224000049). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE #include image_image_IMAGESF_EXT /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #include xci/sequence.01.I" #include xci/acces.01.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ #include xci/acces.02.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* A C C E S S I M P L E A U N E S E Q U E N C E D ' I M A G E S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); /* Nom des sequences Argument et Resultat. */ DEFV(CHAR,INIC(POINTERc(nom_imagesA),NOM_PIPE)); DEFV(CHAR,INIC(POINTERc(nom_imagesR),NOM_PIPE)); /* Nom des images Argument et Resultat. */ DEFV(CHAR,INIC(POINTERc(nom_postfixe),NOM_UNDEF_VIDE)); /* Nom d'un eventuel postfixe a placer derriere <nom_imageA><numero> (par exemple '$ROUGE'). */ DEFV(Int,INIT(premiere_image,PREMIERE_IMAGE)); /* Numero de la premiere image, */ DEFV(Int,INIT(derniere_image,DERNIERE_IMAGE)); /* Numero de la derniere image. */ DEFV(Int,INIT(pas_des_images,PAS_DES_IMAGES)); /* Pas de passage d'un numero d'image a une autre. */ DEFV(Int,INIT(nombre_de_chiffres,NOMBRE_DE_CHIFFRES)); /* Nombre de chiffres codant le numero des images de la serie... */ DEFV(Int,INIT(numero_d_image,UNDEF)); /* Numero de l'image courante. */ #include xci/acces.03.I" /*..............................................................................................................................*/ EGAL(les_images_standards_sont_a_renormaliser,IL_FAUT_RENORMALISER); /* Il ne faut pas renormaliser l'image ('v $xci/acces.01$I IL_FAUT_RENORMALISER')... */ GET_ARGUMENTSi(nombre_d_arguments ,BLOC(GET_ARGUMENT_L("IFnormalisation_____compatibilite_20120705=""compatibilite_20120705=" ,IFnormalisation_____compatibilite_20120705 ); /* Parametre introduit le 20120705165735... */ GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_C("postfixe=",nom_postfixe); GET_ARGUMENT_I("premiere=",premiere_image); GET_ARGUMENT_I("derniere=",derniere_image); GET_ARGUMENT_I("pas=",pas_des_images); GET_ARGUMENT_I("chiffres=",nombre_de_chiffres); GET_ARGUMENT_L("detruire=""delete=",detruire_l_image); GET_ARGUMENT_L("standard=",les_images_sont_standards); GET_ARGUMENT_L("cs=""convertir_standard=""convertir=",il_faut_convertir_les_images_standards); GET_ARGUMENT_L("norm=""normaliser=",il_faut_normaliser_apres_conversion_les_images_standards); GET_ARGUMENT_F("origine=""o=",IFnormalisation_____niveau_origine___de_normalisation); GET_ARGUMENT_F("extremite=""e=",IFnormalisation_____niveau_extremite_de_normalisation); /* Les parametres du normalisation ont ete introduits le 20090318142049... */ GET_ARGUMENT_L("interpoler=",il_faut_interpoler_apres_conversion_les_images_standards); GET_ARGUMENT_F("geometrique=",Istd_float_avec_interpolation_____ponderation_de_la_moyenne_geometrique); GET_ARGUMENT_F("horizontale=",Istd_float_avec_interpolation_____ponderation_de_l_interpolation_horizontale); GET_ARGUMENT_F("verticale=",Istd_float_avec_interpolation_____ponderation_de_l_interpolation_verticale); GET_ARGUMENT_F("facteur=",Istd_float_avec_interpolation_____facteur_des_derivees_numeriques); GET_ARGUMENT_I("seuil=",Istd_float_avec_interpolation_____seuil_d_interpolation); GET_ARGUMENT_L("lineaire=",il_faut_interpoler_lineairement); GET_ARGUMENT_N("cubique=",il_faut_interpoler_lineairement); GET_ARGUMENT_L("convertir_non_standard=""cns=",il_faut_convertir_les_images_non_standards); GET_ARGUMENT_L("zero=",conserver_le_zero); GET_ARGUMENT_L("rn=""renorm=""renormaliser=""r=",les_images_standards_sont_a_renormaliser); /* Le 20121211135239 "renom=" (erronne) a ete remplace par "renorm="... */ GET_ARGUMENT_L("brutal=",convertir_brutalement); /* Option introduite le 20080902111400... */ GET_ARGUMENT_L("extrema=",il_faut_calculer_les_extrema_des_images_non_standards); GET_ARGUMENT_L("tronquer=",tronquer_les_niveaux); GET_ARGUMENT_P("noir=""niveau=""n=""NOIR=",niveau_de_NOIR_remonte); GET_ARGUMENT_P("niveau_extrema_egaux=""nee=" ,Ifloat_std_____niveau_plancher_a_utiliser_si_les_extrema_sont_egaux ); /* Options introduite le 20120706084205... */ GET_ARGUMENT_F("minimum=""min=",minimum_force); GET_ARGUMENT_F("maximum=""max=",maximum_force); GET_ARGUMENT_F("epsilon=",Ifloat_std_____epsilon_de_seuillage_inferieur_par_rapport_au_niveau_minimal); ) ); DoIn(numero_d_image,premiere_image,derniere_image,pas_des_images) Bblock NOM_DE_L_IMAGE_COURANTE_D_UNE_SEQUENCE(nom_imagesA,nom_imageA,nom_postfixe,numero_d_image,nombre_de_chiffres); NOM_DE_L_IMAGE_COURANTE_D_UNE_SEQUENCE(nom_imagesR,nom_imageR,nom_postfixe,numero_d_image,nombre_de_chiffres); /* Generation des noms des images courantes... */ ACCES_A_UNE_IMAGE_ET_CONVERSIONS_EVENTUELLES(nom_imagesR,nom_imagesA); /* Acces et conversions de l'image courante... */ Eblock EDoI RETU_Commande; Eblock ECommande