]> Creatis software - clitk.git/blob - vv/scripts/create_mhd_4D.sh
*** empty log message ***
[clitk.git] / vv / scripts / create_mhd_4D.sh
1 #!/bin/sh
2
3
4 write_mhd_4D()
5 {
6   cat $orig | sed "s/NDims = .*/NDims = 4/
7                   s/TransformMatrix = .*/TransformMatrix = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1/
8                   /Offset/ s/.*/& 0/
9                   /CenterOfRotation/ s/.*/& 0/
10                   s/AnatomicalOrientation = .*/AnatomicalOrientation = ????/
11                   /ElementSpacing/ s/.*/& 1/
12                   /DimSize/ s/.*/& $nbph/
13                   s/ElementDataFile = .*/ElementDataFile = LIST/" > "$1/$file_name_4D"
14   
15   for ph in $listph
16   do
17     ph=`basename $ph`
18     echo "$ph" >> "$1/$file_name_4D"
19   done
20 }
21
22 #################################################
23 # create_mhd_4D         argument : repertoire   #
24 #################################################
25 if [ $# -lt 1 ]
26 then
27   echo "Usage: create_mhd_4D.sh DIRECTORY"
28   exit 1
29 fi
30
31 #nb_phase_file=`find $1 -iname "*[0-99].[0-9].mhd" -o -iname "*[0-99]*\]*.mhd" | wc -l`
32 nb_phase_file=`find $1 -iname "*[0-9].mhd" -o -iname "*[0-9]*\]*.mhd" | wc -l`
33 if [ $nb_phase_file = 0 ]
34 then
35   echo "Error: no phase found"
36   exit 1
37 fi
38
39 ########## CT #########
40
41 list_pattern=""
42 #list_phase_file=`find $1 -iname "*[0-99].[0-9].mhd"`
43 list_phase_file=`find $1 -iname "*[0-9].mhd"`
44 for phase_file in $list_phase_file
45 do
46   phase_file_name=`basename $phase_file`
47   if [[ ! -z `echo "$phase_file_name" | grep ","` ]]
48   then
49     prefix=`echo $phase_file_name | sed "s/,_.*/,_/"`
50   else
51     prefix="NONE"
52   fi
53   if [[ -z `echo "$list_pattern" | grep "$prefix"` ]]
54   then
55     list_pattern="$list_pattern $prefix"
56   fi
57 done
58
59
60 for pattern in $list_pattern
61 do
62
63   if [ "$pattern" = "NONE" ]
64   then
65     pattern=""
66   fi
67
68   #nbph0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | wc -l`
69   #orig0=`find $1 -iname "${pattern}[0-9].[0-9].mhd" | sort | head -n 1`
70   #listph0=`find $1 -iname "${pattern}[0-9].[0-9].raw" | sort`
71
72   #nbph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | wc -l`
73   #orig1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].mhd" | sort | head -n 1`
74   #listph1=`find $1 -iname "${pattern}[0-9][0-9].[0-9].raw" | sort`
75
76   #nbph=$(( nbph0+nbph1 ))
77   #orig=`echo -e "$orig0\n$orig1" | head -n 1`
78   #listph="$listph0 $listph1"
79
80   nbph=`find $1 -iname "${pattern}*[0-9].mhd" | wc -l`
81   orig=`find $1 -iname "${pattern}*[0-9].mhd" | sort | head -n 1`
82   listph=`find $1 -iname "${pattern}*[0-9].raw" | sort`
83
84   file_name_4D="${pattern}_4D.mhd"
85
86   write_mhd_4D $1
87
88 done
89
90
91 ############ PET ###########
92
93 list_pattern=""
94 #list_phase_file=`find $1 -iname "*[0-99]*\]*.mhd"`
95 list_phase_file=`find $1 -iname "*[0-9]*\]*.mhd"`
96 for phase_file in $list_phase_file
97 do
98   phase_file_name=`basename $phase_file`
99   #if [[ ! -z `echo "$phase_file_name" | grep "[0-99]-.*\]"` ]]
100   if [[ ! -z `echo "$phase_file_name" | grep "[0-9]-.*\]"` ]]
101   then
102     #prefix=`echo $phase_file_name | sed "s/.*[0-99]-/-/;s/\]_.*//"`
103     prefix=`echo $phase_file_name | sed "s/.*[0-9]-/-/;s/\]_.*//"`
104   else
105     prefix="NONE"
106   fi
107   if [[ -z `echo "$list_pattern" | grep -- "$prefix"` ]]
108   then
109     list_pattern="$list_pattern $prefix"
110   fi
111 done
112
113   
114 for pattern in $list_pattern
115 do
116
117   if [ "$pattern" = "NONE" ]
118   then
119     pattern=""
120   fi
121
122   #nbph=`find $1 -iname "*[0-99]${pattern}\]*.mhd" | wc -l`
123   #orig=`find $1 -iname "*[0-99]${pattern}\]*.mhd" | sort | head -n 1`
124   #listph=`find $1 -iname "*[0-99]${pattern}\]*.raw" | sort`
125
126   nbph=`find $1 -iname "*[0-9]${pattern}\]*.mhd" | wc -l`
127   orig=`find $1 -iname "*[0-9]${pattern}\]*.mhd" | sort | head -n 1`
128   listph=`find $1 -iname "*[0-9]${pattern}\]*.raw" | sort`
129   
130   #file_name_4D=`basename "$orig" | sed "s/[0-99]${pattern}\]/${pattern}\]/;s/_.mhd/_4D.mhd/"`
131   file_name_4D=`basename "$orig" | sed "s/[0-9]${pattern}\]/${pattern}\]/;s/_.mhd/_4D.mhd/"`
132
133   write_mhd_4D $1
134
135 done