#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         " D I T H E R I N G "   D ' U N E   I M A G E  :                                                                            #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xci/dithering.01$Z <imageA> <imageR>                                                                             #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/dithering.01$Z' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set                 nomA=$1
set                 nomR=$2

FileTmpB            nomT1
FileTmpB            nomT2
FileTmpB            nomT3

alias     dither    'set  PlAn=\!:1 ; set  RaNdOm=\!:2 ; set GrAiNe=\!:3                                                          ;    \\
                     $xci/substitue$X A=$nomA p=$xiP/plan.$PlAn substitution=L_SUBSTITUTION_ROUGE R=$nomT1 $formatI               ;    \\
                     $xci/random.02$X seuil=$RaNdOm graine=$GrAiNe R=$nomT2 $formatI                                              ;    \\
                     $xci/and$X A1=$nomT1 A2=$nomT2 R=$nomT3.$PlAn $formatI                                                       ;    \\
                     unset PlAn RaNdOm GrAiNe'

dither    01        0.005     1
dither    02        0.010     2
dither    04        0.020     3
dither    08        0.040     4
dither    10        0.080     5
dither    20        0.160     6
dither    40        0.320     7
dither    80        0.640     8
                                        # Chaque plan est represente par une trame aleatoire contenant d'autant plus de points blancs #
                                        # que le poids du plan est eleve (de 01 a 80), d'ou le seuil '$RaNdOm' croissant. Enfin, la   #
                                        # graine 'graine' aleatoire variable pour chaque plan est destinee a ce que les differentes   #
                                        # trames aleatoires se recouvrent le moins possible (c'est-a-dire, qu'elles aient le moins    #
                                        # possible de points communs). On notera que la probabilite de marquer un point est double    #
                                        # en passant d'un plan a un autre ; malgre cela, pour une image telle 'v $xiio/MIRE' il vaut  #
                                        # mieux utiliser '0.500' que '0.640'...                                                       #

$xci/or_03$X        A1=$NOIR  A2=$nomT3.01   A3=$nomT3.02   R=$nomR             $formatI
$xci/or_03$X        A1=$nomR       A2=$nomT3.04   A3=$nomT3.08   R=$nomR        $formatI
$xci/or_03$X        A1=$nomR       A2=$nomT3.10   A3=$nomT3.20   R=$nomR        $formatI
$xci/or_03$X        A1=$nomR       A2=$nomT3.40   A3=$nomT3.80   R=$nomR        $formatI
                                        # Superposition des differentes trames aleatoires correspondant a chacun des plans, sachant,  #
                                        # rappelons-le que plus leur poids est eleve, plus elles doivent avoir de points blancs...    #

FileTmpE  nomT1
FileTmpE  nomT2
FileTmpE  nomT3
                                        # Puis destruction des images temporaires.                                                    #



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.