2,684
edits
(→The script: rev 1.03 (Feng YU)) |
|||
Line 8: | Line 8: | ||
For improved interaction with [[XDSGUI]], it is advantageous to provide an ''absolute'' filename for the data files - one that starts with a slash ("/"). | For improved interaction with [[XDSGUI]], it is advantageous to provide an ''absolute'' filename for the data files - one that starts with a slash ("/"). | ||
#!/bin/bash | #!/bin/bash | ||
Line 119: | Line 116: | ||
# revision 1.01 . KD 07/12/2020 ROTATION_AXIS=0 -1 0 for Pilatus3 2M, S/N 24-0118 at ID23-2 (http://www.globalphasing.com/autoproc/wiki/index.cgi?BeamlineSettings) | # revision 1.01 . KD 07/12/2020 ROTATION_AXIS=0 -1 0 for Pilatus3 2M, S/N 24-0118 at ID23-2 (http://www.globalphasing.com/autoproc/wiki/index.cgi?BeamlineSettings) | ||
# revision 1.02 . KD 11/01/2021 recognize mar555 detector as mar345 (thanks to Thomas Hauß, HZB) | # revision 1.02 . KD 11/01/2021 recognize mar555 detector as mar345 (thanks to Thomas Hauß, HZB) | ||
REVISION="1. | # revision 1.03 . Feng YU 18/7/2021 fix/expand information about Shanghai Synchrotron Radiation Facility (SSRF) | ||
REVISION="1.03 (22-Jul-2021)" | |||
# | # | ||
Line 567: | Line 565: | ||
# STARTING_ANGLE: the \- was introduced in version 0.91 to allow negative values : | # STARTING_ANGLE: the \- was introduced in version 0.91 to allow negative values : | ||
STARTING_ANGLE=`h5dump -d "/entry/sample/goniometer/omega_start" $FIRSTFRAME | awk '/\(0\): [\-0-9]/{print $2}'` | STARTING_ANGLE=`h5dump -d "/entry/sample/goniometer/omega_start" $FIRSTFRAME | awk '/\(0\): [\-0-9]/{print $2}'` | ||
# /entry/sample/goniometer/omega_start is missing in some eiger2 detectors (e.g. Eiger2 9M with fw version release-2020.2.1 and SIMPLON API 1.8) (Feng YU 2021-07-18) | |||
if [ "$STARTING_ANGLE" == "" ]; then | |||
echo "/entry/sample/goniometer/omega_start not found, try /entry/sample/goniometer/omega" | |||
STARTING_ANGLE=`h5dump -d /entry/sample/goniometer/omega $FIRSTFRAME | grep "(0):" | head -n 1 | awk '{print $2}' | sed -e "s/,//g"` | |||
fi | |||
echo "STARTING_ANGLE=$STARTING_ANGLE" | |||
# If rotation vector set (NeXus) | # If rotation vector set (NeXus) | ||
rotation_axis=`h5dump -a "/entry/sample/transformations/omega/vector" $FIRSTFRAME 2>/dev/null | grep "(0):" | sed -e "s/^.*://; s/,//g"` | rotation_axis=`h5dump -a "/entry/sample/transformations/omega/vector" $FIRSTFRAME 2>/dev/null | grep "(0):" | sed -e "s/^.*://; s/,//g"` | ||
# | # EIGER2 16M CHESS ID7B2 has S/N E-32-0123 (A. Finke 2020-11-07) v0.99 | ||
SN=`h5dump -d "/entry/instrument/detector/detector_number" $FIRSTFRAME | awk '/\(0\): /{print $2}' | sed s/\"//g` | SN=`h5dump -d "/entry/instrument/detector/detector_number" $FIRSTFRAME | awk '/\(0\): /{print $2}' | sed s/\"//g` | ||
if | if [ "$SN" == "E-32-0123" ]; then | ||
rotation_axis="-1 0 0" | rotation_axis="-1 0 0" | ||
echo SSRF BL17U1 | echo CHESS ID7B2 with inverted rotation axis | ||
fi | fi | ||
# SSRF BL17U1 and SSRF BL10U2 (Feng YU 2021-07-18) | |||
# Eiger X 16M (S/N E-32-0111) was installed at SSRF BL17U1 from Oct 2017 to Feb 2021. After Feb 2021, it was moved back to SSRF BL10U2. | |||
# 2021-02-01 00:00:00 CST time stamp is 1612108800 | |||
if [ "$SN" == "E-32-0111" ]; then | |||
collection_time=`h5dump -d "/entry/instrument/detector/detectorSpecific/data_collection_date" $FIRSTFRAME | grep "(0):" | awk '{print $2}' | sed -e "s/\.\(.*\)/CST/g; s/\"//g"` | |||
if [ `uname -s` == "Darwin" ]; then | |||
collection_timestamp=`date -j -f "%Y-%m-%dT%H:%M:%S%Z" $collection_time +%s` | |||
elif [ `uname -s` == "Linux" ]; then | |||
collection_timestamp=`date -d $collection_time +%s` | |||
else | |||
collection_timestamp=0 | |||
fi | |||
if [ $collection_timestamp -eq 0 ]; then | |||
is_rotation_axis_set=1 | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME 2>/dev/null || is_rotation_axis_set=0` | |||
if [ "$is_rotation_axis_set" == "1" ]; then | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME | grep "(0):" | sed -e "s/^.*://; s/,//g"` | |||
echo "The rotation axis of SSRF BL10U2 (Eiger X 16M) is $rotation_axis" | |||
else | |||
rotation_axis="-1 0 0 ! Cannot determine rotation axis. SSRF BL17U1: -1 0 0; SSRF BL02U1: 0 -1 0" | |||
fi | |||
elif [ $collection_timestamp -ge 0 ] && [ $collection_timestamp -le 1612108800 ]; then | |||
# SSRF BL17U1 | |||
rotation_axis="-1 0 0" | |||
echo "SSRF BL17U1 (Eiger X 16M) with inverted rotation axis" | |||
else | |||
# SSRF BL10U2 | |||
is_rotation_axis_set=1 | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME 2>/dev/null || is_rotation_axis_set=0` | |||
if [ "$is_rotation_axis_set" == "1" ]; then | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME | grep "(0):" | sed -e "s/^.*://; s/,//g"` | |||
echo "The rotation axis of SSRF BL10U2 (Eiger X 16M) is $rotation_axis" | |||
else | |||
rotation_axis="0 -1 0" | |||
echo "SSRF BL10U2 (Eiger X 16M) with vertical rotation axis" | |||
fi | |||
fi | |||
fi | |||
# SSRF BL02U1 (Feng YU 2021-07-18) | |||
# EIGER2 S 9M SSRF BL02U1 has S/N E-18-0121 | |||
if [ "$SN" == "E-18-0121" ]; then | |||
is_rotation_axis_set=1 | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME 2>/dev/null || is_rotation_axis_set=0` | |||
if [ "$is_rotation_axis_set" == "1" ]; then | |||
rotation_axis=`h5dump -d "/SSRF/RotationAxis" $FIRSTFRAME | grep "(0):" | sed -e "s/^.*://; s/,//g"` | |||
echo "The rotation axis of SSRF BL02U1 (Eiger2 S 9M) is $rotation_axis" | |||
else | |||
rotation_axis="1 0 0" | |||
echo "SSRF BL02U1 (Eiger2 S 9M) with horizontal rotation axis" | |||
fi | |||
fi | |||
fi | fi | ||
DETECTOR="EIGER MINIMUM_VALID_PIXEL_VALUE=0 OVERLOAD= $OVERLOAD" | DETECTOR="EIGER MINIMUM_VALID_PIXEL_VALUE=0 OVERLOAD= $OVERLOAD" | ||
Line 1,102: | Line 1,157: | ||
echo BKGPIX.cbf, and the agreement of predicted and observed spots in FRAME.cbf! | echo BKGPIX.cbf, and the agreement of predicted and observed spots in FRAME.cbf! | ||
rm -f tmp1 tmp2 | rm -f tmp1 tmp2 | ||
== System-wide or personal installation == | == System-wide or personal installation == |