]> Creatis software - clitk.git/blob - scripts/create_mhd_4D_pattern.sh
using get_dicom_field_value in midp scripts
[clitk.git] / scripts / create_mhd_4D_pattern.sh
1 #!/bin/sh 
2
3 ###############################################################################
4 #
5 # FILE: create_mhd_pattern.sh
6 # AUTHOR: RĂ´mulo Pinho 05/08/2011
7 #
8 # Similar to create_mhd_4D.sh, but receives a pattern as input.
9
10 # Example:
11 # create_mhd_pattern.sh "<path>/all_my_phases_start_like_this_"
12 #
13 ###############################################################################
14
15 write_mhd_4D()
16 {
17   cat $orig | sed "s/NDims = .*/NDims = 4/
18                   s/TransformMatrix = .*/TransformMatrix = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1/
19                   /Offset/ s/.*/& 0/
20                   /CenterOfRotation/ s/.*/& 0/
21                   s/AnatomicalOrientation = .*/AnatomicalOrientation = ????/
22                   /ElementSpacing/ s/.*/& 1/
23                   /DimSize/ s/.*/& $nbph/
24                   s/ElementDataFile = .*/ElementDataFile = LIST/" > "$dirname/$file_name_4D"
25   
26   for ph in $listph
27   do
28     phase=`basename $ph`
29     echo "$phase" >> "$dirname/$file_name_4D"
30   done
31 }
32
33 #################################################
34 # create_mhd_4D         argument : repertoire   #
35 #################################################
36 if [ $# -lt 1 ]
37 then
38   echo "Usage: $0 PREFIX [SUFFIX]"
39   exit 1
40 fi
41
42 dirname=`dirname $1`
43 prefix=`basename $1`
44 suffix=$2
45
46 nbph=0
47 list_phase_file=`ls -1 $dirname/$prefix*[0-9]*$suffix.mhd`
48 for ph in $list_phase_file
49 do
50   if [ -e `echo $ph | sed 's/mhd/raw/'` ]
51   then
52     listph="$listph $ph"
53     nbph=$(( nbph + 1 ))
54   fi
55 done
56
57 nb_phase_file=`ls -1 $dirname/$prefix*[0-9]*$suffix.mhd | wc -l`
58 if [ $nb_phase_file = 0 ]
59 then
60   echo "Error: no phase found"
61   exit 1
62 fi
63
64 orig=`echo $list_phase_file | cut -f 1 -d ' '`
65 listph=`echo $listph | sed 's:\.mhd:\.raw:g'`
66
67 file_name_4D=`echo "${prefix}4D${suffix}.mhd"`
68
69 write_mhd_4D
70 echo "$dirname/$file_name_4D"