/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   D E   L A   T R A N S F O R M E E   E N   O N D E L E T T E                                                  */
/*        P A R   L ' O N D E L E T T E   D E   M O R L E T   D ' U N E   I M A G E  :                                               */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/ondes.02$K' :                                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1988??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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  maths_trans_ONDELETTES_EXT
#include  image_image_QUAD_IMAGE_EXT

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   DILATATION                                                                                                                    \
                    FU                                                                                                                  \
                                        /* Dilatation 'a' des coordonnees.                                                           */
#define   PHASE                                                                                                                         \
                    FZERO                                                                                                               \
                                        /* Phase 't'.                                                                                */
#define   MODULE                                                                                                                        \
                    FU                                                                                                                  \
                                        /* Module 'k'.                                                                               */
#define   ECHELLE_HORIZONTALE                                                                                                           \
                    FU                                                                                                                  \
                                        /* Pour definir le parametre d'echelle,                                                      */
#define   ECHELLE_VERTICALE                                                                                                             \
                    FU                                                                                                                  \
                                        /* Pour definir le parametre d'echelle.                                                      */
#define   RENORMALISER                                                                                                                  \
                    VRAI                                                                                                                \
                                        /* Pour renormaliser les images.                                                             */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   D E   L A   T R A N S F O R M E E   E N   O N D E L E T T E                                                  */
/*        P A R   L ' O N D E L E T T E   D E   M O R L E T   D ' U N E   I M A G E  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_imageRR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageRI),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
     DEFV(Float,INIT(dilatation,DILATATION));
                                        /* Dilatation 'a' des coordonnees.                                                           */
     DEFV(Float,INIT(phase,PHASE));
                                        /* Phase 't',                                                                                */
     DEFV(Float,INIT(module,MODULE));
                                        /* Module 'k'.                                                                               */
     DEFV(coeffF_2D,parametre_d_echelle);
                                        /* Parametre d'echelle.                                                                      */
     DEFV(Logical,INIT(renormaliser_l_image,RENORMALISER));
                                        /* Indicateur de renormalisation.                                                            */
     /*..............................................................................................................................*/
     INITIALISATION_COEFFICIENT_2D(parametre_d_echelle,ECHELLE_HORIZONTALE,ECHELLE_VERTICALE);
                                        /* Initialisation a priori du parametre d'echelle.                                           */
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageRR=""RR=",nom_imageRR);
                         GET_ARGUMENT_C("imageRI=""RI=",nom_imageRI);
                         GET_ARGUMENT_F("ex=""Ex=",ASD1(parametre_d_echelle,cx));
                         GET_ARGUMENT_F("ey=""Ey=",ASD1(parametre_d_echelle,cy));
                         GET_ARGUMENT_F("dilatation=""d=",dilatation);
                         GET_ARGUMENT_F("phase=""p=",phase);
                         GET_ARGUMENT_F("module=""m=",module);
                         GET_ARGUMENT_L("rn=""renormaliser=",renormaliser_l_image);
                         )
                    );

     CALi(Inoir(ImageA1));
     CALi(Inoir(ImageA2));
                                        /* Initialisation de deux images Resultat avant le changement eventuel de (pasX,pasY).       */

     Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA,nom_imageA))))
          Bblock
          EGAL(Fondelettes_1D_____dilatation_ondelette_2D_de_Morlet,dilatation);
          EGAL(Fondelettes_1D_____phase_ondelette_2D_de_Morlet,phase);
          EGAL(Fondelettes_1D_____module_ondelette_2D_de_Morlet,module);
                                        /* Initialisation des parametres definissant l'ondelette ('a', 't' et 'k').                  */
          CALS(Iondelettes_2D_reelles(ImageA1
                                     ,ImageA
                                     ,ADRESSE(parametre_d_echelle)
                                     ,renormaliser_l_image
                                     ,aFONCTION(Fpartie_reelle_de_l_ondelette_2D_de_Morlet)
                                      )
               );
                                        /* A1 : partie reelle de la transformee bi-dimensionnelle,                                   */
          CALi(Iupdate_image(nom_imageRR,ImageA1));
          CALS(Iondelettes_2D_reelles(ImageA2
                                     ,ImageA
                                     ,ADRESSE(parametre_d_echelle)
                                     ,renormaliser_l_image
                                     ,aFONCTION(Fpartie_imaginaire_de_l_ondelette_2D_de_Morlet)
                                      )
               );
                                        /* A2 : partie imaginaire de la transformee bi-dimensionnelle.                               */
          CALi(Iupdate_image(nom_imageRI,ImageA2));
          Eblock
     ATes
          Bblock
          Test__CODE_ERREUR__ERREUR07;
          Eblock
     ETes

     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.