#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         M I S E   E N   N O I R   E T   B L A N C   D ' U N E   I M A G E   E N   V R A I E S   C O U L E U R S  :                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#                   $xci/get_JPEG.11$Z  <imageA> <imageR>                                                              #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/get_JPEG.11$Z' :                                                                                            #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20060707174318).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       nomA=$1
set       nomR=$2

if        (! -e $nomA) then
#20111214173554____:          set       nomA=$nomA$JPEG                                                                               #
          SET1s     nomA = $nomA$JPEG
else
endif

if        (-e $nomA) then

          switch    ("$SYSTEME")
                                        # Recuperation et conversion du fichier '$JPEG'...                                            #
                                        #                                                                                             #
                                        # Discrimination des differents SYSTEMEs possibles :                                          #
               case "SYSTEME_APC_LinuxDebian_GCC":
               case "SYSTEME_APC_LinuxMandrake_GCC":
               case "SYSTEME_APC_LinuxRedHat_GCC":
               case "SYSTEME_APC_LinuxUbuntu_GCC":
               case "SYSTEME_APC_LinuxUbuntu_ICC":
               case "SYSTEME_APC_LinuxUlmint_GCC":
               case "SYSTEME_APC_LinuxUlmint_ICC":
                    source    $Fdivers
                                        # Afin de definir l'alias 'SwapB' si besoin est...                                            #

                    set       DiMeNsIoN=`$CONVERT -verbose JPEG:$nomA $nul |& $GRE -v $nul`

