/*************************************************************************************************************************************/
/* */
/* C O M B I N A I S O N P O L Y N O M I A L E D E D E U X I M A G E S F L O T T A N T E S : */
/* */
/* */
/* Author of '$xci/poly_2_04$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20071101095626). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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 : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C O M B I N A I S O N P O L Y N O M I A L E D E D E U X I M A G E S F L O T T A N T E S : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA1),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA2),NOM_PIPE));
/*..............................................................................................................................*/
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageA1=""A1=",nom_imageA1);
GET_ARGUMENT_C("imageA2=""A2=",nom_imageA2);
GET_ARGUMENT_C("imageR=""R=",nom_imageR);
/* On notera le 20071103095017 que dans 'IFpolynome_2_04_____coefficient_YX', les */
/* indices 'Y' et 'X' ('v $ximd/operator.1$FON HORNER_2_04') designent respectivement */
/* 'IFmageA2' et 'IFmageA1' : */
/* */
/* IFpolynome_2_04_____coefficient_YX */
/* */
/* ^^ */
/* || */
/* | ----- IFmageA1 */
/* | */
/* ------ IFmageA2 */
/* */
/* ces conventions etant inversees pour les parametres (afin d'en faciliter l'usage), soit : */
/* */
/* aXY (=AXY) */
/* */
/* ^^ */
/* || */
/* | ------ IFmageA1 */
/* | */
/* ------- IFmageA2 */
/* */
/* ce que l'on ecrira symboliquement "A12"... */
/* */
/* Cela peut se retrouver facilement avec : */
/* */
/* $xci/poly_2_04$X a10=1 a01=0 A1=1 A2=2 | $xci/extrema$X standard=FAUX ==> 1 */
/* $xci/poly_2_04$X a10=0 a01=1 A1=1 A2=2 | $xci/extrema$X standard=FAUX ==> 2 */
/* */
/* ou les images {A1,A2} ont respectivement comme valeur {1,2}... */
GET_ARGUMENT_F("a44=""A44=",IFpolynome_2_04_____coefficient_44);
GET_ARGUMENT_F("a34=""A34=",IFpolynome_2_04_____coefficient_43);
GET_ARGUMENT_F("a24=""A24=",IFpolynome_2_04_____coefficient_42);
GET_ARGUMENT_F("a14=""A14=",IFpolynome_2_04_____coefficient_41);
GET_ARGUMENT_F("a04=""A04=",IFpolynome_2_04_____coefficient_40);
GET_ARGUMENT_F("a43=""A43=",IFpolynome_2_04_____coefficient_34);
GET_ARGUMENT_F("a33=""A33=",IFpolynome_2_04_____coefficient_33);
GET_ARGUMENT_F("a23=""A23=",IFpolynome_2_04_____coefficient_32);
GET_ARGUMENT_F("a13=""A13=",IFpolynome_2_04_____coefficient_31);
GET_ARGUMENT_F("a03=""A03=",IFpolynome_2_04_____coefficient_30);
GET_ARGUMENT_F("a42=""A42=",IFpolynome_2_04_____coefficient_24);
GET_ARGUMENT_F("a32=""A32=",IFpolynome_2_04_____coefficient_23);
GET_ARGUMENT_F("a22=""A22=",IFpolynome_2_04_____coefficient_22);
GET_ARGUMENT_F("a12=""A12=",IFpolynome_2_04_____coefficient_21);
GET_ARGUMENT_F("a02=""A02=",IFpolynome_2_04_____coefficient_20);
GET_ARGUMENT_F("a41=""A41=",IFpolynome_2_04_____coefficient_14);
GET_ARGUMENT_F("a31=""A31=",IFpolynome_2_04_____coefficient_13);
GET_ARGUMENT_F("a21=""A21=",IFpolynome_2_04_____coefficient_12);
GET_ARGUMENT_F("a11=""A11=",IFpolynome_2_04_____coefficient_11);
GET_ARGUMENT_F("a01=""A01=",IFpolynome_2_04_____coefficient_10);
GET_ARGUMENT_F("a40=""A40=",IFpolynome_2_04_____coefficient_04);
GET_ARGUMENT_F("a30=""A30=",IFpolynome_2_04_____coefficient_03);
GET_ARGUMENT_F("a20=""A20=",IFpolynome_2_04_____coefficient_02);
GET_ARGUMENT_F("a10=""A10=",IFpolynome_2_04_____coefficient_01);
GET_ARGUMENT_F("a00=""A00=",IFpolynome_2_04_____coefficient_00);
)
);
CALi(IFinitialisation(IFmageR,FZERO));
/* Initialisation de l'image Resultat. */
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(IFmageA1,nom_imageA1))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(IFmageA2,nom_imageA2))))
Bblock
CALS(IFpolynome_2_04(IFmageR,IFmageA1,IFmageA2));
/* Combinaison polynomiale des deux images Arguments... */
CALi(IupdateF_image(nom_imageR,IFmageR));
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
RETU_Commande;
Eblock
ECommande