X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cluster_tools%2Fgate_power_merge.sh;h=df46813513a2947539338c24dd20dbdb70f5eae4;hb=8b965f85c8e581f12fa9b24bc002aab2bfb7aa9b;hp=fe1784a796492b106e635668058926e5aa118048;hpb=ca5d549c7c1a32c87082ed227c7c0585e69c1095;p=clitk.git diff --git a/cluster_tools/gate_power_merge.sh b/cluster_tools/gate_power_merge.sh index fe1784a..df46813 100755 --- a/cluster_tools/gate_power_merge.sh +++ b/cluster_tools/gate_power_merge.sh @@ -290,7 +290,7 @@ function merge_mhd_image { then update_bar ${count} "copying first partial result ${partial}" cp "${partial}" "${merged}" - if test "$last_character" = "d" + if test "$last_character" = "d" then cp "${partial_bin}" "${merged_bin%.*}.${partial_bin##*.}" fi @@ -299,7 +299,7 @@ function merge_mhd_image { update_bar ${count} "adding ${partial}" ${mhdImageMerger} -t 0 -i "${partial}" -j "${merged}" -o "${merged}" 2> /dev/null > /dev/null || warning "error while calling ${mhdImageMerger}" - if test "$last_character" = "d" + if test "$last_character" = "d" && test "${merged_bin}" != "${merged_bin%.*}.${partial_bin##*.}" then mv "${merged_bin}" "${merged_bin%.*}.${partial_bin##*.}" sed -i "s/$(basename "${merged_bin}")/$(basename "${merged_bin%.*}.${partial_bin##*.}")/" "${merged}" @@ -314,7 +314,7 @@ function merge_dispatcher { local outputfile="${1:?"provide output filename"}" echo "merging ${outputfile}" - local partialoutputfiles="$(find "${rundir}" -mindepth 2 -type f -name "${outputfile}")" + local partialoutputfiles="$(find -L "${rundir}" -mindepth 2 -type f -name "${outputfile}")" local nboutputfiles="$(echo "${partialoutputfiles}" | wc -l)" if test ${nboutputdirs} -ne ${nboutputfiles} then @@ -431,7 +431,7 @@ function merge_dispatcher_uncertainty { local indent=" ** " local outputfile="${1:?"provide output filename"}" - local partialoutputfiles="$(find "${rundir}" -mindepth 2 -type f -name "${outputfile}")" + local partialoutputfiles="$(find -L "${rundir}" -mindepth 2 -type f -name "${outputfile}")" local nboutputfiles="$(echo "${partialoutputfiles}" | wc -l)" if test ${nboutputdirs} -ne ${nboutputfiles} then @@ -444,7 +444,7 @@ function merge_dispatcher_uncertainty { if [[ "${firstpartialoutputfile}" == *Uncertainty* ]] then - if test "${firstpartialoutputextension}" == "mhd" + if test "${firstpartialoutputextension}" == "mhd" || test "${firstpartialoutputextension}" == "mha" then echo "${indent}Uncertainty file found: ${firstpartialoutputfile}" ## search for sum @@ -466,7 +466,7 @@ function merge_dispatcher_uncertainty { echo "${indent}${squared_merged_file} found" ## search for NumberOfEvent totalEvents=0; - for outputfile in $(find "${rundir}" -regextype 'posix-extended' -type f -regex "${rundir}/output.*\.(hdr|mhd|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) + for outputfile in $(find -L "${rundir}" -regextype 'posix-extended' -type f -regex "${rundir}/output.*\.(hdr|mhd|mha|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) do #echo $outputfile if grep -q 'NumberOfEvent' "${outputdir}/${outputfile}" @@ -485,6 +485,8 @@ function merge_dispatcher_uncertainty { warning "${totalEvents} not positive. A at least one stat file (SimulationStatisticActor) must be provided. Error, no uncertainty computed" return; fi + else + error "merge_dispatcher_uncertainty does not handle ${firstpartialoutputfile} files" fi fi @@ -494,7 +496,7 @@ echo "!!!! this is $0 v0.3k !!!!" rundir="${1?"provide run dir"}" rundir="$(echo "${rundir}" | sed 's|/*$||')" -nboutputdirs="$(find "${rundir}" -mindepth 1 -type d -name 'output*' | wc -l)" +nboutputdirs="$(find "${rundir}" -mindepth 1 -name 'output*' -type d -o -type l | wc -l)" test ${nboutputdirs} -gt 0 || error "no output dir found" echo "found ${nboutputdirs} partial output dirs" @@ -509,15 +511,15 @@ echo "output dir is ${outputdir}" test -d "${outputdir}" && rm -r "${outputdir}" mkdir "${outputdir}" - -for outputfile in $(find "${rundir}" -regextype 'posix-extended' -type f -regex "${rundir}/output.*\.(hdr|mhd|mha|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) +ls ${rundir}/ +for outputfile in $(find -L "${rundir}" -regextype 'posix-extended' -type f -regex "${rundir}/output.*\.(hdr|mhd|mha|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) do merge_dispatcher "${outputfile}" done echo "" echo "Merging done. Special case for statistical uncertainty" -for outputfile in $(find "${outputdir}" -regextype 'posix-extended' -type f -regex "${outputdir}/output.*\.(hdr|mhd|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) +for outputfile in $(find -L "${outputdir}" -regextype 'posix-extended' -type f -regex "${outputdir}/.*\.(hdr|mhd|mha|root|txt)" | awk -F '/' '{ print $NF; }' | sort | uniq) do merge_dispatcher_uncertainty "${outputfile}" done