]> Creatis software - clitk.git/blob - scripts/create_mhd_4D_pattern.sh
new midP related scripts
[clitk.git] / scripts / create_mhd_4D_pattern.sh
1 #!/bin/sh +x
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/" > "$1/$file_name_4D"
25   
26   for ph in $listph
27   do
28     phase=`basename $ph`
29     echo "$phase" >> "$1/$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 PATTERN"
39   exit 1
40 fi
41
42 dirname=`dirname $1`
43 pattern=`basename $1`
44
45 list_phase_file=`ls -1 $1*[0-9].mhd`
46 nb_phase_file=`ls -1 $1*[0-9].mhd | wc -l`
47 if [ $nb_phase_file = 0 ]
48 then
49   echo "Error: no phase found"
50   exit 1
51 fi
52
53 nbph=$nb_phase_file
54 orig=`echo $list_phase_file | cut -f 1 -d ' '`
55 listph=`echo $list_phase_file | sed 's:\.mhd:\.raw:g'`
56
57 file_name_4D=`echo "${pattern}4D.mhd"`
58
59 write_mhd_4D $dirname
60 echo "$dirname/$file_name_4D"