-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathreco.sh
executable file
·122 lines (97 loc) · 2.26 KB
/
reco.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/bash
#
# Copyright 2020. Uecker Lab, University Medical Center Goettingen.
#
# Author: Xiaoqing Wang, 2020
#
# Wang X et al.
# Model‐Based Reconstruction for Simultaneous Multi‐Slice T1 Mapping
# using Single‐Shot Inversion‐Recovery Radial FLASH.
# Magn Reson Med. 2020
#
set -e
usage="Usage: $0 [-m sms] [-R lambda] [-k] [-o overgrid] <TI> <traj> <ksp> <output> <output_sens>"
if [ $# -lt 4 ] ; then
echo "$usage" >&2
exit 1
fi
k_filter=0
while getopts "hm:R:ko:" opt; do
case $opt in
h)
echo "$usage"
exit 0
;;
m)
sms=${OPTARG}
;;
R)
lambda=${OPTARG}
;;
k)
k_filter=1
;;
o)
overgrid=${OPTARG}
;;
\?)
echo "$usage" >&2
exit 1
;;
esac
done
shift $(($OPTIND -1 ))
TI=$(readlink -f "$1")
traj=$(readlink -f "$2")
ksp=$(readlink -f "$3")
reco=$(readlink -f "$4")
if [ "$#" -lt 5 ] ; then
sens=""
else
sens=$(readlink -f "$5")
fi
if [ ! -e $TI ] ; then
echo "Input file 'TI' does not exist." >&2
echo "$usage" >&2
exit 1
fi
if [ ! -e $traj ] ; then
echo "Input file 'traj' does not exist." >&2
echo "$usage" >&2
exit 1
fi
if [ ! -e $ksp ] ; then
echo "Input file 'ksp' does not exist." >&2
echo "$usage" >&2
exit 1
fi
if [ ! -e $TOOLBOX_PATH/bart ] ; then
echo "\$TOOLBOX_PATH is not set correctly!" >&2
exit 1
fi
export PATH=$TOOLBOX_PATH:$PATH
export BART_COMPAT_VERSION="v0.7.00"
#WORKDIR=$(mktemp -d)
# Mac: http://unix.stackexchange.com/questions/30091/fix-or-alternative-for-mktemp-in-os-x
WORKDIR=`mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir'`
trap 'rm -rf "$WORKDIR"' EXIT
cd $WORKDIR
# model-based T1 reconstruction:
START=$(date +%s)
which bart
bart version
if [ $k_filter -eq 1 ] ; then
opts="-L -k -i10 -d4 -B0.3 -C300 -s0.475 -R3 -o$overgrid"
else
opts="-L -i10 -d4 -B0.3 -C300 -s0.475 -R3 -o$overgrid"
fi
echo $k_filter
if [ $sms -eq 1 ]; then
OMP_NUM_THREADS=10 nice -n10 bart moba $opts -j$lambda -N --no_alpha_min_exp_decay -t $traj $ksp $TI $reco $sens
else
OMP_NUM_THREADS=10 nice -n10 bart moba $opts -M -j$lambda -N --no_alpha_min_exp_decay -t $traj $ksp $TI $reco $sens
fi
END=$(date +%s)
DIFF=$(($END - $START))
echo "It took $DIFF seconds"