/*************************************************************************************************************************************/
/* */
/* 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
Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.