X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=cluster_tools%2Fgate_power_merge.sh;fp=cluster_tools%2Fgate_power_merge.sh;h=7717c578fe355975af3d6aeeea5d2969ab5feeae;hb=41e17601d6204e6036fa27a3db4c8d1e6bd175a7;hp=a0c3e183318d0fbdd17c338dc6e2ecdaa315c303;hpb=64ce9a10a07e7e5ab78e8b70928653e064763d61;p=clitk.git diff --git a/cluster_tools/gate_power_merge.sh b/cluster_tools/gate_power_merge.sh index a0c3e18..7717c57 100755 --- a/cluster_tools/gate_power_merge.sh +++ b/cluster_tools/gate_power_merge.sh @@ -196,6 +196,37 @@ function merge_dose { echo " ${indent}merged ${count} files" } +doseMerger="mergeDoseByRegions.sh" +test -x "./mergeDoseByRegions.sh" && doseMerger="./mergeDoseByRegions.sh" + +function merge_doseByRegions { + 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" @@ -409,6 +440,15 @@ function merge_dispatcher { fi fi + if test "${firstpartialoutputextension}" == "txt" && grep -qs 'vol(mm3)' "${firstpartialoutputfile}" + then + echo "${indent}this is a DoseByRegions file" + local mergedfile="${outputdir}/$(basename "${firstpartialoutputfile}")" + merge_doseByRegions "${mergedfile}" ${partialoutputfiles} || error "error while merging" + return + fi + + if test "${firstpartialoutputextension}" == "txt" then echo "${indent}this is a non specific txt output"