X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cluster_tools%2Fgate_power_merge.sh;h=fc0e6aa3233fe032bf9713b1038e27315f4c9e67;hb=59d984978e620f78b60435ef88269e4ea468bd6a;hp=44a41c0ed176399c378d43210a025bde782059c1;hpb=19f3573f7b12d29bb33c80311ee1e8ff7bcb01f3;p=clitk.git diff --git a/cluster_tools/gate_power_merge.sh b/cluster_tools/gate_power_merge.sh index 44a41c0..fc0e6aa 100755 --- a/cluster_tools/gate_power_merge.sh +++ b/cluster_tools/gate_power_merge.sh @@ -130,7 +130,7 @@ do let count++ local arguments=" -i ${partial} ${arguments}" done -${rootMerger} ${arguments} > /dev/null || warning "error while calling ${rootMerger}" +${rootMerger} ${arguments} > /dev/null || error "error while calling ${rootMerger}" echo " ${indent}merged ${count} files" } @@ -165,6 +165,37 @@ end_bar echo " ${indent}merged ${count} files" } +doseMerger="mergeDosePerEnegryFile.sh" +test -x "./mergeDosePerEnergyFile.sh" && doseMerger="./mergeDosePerEnergyFile.sh" + +function merge_dose { +local merged="$1" +shift +echo " ${indent}entering dose merger" +echo " ${indent}merger is ${doseMerger}" +echo " ${indent}creating ${merged}" +local count=0 +start_bar $# +while test $# -gt 0 +do + local partial="$1" + shift + let count++ + + if test ! -f "${merged}" + then + update_bar ${count} "copying first partial result ${partial}" + cp "${partial}" "${merged}" + continue + fi + + update_bar ${count} "adding ${partial}" + ${doseMerger} -i "${merged}" -j "${partial}" -o "${merged}" 2> /dev/null > /dev/null || warning "error while calling ${doseMerger}" +done +end_bar +echo " ${indent}merged ${count} files" +} + txtImageMerger="clitkMergeAsciiDoseActor" test -f "./clitkMergeAsciiDoseActor" && txtImageMerger="./clitkMergeAsciiDoseActor" @@ -276,7 +307,7 @@ function merge_dispatcher { local outputfile="${1:?"provide output filename"}" echo "merging ${outputfile}" - local partialoutputfiles="$(find "${rundir}" -type f -name "${outputfile}")" + local partialoutputfiles="$(find "${rundir}" -mindepth 2 -type f -name "${outputfile}")" local nboutputfiles="$(echo "${partialoutputfiles}" | wc -l)" if test ${nboutputdirs} -ne ${nboutputfiles} then @@ -336,6 +367,16 @@ function merge_dispatcher { return fi + if test "${firstpartialoutputextension}" == "txt" && grep -qs 'energydose' "${firstpartialoutputfile}" + then + echo "${indent}this is a dose file" + local mergedfile="${outputdir}/$(basename "${firstpartialoutputfile}")" + merge_dose "${mergedfile}" ${partialoutputfiles} || error "error while merging" + return + fi + + + if test "${firstpartialoutputextension}" == "txt" && grep -qs 'Resol' "${firstpartialoutputfile}" then local resol="$(sed -nr '/Resol/s/^.*=\s+\((.+)\)\s*$/\1/p' "${firstpartialoutputfile}")" @@ -379,7 +420,7 @@ function merge_dispatcher { error "unknown file type" } -echo "!!!! this is $0 v0.3j !!!!" +echo "!!!! this is $0 v0.3k !!!!" rundir="${1?"provide run dir"}" rundir="$(echo "${rundir}" | sed 's|/*$||')"