Skip to content
Snippets Groups Projects
Commit 954617a4 authored by Rita Nunes's avatar Rita Nunes
Browse files

modified the script so it will be compatible with any type of images

parent eea076be
No related branches found
No related merge requests found
......@@ -52,8 +52,8 @@ current_dir=`pwd`
acq=1
while [ $acq -le $numb_acqs ];do
if [ ! -e ${input_file}${acq}.hdr ]; then
echo Cant find $input_file
if [ ! `imtest ${input_file}${acq}` ]; then
echo Cant find $input_file
exit
fi
acq=`expr $acq + 1`;
......@@ -74,24 +74,21 @@ nvols=`avwval ${input_file}1 dim4`;
acq=1
while [ $acq -le $numb_acqs ]; do
echo splitting $input_file$acq
avwsplit $input_file$acq.hdr
avwsplit $input_file$acq
volume=0;
if [ $nvols -lt 10 ]; then
while [ $volume -lt $nvols ]; do
mv vol000$volume.hdr vol000${volume}_${acq}.hdr
mv vol000$volume.img vol000${volume}_${acq}.img
immmv vol000$volume vol000${volume}_${acq}
volume=`expr $volume + 1`
done
else
volume=0
while [ $volume -lt 10 ]; do
mv vol000${volume}.hdr vol000${volume}_${acq}.hdr
mv vol000${volume}.img vol000${volume}_${acq}.img
immv vol000${volume} vol000${volume}_${acq}
volume=`expr $volume + 1`
done
while [ $volume -lt $nvols ]; do
mv vol00${volume}.hdr vol000${volume}_${acq}.hdr
mv vol00${volume}.img vol000${volume}_${acq}.img
immv vol00${volume} vol000${volume}_${acq}
volume=`expr $volume + 1`
done
fi
......@@ -103,23 +100,21 @@ num_dodgy_vols=`expr $#`
while [ $vol -lt $num_dodgy_vols ]; do
v=$1
shift
if [ -e vol000${v}_1.hdr ]; then
rm vol000${v}_*.hdr -f
rm vol000${v}_*.img -f
fi
if [ `imtest vol000${v}_1` ]; then
rm vol000${v}_* -f
fi
if [ `imtest vol00${v}_1` ]; then
rm vol00${v}_* -f
fi
if [ -e vol00${v}_1.hdr ]; then
rm vol00${v}_*.hdr -f
rm vol00${v}_*.img -f
fi
vol=`expr $vol + 1`
done
acq=1
while [ $acq -le $numb_acqs ]; do
rm ${input_file}${acq}*
avwmerge -t data$acq vol*_$acq.hdr
acq=`expr $acq + 1`;
rm ${input_file}${acq}* -f
avwmerge -t data$acq `$FSLDIR/bin/imglob -oneperimage vol*_$acq`
acq=`expr $acq + 1`;
done
matlab -nodisplay -nojvm -nosplash 1> matlab.out1 2>&1 <<EOF
......@@ -179,36 +174,36 @@ if [ $# -gt 1 ]; then
check_vols $n_vols $numb_acqs
if [ -e dodgy_vols ]; then
dodgy=`cat dodgy_vols`
rem_vols data $numb_acqs $dodgy
if [ -e dodgy_vols ]; then
dodgy=`cat dodgy_vols`
rem_vols data $numb_acqs $dodgy
else
echo No volumes need to be removed
echo No volumes need to be removed
fi
nvols=`avwval data1 dim4`;
echo output will have $nvols volumes
dodgy_volumes=`cat vol_list`
dodgy_volumes=`echo $dodgy_volumes`
if [ -e dodgy_vols ]; then
if [ "$dodgy_volumes" != "" ]; then
echo dogdy volumes updated taking into account removed volumes
echo dodgy volumes are now: $dodgy_volumes
fi
if [ "$dodgy_volumes" != "" ]; then
echo dogdy volumes updated taking into account removed volumes
echo dodgy volumes are now: $dodgy_volumes
fi
fi
if [ "$dodgy_volumes" != "" ]; then
acq=1
echo "">file_list
while [ $acq -le $numb_acqs ];do
echo data$acq.hdr >> file_list
echo data$acq >> file_list
acq=`expr $acq + 1`;
done
done
file_list=`cat file_list`
avwmerge -t bigdata $file_list
......@@ -223,9 +218,9 @@ if [ $# -gt 1 ]; then
echo "$first $second">>average_file;
acq=`expr $acq + 1`;
done
echo "">>average_file
acq=0
n_vols=`echo $nvols`
......@@ -247,6 +242,10 @@ if [ $# -gt 1 ]; then
done;
fi
if [ $FSLOUTPUTTYPE != 'ANALYZE' ]; then
avwchfiletype ANALYZE bigdata
rm bigdata.nii.gz -f
fi
replacevols bigdata average_file $dodgy_volumes tmp_file
if [ -e tmp_file.img.gz ]; then
......@@ -256,6 +255,10 @@ if [ $# -gt 1 ]; then
fi
fi
if [ $FSLOUTPUTTYPE != 'ANALYZE' ]; then
avwchfiletype $FSLOUTPUTTYPE tmp_file
fi
nvols=`avwval tmp_file dim4`;
n_vols=`echo $nvols`
volsacqs=`avwval data1 dim4`;
......@@ -277,15 +280,16 @@ if [ $# -gt 1 ]; then
fi
vol=`expr $vol + 1`;
done
avwmerge -t data${acq}_all vol${acq}_*.hdr
avwmerge -t data${acq}_all `$FSLDIR/bin/imglob -oneperimage vol${acq}_*`
avwmaths data${acq}_all -div ${numb_acqs} data${acq}_all;
add4d data data${acq}_all data;
avwmaths data -add data${acq}_all data;
rm data${acq}_all* vol${acq}* -f
acq=`expr $acq + 1`;
done
rm tmp*
done
rm *_all* -f
rm average_file -f
rm tmp* -f
rm average_file -f
else
echo averaging the data
volsacqs=`avwval data1 dim4`;
......@@ -295,7 +299,7 @@ if [ $# -gt 1 ]; then
acq=1;
while [ ${acq} -le ${numb_acqs} ]; do
avwmaths data${acq} -div ${numb_acqs} data${acq};
add4d data data${acq} data;
avwmaths data -add data${acq} data;
acq=`expr $acq + 1`;
done
fi
......@@ -314,14 +318,12 @@ else
acq=1;
while [ ${acq} -le ${numb_acqs} ]; do
avwmaths data${acq} -div ${numb_acqs} data${acq};
add4d data data${acq} data;
avwmaths data -add data${acq} data;
acq=`expr $acq + 1`;
done
fi
echo extracting nodif image from averaged data
avwsplit data
mv vol0000.hdr nodif.hdr -f
mv vol0000.img nodif.img -f
avwroi data nodif 0 1
rm tmp* -f
rm vol* -f
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment