#######################################################################################################################################
# #
# V I S U A L I S A T I O N D E S C E N T R E S D E G R A V I T E #
# D U R E M P L I S S A G E D ' U N P A V A G E H E X A G O N A L : #
# #
# #
# Author of '$xiirv/.TROR.66.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20161106091321). #
# #
#######################################################################################################################################
$Z setParam _____Diagonale FAUX
$Z setParam _____Erosion 1
$Z # ATTENTION : ce parametre semble tres lie au parametre 'v $xiirv/.TROR.11.$U _____Rayon'... #
$Z setParam _____OptimiserIncrement VRAI
$Z # Parametre introduit le 20161114133659 (la valeur par defaut grantit la compatibilite #
$Z # anterieure et ne doit donc pas utiliser 'GetParam' au cas ou il y aurait des modifications #
$Z # dans 'v $xci/contours.22$K OPTMISER_AUTOMATIQUEMENT_L_INCREMENT'...). #
$Z setParam _____NiveauInitial $NOIR_PLANCHER
$Z setParam _____IncrementNiveau 1
$Z setParam _____ContourExterieur 2
$Z setParam _____MinRayon 0.002
$Z setParam _____MaxRayon 0.020
$Z setParam _____AttenuationI 0.5
$Z SETParam _____JoindreG $NEXIST
$Z # Parametre introduit le 20161109085340... #
$Z setParam _____MinDistances 0
$Z # Parametre introduit le 20161109085340... #
$Z setParam _____MaxDistances 0.05
$Z # Parametre introduit le 20161109085340... #
$Z setParam _____GrossissementG 1.5
$Z # Parametre introduit le 20161109085340... #
$Z setParam _____LzG 1
$Z # Parametre introduit le 20161109122322... #
$Z FilSTmpB FCeNtReGrAvItE
$Z set DiReCtIoN_1="$K_VIDE"
$Z set DiReCtIoN_1="$DiReCtIoN_1"" est=VRAI"
$Z set DiReCtIoN_1="$DiReCtIoN_1"" nord=VRAI"
$Z set DiReCtIoN_1="$DiReCtIoN_1"" ouest=VRAI"
$Z set DiReCtIoN_1="$DiReCtIoN_1"" sud=VRAI"
$Z set DiReCtIoN_2="$K_VIDE"
$Z set DiReCtIoN_2="$DiReCtIoN_2"" nord___est=$_____Diagonale"
$Z set DiReCtIoN_2="$DiReCtIoN_2"" nord_ouest=$_____Diagonale"
$Z set DiReCtIoN_2="$DiReCtIoN_2"" sud_ouest=$_____Diagonale"
$Z set DiReCtIoN_2="$DiReCtIoN_2"" sud___est=$_____Diagonale"
$Z $xci/luminance.01$X \
$Z A=$_____ImagesR \
$Z $formatI | \
$Z $xci/seuil$X \
$Z $formatI | \
$Z $xci/dilate.01$X \
$Z points=$_____Erosion \
$Z eroder=VRAI \
$Z $formatI | \
$Z $xci/contours.22$X \
$Z optimiser_increment=$_____OptimiserIncrement \
$Z niveau_initial=$_____NiveauInitial \
$Z increment_niveau=$_____IncrementNiveau \
$Z $DiReCtIoN_1 \
$Z $DiReCtIoN_2 \
$Z editer_centres_gravite=VRAI \
$Z R=$xTV/CARREAUX \
$Z $formatI |& \
$Z $SE -e "s/^/ /" \
$Z -e "s/ [_$Alphabet_A_Z_a_z][_$Alphabet_A_Z_a_z]*=/ /g" \
$Z -e "s/^ //" | \
$Z $SOR -n -r | \
$Z $TAI +$_____ContourExterieur | \
$Z $GRE -v '^. ' \
$Z >>& $FCeNtReGrAvItE
$Z # Le '$TAI' est destine a supprimer le plus gros contour qui correspond a tout l'exterieur... #
$Z # Quant au '$GRE', il supprime les trop petits contours qui sont en fait des anomalies (dans #
$Z # le coin d'angles tres aigus...). #
$Z $CA $FCeNtReGrAvItE | \
$Z $AW ' { print $1 } ' | \
$Z $xrv/normalise.01$X ne=0 fichier== \
$Z origine=$_____MinRayon extremite=$_____MaxRayon \
$Z > $FCeNtReGrAvItE$RAYON
$Z $CA $FCeNtReGrAvItE | \
$Z $AW ' { print $2 } ' \
$Z > $FCeNtReGrAvItE.1$COORD_X
$Z set MiNiMuM_X=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_X ms=VRAI`
$Z set MaXiMuM_X=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_X Ms=VRAI`
$Z set OrIgInE___X=`calcul ($MiNiMuM_X-$Xmin)/($Xmax-$Xmin)`
$Z set ExTrEmItE_X=`calcul ($MaXiMuM_X-$Xmin)/($Xmax-$Xmin)`
$Z $CA $FCeNtReGrAvItE.1$COORD_X | \
$Z $xrv/normalise.01$X ne=0 fichier== \
$Z origine=$OrIgInE___X extremite=$ExTrEmItE_X \
$Z > $FCeNtReGrAvItE$COORD_X
$Z $CA $FCeNtReGrAvItE | \
$Z $AW ' { print $3 } ' \
$Z > $FCeNtReGrAvItE.1$COORD_Y
$Z set MiNiMuM_Y=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_Y ms=VRAI`
$Z set MaXiMuM_Y=`$xrv/extrema.01$X ne=0 fichier=$FCeNtReGrAvItE.1$COORD_Y Ms=VRAI`
$Z set OrIgInE___Y=`calcul ($MiNiMuM_Y-$Ymin)/($Ymax-$Ymin)`
$Z set ExTrEmItE_Y=`calcul ($MaXiMuM_Y-$Ymin)/($Ymax-$Ymin)`
$Z $CA $FCeNtReGrAvItE.1$COORD_Y | \
$Z $xrv/normalise.01$X ne=0 fichier== \
$Z origine=$OrIgInE___Y extremite=$ExTrEmItE_Y \
$Z > $FCeNtReGrAvItE$COORD_Y
$Z set CoOrDoNnEe_Z=0.5
$Z if ($_____JoindreG == $NEXIST) then
$Z # Test introduit le 20161109092717... #
#20161109110943____:$Z $CA $FCeNtReGrAvItE | \ #
#20161109110943____:$Z $AW ' { print "$xci/niveau$X A=$ImAgE_A x=" $2 " y=" $3 " Prme=VRAI K_LF=VRAI $formatI" } ' \ #
#20161109110943____:$Z > $FCeNtReGrAvItE$Y #
#20161109110943____:$Z (source $FCeNtReGrAvItE$Y) \ #
#20161109110943____:$Z > $FCeNtReGrAvItE$ROUGE #
#20161109110943____:$Z (source $FCeNtReGrAvItE$Y) \ #
#20161109110943____:$Z > $FCeNtReGrAvItE$VERTE #
#20161109110943____:$Z (source $FCeNtReGrAvItE$Y) \ #
#20161109110943____:$Z > $FCeNtReGrAvItE$BLEUE #
$Z $xrv/load_image$X ne=0 \
$Z A=$_____ImageA$ROUGE \
$Z LISTE_X=$FCeNtReGrAvItE$COORD_X \
$Z Xnormalisees=VRAI \
$Z LISTE_Y=$FCeNtReGrAvItE$COORD_Y \
$Z Ynormalisees=VRAI \
$Z > $FCeNtReGrAvItE$ROUGE
$Z $xrv/load_image$X ne=0 \
$Z A=$_____ImageA$VERTE \
$Z LISTE_X=$FCeNtReGrAvItE$COORD_X \
$Z Xnormalisees=VRAI \
$Z LISTE_Y=$FCeNtReGrAvItE$COORD_Y \
$Z Ynormalisees=VRAI \
$Z > $FCeNtReGrAvItE$VERTE
$Z $xrv/load_image$X ne=0 \
$Z A=$_____ImageA$BLEUE \
$Z LISTE_X=$FCeNtReGrAvItE$COORD_X \
$Z Xnormalisees=VRAI \
$Z LISTE_Y=$FCeNtReGrAvItE$COORD_Y \
$Z Ynormalisees=VRAI \
$Z > $FCeNtReGrAvItE$BLEUE
$Z else
$Z endif
$Z execRVB $xci/scale$X \
$Z A=$_____ImageA%s \
$Z a=$_____AttenuationI \
$Z R=$xTV/FOND%s \
$Z $formatI
$Z set NpartX=`$CA $FCeNtReGrAvItE$COORD_X | $WCl`
$Z set NpartY=`$CA $FCeNtReGrAvItE$COORD_Y | $WCl`
$Z set Npart=`$xcg/MIN2.01$X x=$NpartX y=$NpartY`
$Z set ArGuMeNtSP="$K_VIDE"
$Z if ($_____JoindreG == $EXIST) then
$Z # Possibilite introduite le 20161109085340... #
$Z FilSTmpB FSeGmEnTsG
$Z $xrv/distance.02$X ne=0 \
$Z LISTE_X=$FCeNtReGrAvItE$COORD_X \
$Z LISTE_Y=$FCeNtReGrAvItE$COORD_Y \
$Z tousIJ=FAUX \
$Z filtrer_distances=VRAI \
$Z borne_inferieure_distances=$_____MinDistances \
$Z borne_superieure_distances=$_____MaxDistances | \
$Z $AW ' { print $2 " " $3 } ' | \
$Z $SE -e "s/[^.+$Alphabet_0_9]/ /g" \
$Z >> $FSeGmEnTsG
$Z $CA $FSeGmEnTsG | \
$Z $AW ' { print $1 } ' \
$Z > $FSeGmEnTsG.1$COORD_X
$Z $CA $FSeGmEnTsG | \
$Z $AW ' { print $4 } ' \
$Z > $FSeGmEnTsG.2$COORD_X
$Z $PAST $FSeGmEnTsG.1$COORD_X $FSeGmEnTsG.2$COORD_X | \
$Z $AW ' { print $1 "\n" $2 } ' \
$Z > $FSeGmEnTsG$COORD_X
$Z $CA $FSeGmEnTsG | \
$Z $AW ' { print $2 } ' \
$Z > $FSeGmEnTsG.1$COORD_Y
$Z $CA $FSeGmEnTsG | \
$Z $AW ' { print $5 } ' \
$Z > $FSeGmEnTsG.2$COORD_Y
$Z $PAST $FSeGmEnTsG.1$COORD_Y $FSeGmEnTsG.2$COORD_Y | \
$Z $AW ' { print $1 "\n" $2 } ' \
$Z > $FSeGmEnTsG$COORD_Y
$Z $DELETE $FCeNtReGrAvItE$COORD_X
$Z $DELETE $FCeNtReGrAvItE$COORD_Y
$Z $MV $FSeGmEnTsG$COORD_X $FCeNtReGrAvItE$COORD_X
$Z $MV $FSeGmEnTsG$COORD_Y $FCeNtReGrAvItE$COORD_Y
$Z FilSTmpE FSeGmEnTsG
$Z set ArGuMeNtSP="$ArGuMeNtSP"" isoles=FAUX chainer=FAUX"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" ajuster_points=VRAI"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" equidistance=VRAI compatibilite_20051230=FAUX"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" distance_minimale=$_____DistanceMini"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_RAYON=$_____MinRayon"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_ROUGE=$BLANC"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_VERTE=$BLANC"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_BLEUE=$BLANC"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" grossissement=$_____GrossissementG"
$Z else
$Z set ArGuMeNtSP="$ArGuMeNtSP"" isoles=VRAI"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_RAYON=$FCeNtReGrAvItE$RAYON"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_ROUGE=$FCeNtReGrAvItE$ROUGE"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_VERTE=$FCeNtReGrAvItE$VERTE"
$Z set ArGuMeNtSP="$ArGuMeNtSP"" LISTE_BLEUE=$FCeNtReGrAvItE$BLEUE"
$Z endif
$Z set NpartX=`$CA $FCeNtReGrAvItE$COORD_X | $WCl`
$Z set NpartY=`$CA $FCeNtReGrAvItE$COORD_Y | $WCl`
$Z set Npart=`$xcg/MIN2.01$X x=$NpartX y=$NpartY`
$Z $xrv/particule.10$X np=1 iterations=$Npart \
$Z LISTE_X=$FCeNtReGrAvItE$COORD_X \
$Z LISTE_Y=$FCeNtReGrAvItE$COORD_Y \
$Z LISTE_Z=$CoOrDoNnEe_Z \
$Z $ArGuMeNtSP \
$Z Lz=$_____LzG \
$Z ZOOM=1 \
$Z RVB=VRAI \
$Z N_AU_CARRE=VRAI \
$Z editer_extrema_hors=FAUX \
$Z fond=VRAI F=$xTV/FOND \
$Z R=$_____ImageR \
$Z chiffres=0 \
$Z $formatI
$Z FilSTmpE FCeNtReGrAvItE