--- /dev/null
+#!/bin/bash
+
+## -- Command line options
+vesselness_sigma="0.5"
+vesselness_alpha1="0.5"
+vesselness_alpha2="2"
+mori_min_thr="-850"
+mori_kernel="20"
+mori_signal_thr="100"
+mori_signal_influence="0.5"
+mori_lower="-1024"
+mori_upper="0"
+mori_delta="1"
+labels_vesselness_thr="5"
+labels_upper_thr="-400"
+beta="2.5"
+epsilon="1e-5"
+while [[ "$#" -gt 0 ]]; do
+ key="$1"
+ case $key in
+ -input)
+ input=`realpath $2`
+ shift
+ ;;
+ -force)
+ force="1"
+ ;;
+ -vesselness_sigma)
+ vesselness_sigma="$2"
+ shift
+ ;;
+ -vesselness_alpha1)
+ vesselness_alpha1="$2"
+ shift
+ ;;
+ -vesselness_alpha2)
+ vesselness_alpha2="$2"
+ shift
+ ;;
+ -mori_min_thr)
+ mori_min_thr="$2"
+ shift
+ ;;
+ -mori_kernel)
+ mori_kernel="$2"
+ shift
+ ;;
+ -mori_signal_thr)
+ mori_signal_thr="$2"
+ shift
+ ;;
+ -mori_signal_influence)
+ mori_signal_influence="$2"
+ shift
+ ;;
+ -mori_lower)
+ mori_lower="$2"
+ shift
+ ;;
+ -mori_upper)
+ mori_upper="$2"
+ shift
+ ;;
+ -mori_delta)
+ mori_delta="$2"
+ shift
+ ;;
+ -labels_vesselness_thr)
+ labels_vesselness_thr="$2"
+ shift
+ ;;
+ -labels_upper_thr)
+ labels_upper_thr="$2"
+ shift
+ ;;
+ -beta)
+ beta="$2"
+ shift
+ ;;
+ -epsilon)
+ epsilon="$2"
+ shift
+ ;;
+ -seed)
+ seed="$2 $3 $4"
+ shift
+ shift
+ shift
+ ;;
+ *)
+ # Do nothing
+ ;;
+ esac
+ shift
+done
+
+## -- Check command line options
+if [ -z "$input" ] || [ -z "$seed" ] ; then
+ (>&2 echo "Usage: $0 -input <file> -seed <x y z> [-force]")
+ exit 1
+fi
+
+base_dir=`dirname $input | xargs realpath`
+base_name=$base_dir/`basename $input .mhd`
+
+vesselness=$base_name"_vesselness.mhd"
+mori=$base_name"_mori.mhd"
+mori_signal=$base_name"_mori_signal.txt"
+labels=$base_name"_labels.mhd"
+fastrw=$base_name"_fastrw.mhd"
+slicerw=$base_name"_slicerw.mhd"
+
+(>&2 echo "Processing $input... ")
+echo "************************************************"
+if [ ! -f $vesselness ] || [ -n "$force" ] ; then
+ ./fpa_CTBronchi_Vesselness \
+ -i $input -o $vesselness \
+ -s $vesselness_sigma -a $vesselness_alpha1 -b $vesselness_alpha2
+fi
+
+if [ ! -f $mori ] || [ -n "$force" ] ; then
+ ./fpa_CTBronchi_MoriSegmentation \
+ -i $input \
+ -o $mori \
+ -s $mori_signal \
+ -p "$seed" \
+ -t $mori_min_thr \
+ -k $mori_kernel \
+ -r $mori_signal_thr \
+ -f $mori_signal_influence \
+ -l $mori_lower \
+ -u $mori_upper \
+ -d $mori_delta
+fi
+
+if [ ! -f $labels ] || [ -n "$force" ] ; then
+ ./fpa_CTBronchi_MoriLabelling \
+ -i $input \
+ -l $mori \
+ -v $vesselness \
+ -o $labels \
+ -a $labels_vesselness_thr \
+ -u $labels_upper_thr
+fi
+
+if [ ! -f $fastrw ] || [ -n "$force" ] ; then
+ ./fpa_CTBronchi_FastRandomWalker \
+ -i $input \
+ -l $labels \
+ -o $fastrw \
+ -b $beta \
+ -e $epsilon
+fi
+
+if [ ! -f $slicerw ] || [ -n "$force" ] ; then
+ ./fpa_CTBronchi_SliceBySliceRandomWalker \
+ -i $input \
+ -l $mori \
+ -v $vesselness \
+ -o $slicerw \
+ -t $labels_vesselness_thr \
+ -b $beta \
+ -e $epsilon
+fi
+echo "************************************************"
+(>&2 echo "done.")
+
+## eof - $RCSfile$