Content:


Introduction

It can be rather difficult to synchronise the opening/closing of the shutter with the reading-out of the detector and the rotation of the spindle axis. So sometimes the image just after opening the shutter or just before closing the shutter might be exposed for shorter or longer time.

Within autoPROC, this can oftn be detected via the per-image scale data (as given by XDS/INTEGRATE). You would see a message like

warning1.png

or (within summary.html)

warning2.png


First or last image

If it is the first or last image as in

4JDH 4QL3 6G80 6JGJ 6NW4
4JDH_scale.png 4QL3_scale.png 6G80_scale.png 6JGJ_scale.png 6NW4_scale.png

You can just add the relevant parameter setting, namely

  % process FindImages_ExcludeFirstImage=yes ...

or

  % process FindImages_ExcludeLastImage=yes ...

Especially if this is a common issue at a beamline (or for a beamline shift) it would make sense to add these kind of keywords to all you autoPROC jobs.


Interleaved data

When running an interleaved experiment (e.g. inverse-beam or interleaved-wavelengths), the situation can become a bit more complicated. An interleaved experiment might look like this:

Omega=0 A A_scale_small.png
Omega=180 B B_scale_small.png

Here we will have to specify

  • the last image of each wedge
  • the first image of each wedge (but not of the very first wedge)

Things become a bit more "interesting" (i.e. difficult) because the wedge size has been optimised to avoid too many rotations between the A and B side:

A 0-20    20-60     60-100       ...
B     0-40     40-80      80-120 ...

So we can't use the simple keywords above and we need to use the EXCLUDE_DATA_RANGE= XDS keyword. If we were to process the two sweeps separately, we could use

  % process \
    autoPROC_XdsKeyword_EXCLUDE_DATA_RANGE="200 201|600 601|1000 1001|1400 1401|1800 1800" ...

for the first sweep A and

  % process \
    autoPROC_XdsKeyword_EXCLUDE_DATA_RANGE="400 401|800 801|1200 1201|1600 1601|1800 1800" ...

for the second (inverse) sweep B.

If we want to process the two sweeps together (which would be a good idea anyway), we could use e.g.

  % process \
      -Id sweepA,/where/ever,images_A_####,1,1800 \
      autoPROC_XdsKeyword_EXCLUDE_DATA_RANGE_sweepA="200 201|600 601|1000 1001|1400 1401|1800 1800" \
      -Id sweepB,/where/ever,images_B_####,1,1800 \
      autoPROC_XdsKeyword_EXCLUDE_DATA_RANGE_sweepB="400 401|800 801|1200 1201|1600 1601|1800 1800" \
      ...

You can see how we are extending the standard autoPROC_XdsKeyword_<KEYWORD>="<value>" syntax by adding a suffix "_<identifier>", where "<identifier>" corresponds to the first value in the comma-separated list.


Summary

The mechanisms above allow for treatment of synchronisation issues at beamlines - not necessarily in a fully automatic manner, but at least there are ways for handling that after data has been collected. Ideally, those issues will go away through developments and fixes at the instrumentation level itself.