2,652
edits
m (→The script) |
(→The script: version 0.91 (allow negative STARTING_ANGLE for Eiger)) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 105: | Line 105: | ||
# revision 0.87 . KD 12/10/2019 Add PILATUS XXX, S/N XX-XXX at SSRF BL19U1 and MarCCD detector #43 at BL17B1 with ROTATION_AXIS=-1 0 0 | # revision 0.87 . KD 12/10/2019 Add PILATUS XXX, S/N XX-XXX at SSRF BL19U1 and MarCCD detector #43 at BL17B1 with ROTATION_AXIS=-1 0 0 | ||
# revision 0.88 . KD 16/10/2019 fixes for SSRF, add "-maxdepth 1" to "find -H ..." | # revision 0.88 . KD 16/10/2019 fixes for SSRF, add "-maxdepth 1" to "find -H ..." | ||
# revision 0.89 . KD 21/10/2019 add ADSC S/N 905 at ALS 8.2.1, S/N 928 at Australian Synchrotron MX2 beamline | # revision 0.89 . KD 21/10/2019 add ADSC S/N 905 at ALS 8.2.1, S/N 928 at Australian Synchrotron MX2 beamline; final SSRF fixes | ||
REVISION="0. | # revision 0.90 . KD 25/10/2019 add OLDMAR detector type. Tested w/ SBGrid data set 6. Anomalous signal may have wrong hand! | ||
# revision 0.91 . KD 16/01/2020 Allow negative starting angle for Eiger (found -33 at SLS !). | |||
REVISION="0.91 (16-Jan-2020)" | |||
# | # | ||
Line 232: | Line 234: | ||
grep -q mar345 tmp2 && DET=MAR345 | grep -q mar345 tmp2 && DET=MAR345 | ||
grep -q BRUKER tmp2 && grep -q CBF tmp2 && DET=Bruker-cbf | grep -q BRUKER tmp2 && grep -q CBF tmp2 && DET=Bruker-cbf | ||
grep -q CMOS1 tmp2 && DET=adsc-CMOS1 | grep -q CMOS1 tmp2 && DET=adsc-CMOS1 | ||
grep -q MARCONTROL tmp2 && DET=OLDMAR | |||
else | else | ||
h5dump -d "/entry/instrument/detector/description" $FIRSTFRAME | grep -i Eiger > /dev/null && DET=eiger | h5dump -d "/entry/instrument/detector/description" $FIRSTFRAME | grep -i Eiger > /dev/null && DET=eiger | ||
Line 498: | Line 501: | ||
REVERSE_PHI="yes" | REVERSE_PHI="yes" | ||
fi | fi | ||
if [ "$DET_SN" == " | if [ "$DET_SN" == "PILATUS XXX, S/N XX-XXX" ] ; then | ||
REVERSE_PHI="yes" | REVERSE_PHI="yes" | ||
echo inverted rotation axis at SSRF BL19U1 | |||
fi | fi | ||
Line 531: | Line 535: | ||
#STARTING_ANGLE: | #STARTING_ANGLE: | ||
STARTING_ANGLE=`h5dump -d "/entry/sample/goniometer/omega_start" $FIRSTFRAME | awk '/\(0\): [0-9]/{print $2}'` | # the \- was introduced in version 0.91 : | ||
STARTING_ANGLE=`h5dump -d "/entry/sample/goniometer/omega_start" $FIRSTFRAME | awk '/\(0\): [\-0-9]/{print $2}'` | |||
# 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"` | ||
# Eiger 16M SSRF BL17U1 | # Eiger 16M SSRF BL17U1 | ||
SN=`h5dump -d "/entry/instrument/detector/detector_number" $FIRSTFRAME | awk '/\(0\): | SN=`h5dump -d "/entry/instrument/detector/detector_number" $FIRSTFRAME | awk '/\(0\): /{print $2}' | sed s/\"//g` | ||
if [ "$SN" == "E-32-0111" ]; then | if [ "$SN" == "E-32-0111" ]; then | ||
rotation_axis="-1 0 0" | rotation_axis="-1 0 0" | ||
echo SSRF BL17U1 with inverted rotation axis | |||
fi | fi | ||
Line 673: | Line 679: | ||
X_RAY_WAVELENGTH=`grep 'WAVELENGTH' tmp2 | awk '{print $2}'` | X_RAY_WAVELENGTH=`grep 'WAVELENGTH' tmp2 | awk '{print $2}'` | ||
OSCILLATION_RANGE=`grep 'PHI' tmp2 | awk '{print $5-$3}'` | OSCILLATION_RANGE=`grep 'PHI' tmp2 | awk '{print $5-$3}'` | ||
TRUSTED_REGION="0 0.99" | TRUSTED_REGION="0 0.99" | ||
elif [ "$DET" == "OLDMAR" ]; then | |||
echo "Data from old type MAR image plate detector" | |||
DETECTOR="MAR MINIMUM_VALID_PIXEL_VALUE=0 OVERLOAD=130000" | |||
NX=`awk 'NR==2 {print $2}' tmp2` | |||
NY=$NX | |||
QX=`awk 'NR==2 {print $15}' tmp2` | |||
QY=$QX | |||
ORGX=`awk 'NR==2 {print $19}' tmp2` | |||
ORGY=`awk 'NR==2 {print $20}' tmp2` | |||
DETECTOR_DISTANCE=`awk 'NR==2 {print $22}' tmp2` | |||
X_RAY_WAVELENGTH=`awk 'NR==2 {print $21}' tmp2` | |||
OSCILLATION_RANGE=`awk 'NR==2 {print $24-$23}' tmp2` | |||
TRUSTED_REGION="0 0.99" | |||
rotation_axis="0 1 0" | |||
echo unsure if sign of anomalous signal is correct - please verify or try both hands! | |||
elif [ "$DET" == "Bruker-cbf" ]; then | elif [ "$DET" == "Bruker-cbf" ]; then | ||
Line 789: | Line 813: | ||
SEPMIN=$SEPMIN CLUSTER_RADIUS=$CLUSTER_RADIUS ! 4 and 2 for Pixel Array Detectors | SEPMIN=$SEPMIN CLUSTER_RADIUS=$CLUSTER_RADIUS ! 4 and 2 for Pixel Array Detectors | ||
! since XDS 01-MAR-2015, POSITION supersedes DISTANCE. | ! since XDS 01-MAR-2015, POSITION supersedes DISTANCE. | ||
! nowadays headers are usually correct so refine POSITION in INTEGRATE but not IDXREF | ! nowadays headers are usually correct so refine POSITION in INTEGRATE but not IDXREF if low to medium resolution | ||
REFINE(IDXREF)=CELL BEAM ORIENTATION AXIS ! | ! however, if the spots from COLSPOT extend to 2A then POSITION could, and if 1.5A POSITION should be refined | ||
REFINE(INTEGRATE)= POSITION BEAM ORIENTATION ! AXIS CELL | REFINE(IDXREF)=CELL BEAM ORIENTATION AXIS ! add POSITION if high resolution, or DETECTOR_DISTANCE inaccurate | ||
REFINE(INTEGRATE)= POSITION BEAM ORIENTATION ! AXIS CELL . If 1.5A or higher it is ok to refine CELL | |||
! REFINE(CORRECT)=CELL BEAM ORIENTATION AXIS POSITION ! Default is: refine everything | ! REFINE(CORRECT)=CELL BEAM ORIENTATION AXIS POSITION ! Default is: refine everything | ||