/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   D E   L A   D E N S I T E   D ' U N E   I M A G E   N O N   S T A N D A R D  :                               */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/densite_2D.11$K' :                                                                                         */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20001222135240).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   DEMI_DIMENSION_X                                                                                                              \
                    QUATRE
#define   DEMI_DIMENSION_Y                                                                                                              \
                    QUATRE
                                        /* Demi-dimension de la boite de calcul de la densite.                                       */

#define   FACTEUR_DU_NIVEAU                                                                                                             \
                    FU                                                                                                                  \
                                        /* Facteur du niveau.                                                                        */
#define   FACTEUR_DE_LA_DISTANCE                                                                                                        \
                    FU                                                                                                                  \
                                        /* Facteur de la distance.                                                                   */

#define   EXPOSANT_DE_LA_DISTANCE                                                                                                       \
                    FDEUX                                                                                                               \
                                        /* Exposant de la distance.                                                                  */

#define   RENORMALISER_LES_EXPONENTIELLES                                                                                               \
                    VRAI                                                                                                                \
                                        /* Faut-il renormaliser ('VRAI') ou pas ('FAUX') les exponentielles ?                        */

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C A L C U L   D E   L A   D E N S I T E   D ' U N E   I M A G E   N O N   S T A N D A R D  :                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));

     DEFV(Positive,INIT(demi_dimension_X,DEMI_DIMENSION_X));
     DEFV(Positive,INIT(demi_dimension_Y,DEMI_DIMENSION_Y));
                                        /* Demi-dimension de la boite de calcul de la densite.                                       */

     DEFV(Float,INIT(facteur_du_niveau,FACTEUR_DU_NIVEAU));
                                        /* Facteur du niveau.                                                                        */
     DEFV(Float,INIT(facteur_de_la_distance,FACTEUR_DE_LA_DISTANCE));
                                        /* Facteur de la distance.                                                                   */

     DEFV(Float,INIT(exposant_de_la_distance,EXPOSANT_DE_LA_DISTANCE));
                                        /* Exposant de la distance.                                                                  */

     DEFV(Logical,INIT(renormaliser_les_exponentielles,RENORMALISER_LES_EXPONENTIELLES));
                                        /* Faut-il renormaliser ('VRAI') ou pas ('FAUX') les exponentielles ?                        */
     /*..............................................................................................................................*/
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_L("IFdensite_____compatibilite_20110908=""compatibilite_20110908="
                                       ,IFdensite_____compatibilite_20110908
                                        );
                                        /* Argument introduit le 20110908081804...                                                   */
                         GET_ARGUMENT_L("IFdensite_____compatibilite_2014010308=""compatibilite_2014010308="
                                       ,IFdensite_____compatibilite_2014010308
                                        );
                                        /* Argument introduit le 20140103085643...                                                   */
                         GET_ARGUMENT_L("IFdensite_____compatibilite_2014010310=""compatibilite_2014010310="
                                       ,IFdensite_____compatibilite_2014010310
                                        );
                                        /* Argument introduit le 20140103104538...                                                   */

                         GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageR=""R=",nom_imageR);

                         GET_ARGUMENT_L("version_simplifiee=""simplifiee=""vs=",IFdensite_____version_simplifiee);
                                        /* Arguments introduits le 20170730095841...                                                 */

                         GET_ARGUMENT_F("ponderation_RdisF2D=""distance1=""d1=",IFdensite_____ponderation_RdisF2D);
                         GET_ARGUMENT_F("ponderation_ASdisF2D=""distance2=""d2=",IFdensite_____ponderation_ASdisF2D);
                                        /* Arguments introduits le 20170730110416...                                                 */

                         GET_ARGUMENT_L("periodiser_X=""periodX=",IFdensite_____periodiser_X);
                         GET_ARGUMENT_L("periodiser_Y=""periodY=",IFdensite_____periodiser_Y);
                         GET_ARGUMENT_L("symetriser_X=""symetrX=",IFdensite_____symetriser_X);
                         GET_ARGUMENT_L("symetriser_Y=""symetrY=",IFdensite_____symetriser_Y);
                         GET_ARGUMENT_L("prolonger_X=""prolX=",IFdensite_____prolonger_X);
                         GET_ARGUMENT_L("prolonger_Y=""prolY=",IFdensite_____prolonger_Y);
                         GET_ARGUMENT_F("niveau_hors_image=""niveau=",IFdensite_____niveau_hors_image);

                         GET_ARGUMENT_I("dx=""dX=",demi_dimension_X);
                         GET_ARGUMENT_I("dy=""dY=",demi_dimension_Y);
                                        /* Je note le 20120227093901 qu'utiliser :                                                   */
                                        /*                                                                                           */
                                        /*                  dX=0                                                                     */
                                        /*                  dY=0                                                                     */
                                        /*                  IFdensite_____compatibilite_20110908I                                    */
                                        /*                                                                                           */
                                        /* rend l'operation neutre et renvoie 'IFmageR' identique a 'IFmageA'...                     */
                         GET_ARGUMENTS2_I("dxy=""dXY=",demi_dimension_X,demi_dimension_Y);
                                        /* Arguments introduits le 20170730094534...                                                 */

                         GET_ARGUMENT_F("facteurN=""fN=",facteur_du_niveau);
                         GET_ARGUMENT_F("facteurD=""fD=",facteur_de_la_distance);
                         GET_ARGUMENT_F("exposant=""e=",exposant_de_la_distance);

                         GET_ARGUMENT_L("rn=""renormaliser=",renormaliser_les_exponentielles);
                         )
                    );

     CALi(IFinitialisation(IFmageR,FZERO));
                                        /* Initialisation de l'image Resultat.                                                       */

     Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(IFmageA,nom_imageA))))
          Bblock
          CALS(IFdensite(IFmageR
                        ,IFmageA
                        ,demi_dimension_X
                        ,demi_dimension_Y
                        ,facteur_du_niveau
                        ,facteur_de_la_distance
                        ,exposant_de_la_distance
                        ,renormaliser_les_exponentielles
                         )
               );
                                        /* Calcul de la densite...                                                                   */

          CALi(IupdateF_image(nom_imageR,IFmageR));
          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.