]> Creatis software - clitk.git/blob - vv/scripts/create_mhd_4D.sh
ae3f5fa4711e094613353e4c2f835e8e6f66eeb4
[clitk.git] / vv / scripts / create_mhd_4D.sh
1 #!/bin/sh
2
3
4 #################################################
5 # create_mhd_4D         argument : repertoire   #
6 #################################################
7 if [ $# -lt 1 ]
8 then
9   echo "Usage: create_mhd_4D.sh DIRECTORY"
10   exit 1
11 fi
12
13 nb_phase_file=`find $1 -iname "*[0-99].[0-9].mhd" | wc -l`
14 if [ $nb_phase_file = 0 ]
15 then
16   echo "Error: no phase found"
17   exit 1
18 fi
19
20 list_pattern=""
21 list_phase_file=`find $1 -iname "*[0-99].[0-9].mhd"`
22 for phase_file in $list_phase_file
23 do
24   phase_file_name=`basename $phase_file`
25   if [[ ! -z `echo "$phase_file_name" | grep ","` ]]
26   then
27     preffix=`echo $phase_file_name | sed "s/,_.*/,_/"`
28   else
29     preffix="NONE"
30   fi
31   if [[ -z `echo "$list_pattern" | grep "$preffix"` ]]
32   then
33     list_pattern="$list_pattern $preffix"
34   fi
35 done
36
37
38 for pattern in $list_pattern
39 do
40
41   if [ "$pattern" = "NONE" ]
42   then
43     pattern=""
44   fi
45
46   nbph0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | wc -l`
47   orig0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | sort | head -n 1`
48   listph0=`find $1 -iname "${pattern}[0-9].[0-9].raw" | sort`
49
50   nbph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | wc -l`
51   orig1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | sort | head -n 1`
52   listph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].raw" | sort`
53
54   nbph=$(( nbph0+nbph1 ))
55   orig=`echo -e "$orig0\n$orig1" | head -n 1`
56   listph="$listph0 $listph1"
57
58   cat $orig | sed "s/NDims = .*/NDims = 4/
59                   s/TransformMatrix = .*/TransformMatrix = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1/
60                   /Offset/ s/.*/& 0/
61                   /CenterOfRotation/ s/.*/& 0/
62                   s/AnatomicalOrientation = .*/AnatomicalOrientation = ????/
63                   /ElementSpacing/ s/.*/& 1/
64                   /DimSize/ s/.*/& $nbph/
65                   s/ElementDataFile = .*/ElementDataFile = LIST/" > "$1/${pattern}_4D.mhd"
66   
67   for ph in $listph
68   do
69     ph=`basename $ph`
70     echo "$ph" >> "$1/${pattern}_4D.mhd"
71   done
72
73 done