/*************************************************************************************************************************************/
/* */
/* C O N V E R S I O N ( R E E L L E , I M A G I N A I R E ) --> C O M P L E X E : */
/* */
/* */
/* Author of '$xci/RI_J$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_IMAGESF_EXT
#include image_image_IMAGESJ_EXT
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#define DECALER_LES_NIVEAUX_DE_L_IMAGE_COMPLEXE \
VRAI \
/* Indique si l'on doit faire un 'IJscale(...)' si 'EST_VRAI(les_images_sont_standards)' */ \
/* ('VRAI') ou la laisser tel quel ('FAUX'). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C O N V E R S I O N ( R E E L L E , I M A G I N A I R E ) --> C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageRJ),NOM_PIPE));
/* Nom de l'image Resultat (image complexe). */
DEFV(CHAR,INIC(POINTERc(nom_imageAR),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageAI),NOM_PIPE));
/* Noms de la partie Reelle et de la partie Imaginaire de l'image Argument. */
DEFV(Logical,INIT(decaler_les_niveaux_de_l_image_complexe,DECALER_LES_NIVEAUX_DE_L_IMAGE_COMPLEXE));
/* Indique si l'on doit faire un 'IJscale(...)' si 'EST_VRAI(les_images_sont_standards)' */
/* ('VRAI') ou la laisser tel quel ('FAUX'). */
DEFV(complexe,valeur_initiale);
/* Valeur initiale de l'image complexe resultante. */
/*..............................................................................................................................*/
Cinitialisation(valeur_initiale,R0_Complexe,I0_Complexe);
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
GET_ARGUMENT_C("imageAI=""AI=",nom_imageAI);
GET_ARGUMENT_C("R=",nom_imageRJ);
GET_ARGUMENT_L("standard=",les_images_sont_standards);
GET_ARGUMENT_L("translater=",IJscale_____translater_aussi_la_partie_Imaginaire);
GET_ARGUMENT_L("decaler=",decaler_les_niveaux_de_l_image_complexe);
)
);
CALi(IJinitialisation(IJmageR,ADRESSE(valeur_initiale)));
/* Initialisation de l'image Resultat. */
Test(PAS_D_ERREUR(CODE_ERROR(gIload_image(les_images_sont_standards,ImageA1,IFmage_PR,nom_imageAR))))
Bblock
/* A1 = partie reelle de l'image que l'on veut convertir en complexe, */
Test(PAS_D_ERREUR(CODE_ERROR(gIload_image(les_images_sont_standards,ImageA2,IFmage_PI,nom_imageAI))))
Bblock
/* A2 = partie imaginaire de l'image que l'on veut convertir en complexe. */
Test(EST_VRAI(les_images_sont_standards))
Bblock
/* Cas des images 'image' : */
CALS(Istd_float(IFmage_PR,FLOT__NOIR,FLOT__BLANC,ImageA1));
CALS(Istd_float(IFmage_PI,FLOT__NOIR,FLOT__BLANC,ImageA2));
CALS(Ireelle_complexe(IJmageR,IFmage_PR));
CALS(Iimaginaire_complexe(IJmageR,IFmage_PI));
Test(IL_FAUT(decaler_les_niveaux_de_l_image_complexe))
Bblock
CALS(IJscale(IJmageR,FU,FLOT(NEGA(MOIT(COULEURS))),IJmageR));
/* Generation de l'image Resultat complexe avec (ImageA1,ImageA2). */
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
/* Cas des images 'imageF' : */
CALS(Ireelle_complexe(IJmageR,IFmage_PR));
CALS(Iimaginaire_complexe(IJmageR,IFmage_PI));
/* Generation de l'image Resultat complexe avec (IFmage_PR,IFmage_PI). */
Eblock
ETes
CALi(IupdateJ_image(nom_imageRJ,IJmageR));
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
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.