#!/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