#!/bin/csh
#######################################################################################################################################
# #
# R E D U C T I O N 8 x 8 D ' U N E S E Q U E N C E E N V R A I E S C O U L E U R S : #
# #
# #
# Utilisation : #
# #
# $xci/reduction_64$Z <sequenceA> <imageR> [<premiere> [<pas> [<moyenne> [<maximum>]]]] #
# $xci/reduction_64$Z <sequenceA> <imageR> [<premiere> [<derniere> [<moyenne> [<maximum> [<dilater> [<pr_der> [<Wait>]]]]]]] #
# #
# #
# Author of '$xci/reduction_64$Z' : #
# #
# Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
set sequenceA=$1
set imageR=$2
set premiere=$3
#19961210114817____:set pas=$4 #
set derniere=$4
# Le passage de 'pas' a 'derniere' a ete effectue le 19961210114817. #
set moyenne=$5
set maximum=$6
set dilater=$7
set premiere_derniere=$8
# Introduit le 20000523092915 ('v $xci/reduction.01$I 20000523092915'). #
set attendre=$9
# Introduit le 20011112114927. #
setArgum premiere 1
if ($?pas == $EXIST) then
if ("$pas" == "$K_VIDE") then
set pas=2
else
endif
else
endif
if ($?derniere == $EXIST) then
if ("$derniere" == "$K_VIDE") then
set derniere=128
else
endif
else
endif
setArgum moyenne VRAI
setArgum maximum VRAI
setArgum dilater FAUX
# Cette option a ete introduite le 19990408154414. #
if ("$premiere_derniere" == "$K_VIDE") then
#20070824154529____: set premiere_derniere=FAUX #
set premiere_derniere=VRAI
# Cette option a ete introduite le 20000523092915. #
else
endif
setArgum attendre VRAI
# Cette option a ete introduite le 20011112114927. #
if ($?pas == $EXIST) then
set descripteur="premiere=$premiere pas=$pas calculer=FAUX"
else
endif
if ($?derniere == $EXIST) then
set reduites=64
if ($derniere >= $premiere) then
# Test rajoute le 20000720163946 ('v $xci/reduction.02$I 20000720163946'). #
@ nombre = $derniere - $premiere
# Cas de l'ordre direct (derniere >= premiere). #
else
@ nombre = $premiere - $derniere
# Cas de l'ordre inverse (derniere < premiere). #
endif
@ nombre = $nombre + 1
if ($nombre < $reduites) then
EROR "Il peut y avoir confusion entre 'pas' et 'derniere',"
EROR "a moins que le mode 'modulo' des numeros d'images soit utilise."
set Calculer="calculer=FAUX pas=1 modulo=VRAI"
else
set Calculer="calculer=VRAI modulo=FAUX premiere_derniere=$premiere_derniere"
endif
set descripteur="premiere=$premiere derniere=$derniere $Calculer"
# L'option '$Calculer' a ete ajoutees a cause de 'v $xci/reduction.02$I 20000421105653', #
# sachant qu'il est difficile (en meme temps que logique) de faire autre chose que "pas=1" #
# dans le cas des utilisations "modulo" des numeros d'images... #
else
endif
if ("$attendre" == "VRAI") then
set descripteur="$descripteur"" Attendre=VRAI"
# L'attente sur image inexistante (option "Attendre=VRAI") a ete introduite le 19970211181457 #
# afin de permettre la parallelisation d'un calcul de sequence d'images, puis ensuite leur #
# reduction, ce qui ne peut que se faire sequentiellement ; une seule machine doit donc la #
# faire et elle doit donc attendre que les autres aient fini leur calcul, d'ou cette option. #
# On verra avec interet la sequence : #
# #
# xivPdf 11 1 / 020117_020250 #
# #
# qui fut la premiere a exploiter cette possibilite... #
else
set descripteur="$descripteur"" Attendre=FAUX CAL1=FAUX"
# Ceci a ete introduit le 20011112114927 afin de permettre en particulier l'existence de #
# sequences d'images incompletes... #
endif
set Options="$K_VIDE"
set Options="$Options ""moyenne=$moyenne maximum=$maximum dilater=$dilater"
set Options="$Options ""tous_niveaux=VRAI dilatation_carree=VRAI"
set Options="$Options ""points=121"
# On pourra, si besoin est, utiliser l'option 'points=' et augmenter la valeur par defaut #
# dans 'v $xci/reduction_64$K DIMENSION_DILATATION' (81), afin d'ameliorer la generation #
# des fichiers '$MPEG' dans 'v $xiMo/creation$Z' car, finalement, les images de type '$R64' #
# ne servent pratiquement qu'a cela... Le 20000622092811 un noyau circulaire de 225 points #
# a ete essaye ; malheureusement, cela conduisait a des temps de calcul trop important. Le #
# 20000626125551, un noyau carre de 121 points a ete mis en place... #
execRVB $xci/reduction_64$X \
A=$sequenceA \
$descripteur \
postfixe=%s \
$Options \
R=$imageR$R64%s \
$formatI
# Et reduction des trois composantes en parallele si possible... #