/*************************************************************************************************************************************/ /* */ /* I N I T I A L I S A T I O N D ' U N E I M A G E C O M P L E X E P A R U N C H A M P D E M O R L E T : */ /* */ /* */ /* Author of '$xci/morlet.02$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1989??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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_IMAGESJ_EXT /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #include xci/genere_ch.01.I" #define DILATATION \ FU \ /* Dilatation des coordonnees 'a'. */ #define ROTATION PI_SUR_2 \ /* Facteur de rotation 't'. */ #define MODULE FLOT(SIX) \ /* Module |k|. */ #define LINEAIRE FU \ /* Importance de la partie lineaire de l'exonentielle complexe. */ #define RADIALE FZERO \ /* Importance de la partie radiale de l'exonentielle complexe. */ #define MORLET \ FU \ /* Efficacite de Morlet. */ #define MORLET_X2 \ FDU \ /* Ponderation de XxX, */ #define MORLET_Y2 \ FDU \ /* Ponderation de YxY, */ #define MORLET_XY \ FZERO \ /* Ponderation de XxY. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N I T I A L I S A T I O N D ' U N E I M A G E P A R U N C H A M P D E M O R L E T : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); #include xci/genere_ch.02.I" DEFV(complexe,valeur_initiale); /* Valeur initiale du champ de Morlet. */ /*..............................................................................................................................*/ Cinitialisation(valeur_initiale,R0_Complexe,I0_Complexe); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____translation,FZERO); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____homothetie,FU); /* Definition des parametres specifiques aux images complexes... */ EGAL(Fmorlet_reel__Fmorlet_imaginaire_____dilatation,DILATATION); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____angle_rotation,ROTATION); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____nombre_de_periodes,MODULE); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient_rotation,LINEAIRE); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient_rayon,RADIALE); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient,MORLET); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient_X2,MORLET_X2); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient_Y2,MORLET_Y2); EGAL(Fmorlet_reel__Fmorlet_imaginaire_____coefficient_XY,MORLET_XY); /* Definition du champ de Morlet... */ #include xci/genere_ch.03.I" GET_ARGUMENTSi(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_F("amplificateur=""a=",amplificateur_de_la_fonction); GET_ARGUMENT_F("translateur=""tr=""T=",translateur_de_la_fonction); /* Le 20050623151658, "t=" a ete remplace par "tr=" (double definition...). */ GET_ARGUMENT_F("dilatation=""d=",Fmorlet_reel__Fmorlet_imaginaire_____dilatation); GET_ARGUMENT_F("theta=""rotation=""p=""angle=",Fmorlet_reel__Fmorlet_imaginaire_____angle_rotation); /* Le 20050623151658, "t=" a ete remplace par "angle=" et "theta=" (double definition...). */ GET_ARGUMENT_F("nombre_periodes=""module=""m=""k=",Fmorlet_reel__Fmorlet_imaginaire_____nombre_de_periodes); /* Le 20121114112533 "nombre_periodes=" a ete introduit... */ GET_ARGUMENT_F("lineaire=""l=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient_rotation); GET_ARGUMENT_F("radiale=""r=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient_rayon); GET_ARGUMENT_F("c=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient); GET_ARGUMENT_F("cx2=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient_X2); GET_ARGUMENT_F("cy2=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient_Y2); GET_ARGUMENT_F("cxy=",Fmorlet_reel__Fmorlet_imaginaire_____coefficient_XY); GET_ARGUMENT_L("translater=",IJscale_____translater_aussi_la_partie_Imaginaire); GET_ARGUMENT_L("rn=""renormaliser=",IJgenere_champ_____renormaliser_le_champ_automatiquement); /* Arguments introduits le 20121114132459... */ ) ); CALi(IJinitialisation(IJmageR,ADRESSE(valeur_initiale))); /* Initialisation de l'image Resultat. */ CALS(IJgenere_champ(IJmageR ,amplificateur_de_la_fonction ,aFONCTION(Fmorlet_reel),aFONCTION(Fmorlet_imaginaire) ,translateur_de_la_fonction ,ADRESSE(translation) ,ADRESSE(echelle) ,Zf_ARGUMENT_INUTILE ,Tf_ARGUMENT_INUTILE ) ); /* Generation du champ de Morlet... */ /* */ /* L'argument 'Tf_ARGUMENT_INUTILE' a ete introduit le 20100209120858... */ CALS(IJscale(IJmageR,FLOT(MOIT(COULEURS)),FZERO,IJmageR)); /* Et mise en place d'une amplitude de l'ordre de 'COULEURS'... */ CALi(IupdateJ_image(nom_imageR,IJmageR)); /* Et rangement du champ complexe... */ RETU_Commande; Eblock ECommande