Generate XDS.INP: Difference between revisions

→‎The script: include POSITION into REFINE(IDXREF) because latest XDS is more robust. Add comments to keywords.
(v 0.75 reversed ORGX and ORGY for marCCD @ ESRF BM14)
(→‎The script: include POSITION into REFINE(IDXREF) because latest XDS is more robust. Add comments to keywords.)
Line 92: Line 92:
# revision 0.74 . Keitaro 02/08/2017 Add PILATUS3 6M, S/N 60-0127 at CHESS F1 with  ROTATION_AXIS=-1 0 0
# revision 0.74 . Keitaro 02/08/2017 Add PILATUS3 6M, S/N 60-0127 at CHESS F1 with  ROTATION_AXIS=-1 0 0
# revision 0.75 . KD 30/08/2017 reversed ORGX and ORGY for marCCD @ BM14 (Indian beamline @ ESRF)
# revision 0.75 . KD 30/08/2017 reversed ORGX and ORGY for marCCD @ BM14 (Indian beamline @ ESRF)
REVISION="0.75 (30-Aug-2017)"
# revision 0.76 . KD 4/09/2017 include POSITION into REFINE(IDXREF) because latest XDS is more robust. Add comments to keywords.
REVISION="0.76 (4-Sep-2017)"


#                                                                                                             
#                                                                                                             
Line 655: Line 656:


echo ORGX= $ORGX ORGY= $ORGY - check these values with adxv !
echo ORGX= $ORGX ORGY= $ORGY - check these values with adxv !
echo DETECTOR_DISTANCE= $DETECTOR_DISTANCE                  
echo DETECTOR_DISTANCE= $DETECTOR_DISTANCE ! only read by XYCORR, IDXREF                   
echo OSCILLATION_RANGE= $OSCILLATION_RANGE                  
echo OSCILLATION_RANGE= $OSCILLATION_RANGE ! only read by IDXREF               
echo X-RAY_WAVELENGTH= $X_RAY_WAVELENGTH                    
echo X-RAY_WAVELENGTH= $X_RAY_WAVELENGTH   ! only read by IDXREF                 


# now we know everything that is required to generate XDS.INP
# now we know everything that is required to generate XDS.INP
Line 664: Line 665:
! written by generate_XDS.INP version $REVISION
! written by generate_XDS.INP version $REVISION
JOB= XYCORR INIT COLSPOT IDXREF DEFPIX INTEGRATE CORRECT
JOB= XYCORR INIT COLSPOT IDXREF DEFPIX INTEGRATE CORRECT
ORGX= $ORGX ORGY= $ORGY  ! values from header - check with viewer !
ORGX= $ORGX ORGY= $ORGY  ! values from frame header; only read by XYCORR, IDXREF   
$COMMENT_ORGXY
$COMMENT_ORGXY
DETECTOR_DISTANCE= $DETECTOR_DISTANCE                  
DETECTOR_DISTANCE= $DETECTOR_DISTANCE   ! only read by XYCORR, IDXREF               
OSCILLATION_RANGE= $OSCILLATION_RANGE                     
OSCILLATION_RANGE= $OSCILLATION_RANGE                     
X-RAY_WAVELENGTH= $X_RAY_WAVELENGTH                       
X-RAY_WAVELENGTH= $X_RAY_WAVELENGTH                       
Line 703: Line 704:
! since XDS 01-MAR-2015, POSITION supersedes DISTANCE. DISTANCE only for compatibility w/ old XDS.
! since XDS 01-MAR-2015, POSITION supersedes DISTANCE. DISTANCE only for compatibility w/ old XDS.
! nowadays headers are usually correct so refine DISTANCE/POSITION in INTEGRATE but not IDXREF
! nowadays headers are usually correct so refine DISTANCE/POSITION in INTEGRATE but not IDXREF
REFINE(IDXREF)=CELL BEAM ORIENTATION AXIS ! POSITION
REFINE(IDXREF)=CELL BEAM ORIENTATION AXIS POSITION  ! works best with XDS >= BUILT=20170720
REFINE(INTEGRATE)= DISTANCE POSITION BEAM ORIENTATION ! AXIS CELL
REFINE(INTEGRATE)= DISTANCE POSITION BEAM ORIENTATION ! AXIS CELL
! REFINE(CORRECT)=CELL BEAM ORIENTATION AXIS DISTANCE POSITION ! Default is: refine everything
! REFINE(CORRECT)=CELL BEAM ORIENTATION AXIS DISTANCE POSITION ! Default is: refine everything
Line 720: Line 721:
DIRECTION_OF_DETECTOR_X-AXIS=1 0 0
DIRECTION_OF_DETECTOR_X-AXIS=1 0 0
DIRECTION_OF_DETECTOR_Y-AXIS=0 -1 0
DIRECTION_OF_DETECTOR_Y-AXIS=0 -1 0
INCIDENT_BEAM_DIRECTION=0 0 1
INCIDENT_BEAM_DIRECTION=0 0 1   ! only read by IDXREF
ROTATION_AXIS=0 1 0
ROTATION_AXIS=0 1 0             ! only read by IDXREF
!FRACTION_OF_POLARIZATION=0.98  ! uncomment if synchrotron
!FRACTION_OF_POLARIZATION=0.98  ! uncomment if synchrotron; only used by CORRECT
POLARIZATION_PLANE_NORMAL=1 0 0
POLARIZATION_PLANE_NORMAL=1 0 0 ! only used by CORRECT
eof
eof
else
else
  if [ "$rotation_axis" != "" ]; then
  if [ "$rotation_axis" != "" ]; then
   echo "ROTATION_AXIS= $rotation_axis" >> XDS.INP
   echo "ROTATION_AXIS= $rotation_axis ! only read by IDXREF" >> XDS.INP
  elif [ "$REVERSE_PHI" == "no" ]; then
  elif [ "$REVERSE_PHI" == "no" ]; then
   echo 'ROTATION_AXIS=1 0 0  ! Australian Synchrotron, SERCAT ID-22 (?), APS 19-ID (?), ESRF BM30A, SPring-8, SSRF BL17U need -1 0 0. Diamond ID24 needs 0 -1 0' >> XDS.INP
   echo 'ROTATION_AXIS=1 0 0  ! Australian Synchrotron, SERCAT ID-22 (?), APS 19-ID (?), ESRF BM30A, SPring-8, SSRF BL17U need -1 0 0. Diamond ID24 needs 0 -1 0' >> XDS.INP
Line 745: Line 746:
  fi
  fi
  cat >> XDS.INP << eof
  cat >> XDS.INP << eof
INCIDENT_BEAM_DIRECTION=0 0 1
INCIDENT_BEAM_DIRECTION=0 0 1         ! only read by IDXREF
FRACTION_OF_POLARIZATION=${pol_frac}  ! better value is provided by beamline staff!
FRACTION_OF_POLARIZATION=${pol_frac}  ! better value is provided by beamline staff!
POLARIZATION_PLANE_NORMAL=0 1 0
POLARIZATION_PLANE_NORMAL=0 1 0       ! only used by CORRECT
eof
eof
fi
fi
2,684

edits