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