]> Creatis software - FrontAlgorithms.git/blob - appli/CTBronchi/Process.sh
...
[FrontAlgorithms.git] / appli / CTBronchi / Process.sh
1 #!/bin/bash
2
3 ## -- Command line options
4 vesselness_sigma="0.5"
5 vesselness_alpha1="0.5"
6 vesselness_alpha2="2"
7 mori_min_thr="-850"
8 mori_kernel="20"
9 mori_signal_thr="100"
10 mori_signal_influence="0.5"
11 mori_lower="-1024"
12 mori_upper="0"
13 mori_delta="1"
14 labels_vesselness_thr="5"
15 labels_upper_thr="-400"
16 beta="2.5"
17 epsilon="1e-5"
18 while [[ "$#" -gt 0 ]]; do
19     key="$1"
20     case $key in
21         -input)
22         input=`realpath $2`
23         shift
24         ;;
25         -force)
26         force="1"
27         ;;
28         -vesselness_sigma)
29         vesselness_sigma="$2"
30         shift
31         ;;
32         -vesselness_alpha1)
33         vesselness_alpha1="$2"
34         shift
35         ;;
36         -vesselness_alpha2)
37         vesselness_alpha2="$2"
38         shift
39         ;;
40         -mori_min_thr)
41         mori_min_thr="$2"
42         shift
43         ;;
44         -mori_kernel)
45         mori_kernel="$2"
46         shift
47         ;;
48         -mori_signal_thr)
49         mori_signal_thr="$2"
50         shift
51         ;;
52         -mori_signal_influence)
53         mori_signal_influence="$2"
54         shift
55         ;;
56         -mori_lower)
57         mori_lower="$2"
58         shift
59         ;;
60         -mori_upper)
61         mori_upper="$2"
62         shift
63         ;;
64         -mori_delta)
65         mori_delta="$2"
66         shift
67         ;;
68         -labels_vesselness_thr)
69         labels_vesselness_thr="$2"
70         shift
71         ;;
72         -labels_upper_thr)
73         labels_upper_thr="$2"
74         shift
75         ;;
76         -beta)
77         beta="$2"
78         shift
79         ;;
80         -epsilon)
81         epsilon="$2"
82         shift
83         ;;
84         -seed)
85         seed="$2 $3 $4"
86         shift
87         shift
88         shift
89         ;;
90         *)
91         # Do nothing
92         ;;
93     esac
94     shift
95 done
96
97 ## -- Check command line options
98 if [ -z "$input" ] || [ -z "$seed" ] ; then
99     (>&2 echo "Usage: $0 -input <file> -seed <x y z> [-force]")
100     exit 1
101 fi
102
103 base_dir=`dirname $input | xargs realpath`
104 base_name=$base_dir/`basename $input .mhd`
105
106 vesselness=$base_name"_vesselness.mhd"
107 mori=$base_name"_mori.mhd"
108 mori_signal=$base_name"_mori_signal.txt"
109 labels=$base_name"_labels.mhd"
110 fastrw=$base_name"_fastrw.mhd"
111 slicerw=$base_name"_slicerw.mhd"
112
113 echo "************************************************"
114 (>&2 echo "Processing $input... ")
115 echo "Processing $input..."
116 if [ ! -f $vesselness ] || [ -n "$force" ] ; then
117     ./fpa_CTBronchi_Vesselness \
118         -i $input -o $vesselness \
119         -s $vesselness_sigma -a $vesselness_alpha1 -b $vesselness_alpha2
120 fi
121
122 if [ ! -f $mori ] || [ -n "$force" ] ; then
123     ./fpa_CTBronchi_MoriSegmentation \
124         -i $input \
125         -o $mori \
126         -s $mori_signal \
127         -p "$seed" \
128         -t $mori_min_thr \
129         -k $mori_kernel \
130         -r $mori_signal_thr \
131         -f $mori_signal_influence \
132         -l $mori_lower \
133         -u $mori_upper \
134         -d $mori_delta
135 fi
136
137 if [ ! -f $labels ] || [ -n "$force" ] ; then
138     ./fpa_CTBronchi_MoriLabelling \
139         -i $input \
140         -l $mori \
141         -v $vesselness \
142         -o $labels \
143         -a $labels_vesselness_thr \
144         -u $labels_upper_thr
145 fi
146
147 if [ ! -f $fastrw ] || [ -n "$force" ] ; then
148     ./fpa_CTBronchi_FastRandomWalker \
149         -i $input \
150         -l $labels \
151         -o $fastrw \
152         -b $beta \
153         -e $epsilon
154 fi
155
156 if [ ! -f $slicerw ] || [ -n "$force" ] ; then
157     ./fpa_CTBronchi_SliceBySliceRandomWalker \
158         -i $input \
159         -l $mori \
160         -v $vesselness \
161         -o $slicerw \
162         -t $labels_vesselness_thr \
163         -b $beta \
164         -e $epsilon
165 fi
166 (>&2 echo "done.")
167 echo "done."
168 echo "************************************************"
169
170 ## eof - $RCSfile$