X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vv%2Fscripts%2Fcreate_mhd_4D.sh;h=b0503c96a31eef862de7f238bfad335710f5ec90;hb=e4ecf9ce96a61b5447f0d010992ae15df5da5dfd;hp=ae3f5fa4711e094613353e4c2f835e8e6f66eeb4;hpb=8519d8459a3cf5a6941c2a332ca9eba3671091c9;p=clitk.git diff --git a/vv/scripts/create_mhd_4D.sh b/vv/scripts/create_mhd_4D.sh index ae3f5fa..b0503c9 100755 --- a/vv/scripts/create_mhd_4D.sh +++ b/vv/scripts/create_mhd_4D.sh @@ -1,6 +1,24 @@ #!/bin/sh +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 # ################################################# @@ -10,27 +28,29 @@ then exit 1 fi -nb_phase_file=`find $1 -iname "*[0-99].[0-9].mhd" | wc -l` +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 +########## CT ######### + list_pattern="" -list_phase_file=`find $1 -iname "*[0-99].[0-9].mhd"` +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 - preffix=`echo $phase_file_name | sed "s/,_.*/,_/"` + prefix=`echo $phase_file_name | sed "s/,_.*/,_/"` else - preffix="NONE" + prefix="NONE" fi - if [[ -z `echo "$list_pattern" | grep "$preffix"` ]] + if [[ -z `echo "$list_pattern" | grep "$prefix"` ]] then - list_pattern="$list_pattern $preffix" + list_pattern="$list_pattern $prefix" fi done @@ -43,31 +63,51 @@ do pattern="" fi - nbph0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | wc -l` - orig0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | sort | head -n 1` - listph0=`find $1 -iname "${pattern}[0-9].[0-9].raw" | sort` + 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` - nbph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | wc -l` - orig1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | sort | head -n 1` - listph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].raw" | sort` + file_name_4D="${pattern}_4D.mhd" - nbph=$(( nbph0+nbph1 )) - orig=`echo -e "$orig0\n$orig1" | head -n 1` - listph="$listph0 $listph1" + 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 - 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/${pattern}_4D.mhd" - for ph in $listph - do - ph=`basename $ph` - echo "$ph" >> "$1/${pattern}_4D.mhd" - 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