/*************************************************************************************************************************************/
/* */
/* G E N E R A T I O N D ' U N C H A M P C O M P L E T E M E N T A L E A T O I R E P A R P O S I T I O N S : */
/* */
/* */
/* Definition : */
/* */
/* Cette commande genere dans l'image */
/* nomme un champ completement aleatoire */
/* ("random") en ce qui concerne les positions */
/* des points. */
/* */
/* */
/* Author of '$xci/random.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 : */
/* */
/*************************************************************************************************************************************/
#define CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE__ARGUMENT_substitution__PAS_s
/* Introduit le 20110403081518 a cause des arguments '"seuil=""s="' ci-apres... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F I C H I E R S D ' I N C L U D E S : */
/* */
/*************************************************************************************************************************************/
#include INCLUDES_BASE
#include image_image_ALEATOIRES_1_EXT
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#include xci/substitue.01.I"
/* Introduit le 20110401191643... */
#define GRAINE \
DEUX \
/* Graine initiale. */
#define SEUIL_DE_GENERATION \
FDU \
/* Seuil implicite de generation des points. */
#define EDITER_LE_NOMBRE_DE_POINTS_MARQUES \
FAUX \
/* Doit-on editer ('VRAI') ou pas ('FAUX') le nombre de points marques ? Ceci fut introduit */ \
/* le 20240828092239... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
#include xci/substitue.02.I"
/* Introduit le 20110401191643... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E N E R A T I O N D ' U N C H A M P C O M P L E T E M E N T A L E A T O I R E P A R P O S I T I O N S : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
DEFV(Int,INIT(graine,GRAINE));
/* Graine du generateur aleatoire... */
DEFV(Float,INIT(seuil_de_generation,SEUIL_DE_GENERATION));
/* Seuil de generation implicite des points. */
DEFV(Logical,INIT(editer_le_nombre_de_points_marques,EDITER_LE_NOMBRE_DE_POINTS_MARQUES));
/* Doit-on editer ('VRAI') ou pas ('FAUX') le nombre de points marques ? Ceci fut introduit */
/* le 20240828092239... */
#include xci/substitue.03.I"
/* Introduit le 20110401191643... */
/*..............................................................................................................................*/
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_I("methode=",gen_ft_____methode_standard);
GET_ARGUMENT_I("graine=",graine);
GET_ARGUMENT_L("affiner_rdn=",rdnIFnD_____affiner_la_generation);
GET_ARGUMENT_L("iterer_rdn=",rdnIFnD_____iterer_la_generation);
GET_ARGUMENT_P("niveau_du_fond=""fond=""noir=",Inoir_____NOIR);
/* Parametres introduits le 20140807103858... */
GET_ARGUMENT_P("niveau_de_marquage=""niveau=""n=",Irandom_positions_____niveau_des_points_probables);
/* Parametres introduits le 20140807101124... */
GET_ARGUMENT_F("PrdnI2D_NEUT=""NEUT=",rdnI2D_____ponderation_NEUT);
GET_ARGUMENT_F("PrdnI2D_GAUS=""GAUS=",rdnI2D_____ponderation_GAUS);
GET_ARGUMENT_F("PrdnI2D_GAUS_esperance=""GAUS_esperance=",rdnI2D_____ponderation_GAUS_esperance_);
GET_ARGUMENT_F("PrdnI2D_GAUS_ecart_type=""GAUS_ecart_type=",rdnI2D_____ponderation_GAUS_ecart_type);
/* Parametres introduits le 20110325114835... */
CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE;
/* Introduit le 20110401181804 sous cette forme... */
GET_ARGUMENT_F("seuil=""s=",seuil_de_generation);
GET_ARGUMENT_L("editer_nombre_points=""editer=",editer_le_nombre_de_points_marques);
/* Introduit le 20240828092239... . */
GET_ARGUMENT_L("aleatoire=""a=",rdnI2D_____generer_une_valeur_aleatoire);
GET_ARGUMENT_N("non_aleatoire=""na=",rdnI2D_____generer_une_valeur_aleatoire);
GET_ARGUMENT_F("non_aleatoire_ponderation_X=""napx=",rdnI2D_____ponderation_X);
GET_ARGUMENT_F("non_aleatoire_ponderation_Y=""napy=",rdnI2D_____ponderation_Y);
GET_ARGUMENT_F("non_aleatoire_translation_XY=""natxy=",rdnI2D_____translation_XY);
/* Parametres introduits le 20220116110459... */
GET_ARGUMENT_F("non_aleatoire_ponderation_de_NEUT=""napNEUT="
,FfTransformUniverselle1_____ponderation_de_NEUT
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_COSX=""napCOSX="
,FfTransformUniverselle1_____ponderation_de_COSX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_SINX=""napSINX="
,FfTransformUniverselle1_____ponderation_de_SINX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_TANX=""napTANX="
,FfTransformUniverselle1_____ponderation_de_TANX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_ATAN=""napATAN="
,FfTransformUniverselle1_____ponderation_de_ATAN
);
GET_ARGUMENT_F("non_aleatoire_arg_x_ATAN=""naaxATAN="
,FfTransformUniverselle1_____arg_x_ATAN
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_COHX=""napCOHX="
,FfTransformUniverselle1_____ponderation_de_COHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_SIHX=""napSIHX="
,FfTransformUniverselle1_____ponderation_de_SIHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_TAHX=""napTAHX="
,FfTransformUniverselle1_____ponderation_de_TAHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_CSHX=""napCSHX="
,FfTransformUniverselle1_____ponderation_de_CSHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_SSHX=""napSSHX="
,FfTransformUniverselle1_____ponderation_de_SSHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_CTHX=""napCTHX="
,FfTransformUniverselle1_____ponderation_de_CTHX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_ATAH=""napATAH="
,FfTransformUniverselle1_____ponderation_de_ATAH
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_SLOGX=""napSLOGX="
,FfTransformUniverselle1_____ponderation_de_SLOGX
);
GET_ARGUMENT_F("non_aleatoire_ponderation_de_EXPX=""napEXPX="
,FfTransformUniverselle1_____ponderation_de_EXPX
);
/* Parametres introduits le 20220116165818... */
)
);
#include xci/substitue.05.I"
/* Introduit le 20110401191643... */
CALi(Inoir(ImageR));
/* Initialisation de l'image Resultat. */
CALS(Irandom_positions(ImageR,graine,seuil_de_generation));
Test(IL_FAUT(editer_le_nombre_de_points_marques))
/* Test introduit le 20240828092239... */
Bblock
CAL3(Prme1("NombreDePoints=%d\n",Irandom_positions_____nombre_de_points_marques));
/* On notera le 20240828093325 que le nombre de points marques est une fonction lineaire */
/* du seuil de generation. Ainsi, par exemple, pour un seuil 4 fois plus petits, il y aura */
/* environ 4 fois moins de points... */
Eblock
ATes
Bblock
Eblock
ETes
CALi(Iupdate_image(nom_imageR,ImageR));
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.