next up previous
Next: Data analysis Up: Angular calibration wizard manual Previous: Introduction

Subsections

Data acquisition

The angular calibration consists in acquiring a set of diffraction patterns of a well known powder standard (e.g. Silicon) at different encoder positions. In order to facilitate the procedure, the sample should not emit fluorescent light and should present relatively symmetric peaks.
During the measurement, a strong intensity peak (e.g. Si(111)) should pass through the field of view of every module such that it can be used as a reference angular position to perform the calibration of the modules position. In general the highest peak will be used for the calibration, but this is not necessary in case there would be e.g. geometrical limitations for shifting the detector.
Do not forget to properly position the beam stopper if the detector is scanned in front of the direct beam.
The detector should be shifted of an angular step of the order of about 2% of the module size, such that about 50 patterns can contribute to the fitting of the 3 parameters necessary for the angular calibration.

All the angular calibration procedure should be acquired using a trimmed detector with the threshold set at half of the X-ray energy (Assuming no fluorescent element in the standard). A flat field should also be acquired in order to precisely correct the data, while the X-ray intensity should be kept lower than about 100 kHz per strip in order to avoid the need for rate corrections.

A rough angular conversion file starting from a previous calibration or from the geometric characteristics of the mechanics is an advantage. The angular conversion file should contain a line for each module of the detector with its module number $i$, center $C_{center}^{i}$ and error, conversion radius $p/R^i$ and error, offset $\Theta_o^i$ and error:

module 0 center 639.5 +- 0 conversion 6.56E-05 +- 0 offset 0 +- 0
Also the global offset value of the beamline should be approximately known i.e. the angular position of channel 0 of module 0 when the motor is set at 0.
All the documentation assumes that the detector is oriented in the same direction as the encoder position i.e. large channel number at higher angles (both per module and absolute). If this is not the case, the angular direction should be set to -1.

Software

For the acquisition ot the data you need to install the slsDetector software package (please refere to separate documentation). The use of the GUI is optional and all operations can be performed also using the text client.

Please make sure that you have edited the
slsDetectorSoftware/usersFunctions/angleFunction.h
in order to match the angular conversion for your geometry and
slsDetectorSoftware/usersFunctions/usersFunctions.cpp
in order to be able to move the detector and read out its position by using the slsDetector software.

In the following the command to acquire a dataset for the angular calibration with an exposure time of 1 s, and position shift

#setup angular calibration log mode
> sls_detector_put angcallog 1 
#set exposure time to 1s
> sls_detector_put exptime 1. 
#setup threshold scan
> sls_detector_put scan0script position 
#setup the precision for the scan variable in the file name
> sls_detector_put scan0prec 2 
#set scan range between 20deg and -60deg, step of -0.1deg
# (at 12.4 keV the Si(111) peak is at approx 19deg
> sls_detector_put scan0range 20 -60 -0.1 
#acquire the data
> sls_detector_acquire
#unset angular calibration log mode
> sls_detector_put angcallog 0

With the GUI you can obtain the same results by clicking on the Angular calibration log button in the advanced tab (see figure 1) and setting up the motor position scan in the Actions tab (see figure 2). The exposure time should also be set in the measurement tab.

Additional to the data files, the acquisition will produce a .angcal file containing an header and, for each step of the acquisition, the exect value of the motor position and the file name.
In case you forgot to enable the angcallog flag in the software, you can produce the file with the syntax as follows, assuming that you know the exact values of your encoder for each frame:

type Mythen
maxmod 32
nmod 32
angconv /scratch/angcal20120422/ang.off
globaloff 5.088
fineoff 0.0
angdir 1
ffdir /scratch/angcal20120422/
flatfield flatfield_E12keV_T6keV_0.raw
badchannels /scratch/cal/bad.chans
19.99998 angcal_S20.00_0
19.90001 angcal_S19.90_0
19.79999 angcal_S19.80_0
19.70002 angcal_S19.70_0
......

Figure 1: Acquisition GUI window to enable the angular calibration log.
\includegraphics[width=\textwidth]{enable_angcal.eps}

Figure 2: Acquisition GUI window to setup the motor position scan.
\includegraphics[width=\textwidth]{position_scan.eps}


next up previous
Next: Data analysis Up: Angular calibration wizard manual Previous: Introduction
Thattil Dhanya 2019-04-08