X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2Fscripts%2Fcreate_mhd_4D.sh;h=b0503c96a31eef862de7f238bfad335710f5ec90;hb=c4c6df5851a369ed4a2c29703ce1a0768c2a7488;hp=8eac7828fc0799d3e4940104e4a95a6f25c61d2e;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/vv/scripts/create_mhd_4D.sh b/vv/scripts/create_mhd_4D.sh index 8eac782..b0503c9 100755 --- a/vv/scripts/create_mhd_4D.sh +++ b/vv/scripts/create_mhd_4D.sh @@ -1,26 +1,113 @@ #!/bin/sh -############################################### -# create_mhd_4D argument : repertoire # -############################################### + +write_mhd_4D() +{ + cat $orig | sed "s/NDims = .*/NDims = 4/ + s/TransformMatrix = .*/TransformMatrix = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1/ + /Offset/ s/.*/& 0/ + /CenterOfRotation/ s/.*/& 0/ + s/AnatomicalOrientation = .*/AnatomicalOrientation = ????/ + /ElementSpacing/ s/.*/& 1/ + /DimSize/ s/.*/& $nbph/ + s/ElementDataFile = .*/ElementDataFile = LIST/" > "$1/$file_name_4D" + + for ph in $listph + do + ph=`basename $ph` + echo "$ph" >> "$1/$file_name_4D" + done +} + +################################################# +# create_mhd_4D argument : repertoire # +################################################# if [ $# -lt 1 ] then - echo "Usage: create_mhd_4D directory" - exit 1 + echo "Usage: create_mhd_4D.sh DIRECTORY" + exit 1 +fi + +nb_phase_file=`find $1 -iname "*[0-9].mhd" -o -iname "*[0-9]*\]*.mhd" | wc -l` +if [ $nb_phase_file = 0 ] +then + echo "Error: no phase found" + exit 1 fi -cd $1 -nbph=`ls -l *0.mhd | wc -l` -orig=`ls -1 *0.mhd | head -n 1` - -cat $orig | sed "s/NDims = .*/NDims = 4/ - s/TransformMatrix = .*/TransformMatrix = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1/ - /Offset/ s/.*/& 0/ - /CenterOfRotation/ s/.*/& 0/ - s/AnatomicalOrientation = .*/AnatomicalOrientation = ????/ - /ElementSpacing/ s/.*/& 1/ - /DimSize/ s/.*/& $nbph/ - s/ElementDataFile = .*/ElementDataFile = LIST/" > CT_4D.mhd - -ls -1 *0.raw >> CT_4D.mhd -cd .. +########## CT ######### + +list_pattern="" +list_phase_file=`find $1 -iname "*[0-9].mhd"` +for phase_file in $list_phase_file +do + phase_file_name=`basename $phase_file` + if [[ ! -z `echo "$phase_file_name" | grep ","` ]] + then + prefix=`echo $phase_file_name | sed "s/,_.*/,_/"` + else + prefix="NONE" + fi + if [[ -z `echo "$list_pattern" | grep "$prefix"` ]] + then + list_pattern="$list_pattern $prefix" + fi +done + + +for pattern in $list_pattern +do + + if [ "$pattern" = "NONE" ] + then + pattern="" + fi + + nbph=`find $1 -iname "${pattern}*[0-9].mhd" | wc -l` + orig=`find $1 -iname "${pattern}*[0-9].mhd" | sort | head -n 1` + listph=`find $1 -iname "${pattern}*[0-9].raw" | sort` + + file_name_4D="${pattern}_4D.mhd" + + write_mhd_4D $1 + +done + + +############ PET ########### + +list_pattern="" +list_phase_file=`find $1 -iname "*[0-9]*\]*.mhd"` +for phase_file in $list_phase_file +do + phase_file_name=`basename $phase_file` + if [[ ! -z `echo "$phase_file_name" | grep "[0-9]-.*\]"` ]] + then + prefix=`echo $phase_file_name | sed "s/.*[0-9]-/-/;s/\]_.*//"` + else + prefix="NONE" + fi + if [[ -z `echo "$list_pattern" | grep -- "$prefix"` ]] + then + list_pattern="$list_pattern $prefix" + fi +done + + +for pattern in $list_pattern +do + + if [ "$pattern" = "NONE" ] + then + pattern="" + fi + + nbph=`find $1 -iname "*[0-9]${pattern}\]*.mhd" | wc -l` + orig=`find $1 -iname "*[0-9]${pattern}\]*.mhd" | sort | head -n 1` + listph=`find $1 -iname "*[0-9]${pattern}\]*.raw" | sort` + + file_name_4D=`basename "$orig" | sed "s/[0-9]${pattern}\]/${pattern}\]/;s/_.mhd/_4D.mhd/"` + + write_mhd_4D $1 + +done