#20061026161622____:     set       DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/^.* \([$Alphabet_0_9]*x[$Alphabet_0_9]*\) "'.*$/\1/'`     #

                    set       DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e 's/+[^ ]*\( \)/\1/'`
                    set       DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/^.* \([$Alphabet_0_9]*x[$Alphabet_0_9]*\) "'.*$/\1/'`
                                        # La modification du 20061026161622 est liee a l'edition de la taille de l'image suivant la   #
                                        # MACHINE utilisee. Par exemple :                                                             #
                                        #                                                                                             #
                                        #                   LACT15   : 4724x3612                                                      #
                                        #                   LACT16   : 4724x3612+0+0                                                  #
                                        #                                                                                             #
                                        # pour l'image 'v $xiHi/DENIS_FADIER.01$JPEG'.                                                #

                    set       DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/x/ /"`
                    set       DiMeNsIoN_X=$DiMeNsIoN[1]
                    set       DiMeNsIoN_Y=$DiMeNsIoN[2]
                                        # Recuperation de la largeur '$DiMeNsIoN_X' et de la hauteur '$DiMeNsIoN_Y' de l'image        #
                                        # Argument...                                                                                 #
                    set       RaPpOrT_XsY_A=`calcul $DiMeNsIoN_X/$DiMeNsIoN_Y`
                    set       RaPpOrT_XsY_R=`calcul $dimX/$dimY`
                                        # Calcul des rapports X/Y des images Argument et Resultat...                                  #

                    FileTmpB  nomT1 $RVB
                    FileTmpB  nomT2
                                        # Generation de noms temporaires...                                                           #

                    $CONVERT  -size "$DiMeNsIoN_X""x""$DiMeNsIoN_Y"                                                                     \
                              -depth $NBitsOctet                                                                                        \
                              JPEG:$nomA                                                                                                \
                              -flip                                                                                                     \
                              RGBA:$nomT1
                                        # Changement de taille et de format de codage de l'image Argument...                          #
                                        #                                                                                             #
                                        # ATTENTION : j'ai essaye d'ecrire directement (afin de changer simultanement la taille       #
                                        # et le format de codage) :                                                                   #
                                        #                                                                                             #
                                        #                   $CONVERT  -size "$DiMeNsIoN_X""x""$DiMeNsIoN_Y"                           #
                                        #                             -depth $NBitsOctet                                              #
                                        #                             JPEG:$nomA                                                      #
                                        #                             -flip                                                           #
                                        #                             -resize "$dimX""x""$dimY"                                       #
                                        #                             RGBA:$nomT1                                                     #
                                        #                                                                                             #
                                        # mais malheureusement la taille du fichier '$nomT1' n'etait pas egale a quatre fois le       #
                                        # produit de '$dimX' par '$dimY' (a titre d'exemple elle etait de 3060000 pour 1000x1000      #
                                        # et de 30400 pour 100x100), d'ou cette solution en deux temps en faisant le changement       #
                                        # de taille (et de proportion en general...) avec '$xci/format.01$X' ci-apres...              #
                    SwapB     $nomT1
                                        # Permutation des octets...                                                                   #

                    SformatI
                                        # Sauvegarde de '$formatI'...                                                                 #
                    @         X_MiN = $DiMeNsIoN_X - 1
                    @         Y_MiN = $DiMeNsIoN_Y - 1
                    XYmaxNe   $X_MiN $Y_MiN
                                        # Mise en place du '$formatI' correspondant a l'image Argument...                             #

                    $xci/RVB_load$X                                                                                                     \
                                        A=$nomT1                                                                                        \
                                        RVB=VRAI                                                                                        \
                                        R=$nomT2                                                                                        \
                                                                                                                        $formatI
                                        # Conversion en un triplet {ROUGE,VERTE,BLEUE}...                                             #

                    set       FoRmAtR=`echo "$sformatI" | $SE -e "s/\(=\)/R\1/g"`
                    execRVB   $xci/format.01$X A=$nomT2%s mode=2 R=$nomR%s $formatI $FoRmAtR
                                        # Et enfin, mise au format demande...                                                         #

                    SformatI
                                        # Restauration de '$formatI'...                                                               #

                    FileTmpE  nomT1
                    FileTmpE  nomT2
                                        # Nettoyage final...                                                                          #
                    breaksw
               case "SYSTEME_CRAY2_UNICOS_CC":
               case "SYSTEME_CRAY2_UNICOS_SCC":
               case "SYSTEME_CRAYC98_UNICOS_CC":
               case "SYSTEME_CRAYC98_UNICOS_SCC":
               case "SYSTEME_CRAYC916_UNICOS_CC":
               case "SYSTEME_CRAYC916_UNICOS_SCC":
               case "SYSTEME_CRAYYMP1_UNICOS_CC":
               case "SYSTEME_CRAYYMP1_UNICOS_SCC":
               case "SYSTEME_CRAYYMP2_UNICOS_CC":
               case "SYSTEME_CRAYYMP2_UNICOS_SCC":
               case "SYSTEME_CRAYYMP4_UNICOS_CC":
               case "SYSTEME_CRAYYMP4_UNICOS_SCC":
               case "SYSTEME_DECALPHA340_OSF1_CC":
               case "SYSTEME_DECALPHA340_OSF1_GCC":
               case "SYSTEME_DECALPHA350_OSF1_CC":
               case "SYSTEME_DECALPHA350_OSF1_GCC":
               case "SYSTEME_DECALPHA464_OSF1_CC":
               case "SYSTEME_DPX2000_SPIX_CC":
               case "SYSTEME_DPX5000_SPIX_CC":
               case "SYSTEME_ES9000_AIX_CC":
               case "SYSTEME_FX2800_CONCENTRIX_FXC":
               case "SYSTEME_FX2800_CONCENTRIX_PCC":
               case "SYSTEME_FX2800_CONCENTRIX_SCC":
               case "SYSTEME_FX40_CONCENTRIX_CC":
               case "SYSTEME_FX40_CONCENTRIX_FXC":
               case "SYSTEME_HP705_HPUX_CC":
               case "SYSTEME_HP710_HPUX_CC":
               case "SYSTEME_HP720_HPUX_CC":
               case "SYSTEME_HP750_HPUX_CC":
               case "SYSTEME_HP755_HPUX_CC":
               case "SYSTEME_HP819_HPUX_CC":
               case "SYSTEME_NWS3000_NEWSOS_CC":
               case "SYSTEME_NWS3000_NEWSOS_2CC":
               case "SYSTEME_RS6000_AIX_CC":
               case "SYSTEME_SG4D20G_IRIX_CC":
               case "SYSTEME_SG4D25TG_IRIX_CC":
               case "SYSTEME_SG4D310VGX_IRIX_CC":
               case "SYSTEME_SG4D35TG_IRIX_CC":
               case "SYSTEME_SG4D85GT_IRIX_CC":
               case "SYSTEME_SGIND308_IRIX_CC":
               case "SYSTEME_SGIND324_IRIX_CC":
               case "SYSTEME_SGIND3GA_IRIX_CC":
               case "SYSTEME_SGIND408_IRIX_CC":
               case "SYSTEME_SGIND424_IRIX_CC":
               case "SYSTEME_SGIND4GA_IRIX_CC":
               case "SYSTEME_SGIND508_IRIX_CC":
               case "SYSTEME_SGIND524_IRIX_CC":
               case "SYSTEME_SGIND5GA_IRIX_CC":
               case "SYSTEME_SGIND808_IRIX_CC":
               case "SYSTEME_SGIND824_IRIX_CC":
               case "SYSTEME_SGIND8GA_IRIX_CC":
               case "SYSTEME_SGINDA08_IRIX_CC":
               case "SYSTEME_SGINDA24_IRIX_CC":
               case "SYSTEME_SGINDAGA_IRIX_CC":
               case "SYSTEME_SGO200A1_IRIX_CC":
               case "SYSTEME_SGO200A2_IRIX_CC":
               case "SYSTEME_SGO200A4_IRIX_CC":
               case "SYSTEME_SGO25224_IRIX_CC":
               case "SYSTEME_SGO252VA_IRIX_CC":
               case "SYSTEME_SGO252VN_IRIX_CC":
               case "SYSTEME_SGPCM801_IRIX_CC":
               case "SYSTEME_SGPCMA01_IRIX_CC":
               case "SYSTEME_SPS9_ROS_CC":
               case "SYSTEME_SPS9_ROS_RC":
               case "SYSTEME_SUN3_SUNOS_CC":
               case "SYSTEME_SUN4_SUNOS_CC":
               case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
               case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
               case "SYSTEME_VAX8600_ULTRIX_CC":
               case "SYSTEME_VAX8600_ULTRIX_VCC":
               case "SYSTEME_VAX9000_ULTRIX_CC":
               case "SYSTEME_VAX9000_ULTRIX_GCC":
               case "SYSTEME_VAX9000_ULTRIX_VCC":
                    breaksw
               case "SYSTEME_IMPOSSIBLE":
                                        # Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens :                             #
                    EROR      "Une sequence n'a pas de sens pour '"$SYSTEME"'."
                    breaksw
               default:
                                        # Cas des SYSTEMEs non reconnus :                                                             #
                    EROR      "Variable 'SYSTEME' (='$SYSTEME') inconnue."
                    breaksw
          endsw

else
          EROR      "Le fichier '$nomA' n'existe pas."
endif



Copyright © Jean-François COLONNA, 2019-2025.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2025.