# Difference between revisions of "INTEGRATE"

INTEGRATE is the most important step ("JOB") of XDS. This steps writes the logfile INTEGRATE.LP. Its task is (for each reflection)

1. to calculate the frame(s) where it contributes, and the pixel positions
2. to integrate, using profile-fitting, the observed pixel contents
3. to write the observed intensities, their standard deviations, their positions and a number of less important data to INTEGRATE.HKL

While it does this, it also refines all geometrical parameters of the diffraction experiment.

## Some explanations of definitions given by Wolfgang Kabsch (slightly edited)

• Observed spot coordinates
1. A pixel is defined 'strong' if its contents is above the mean plus a certain number (say, 3) estimated standard deviations of the surrounding background pixel values.
2. Two 'strong' pixels belong to the same spot if they are found adjacent in 3 dimensions; like x,y,z :: x+1,y,z :: x,y,z+1 :: etc.
3. A spot is defined as the set of all 'strong' pixels being adjacent, directly or indirectly.
4. Observed spot coordinates are defined as centroid of the 'strong' pixels (after background subtraction) and spatial corrections available from the X,Y-lookup tables are added to the centroids.

This definition covers the case that a spot may extend over many images or just appears on a single image. Note that XDS uses z-centroids instead of phi-angles about the spindle axis. This definition allows for bimodal spot shapes as well.

Note that this means that for weak reflections there are no observed spot coordinates.

• Calculated spot coordinates

These are the x,y,z coordinates of the centroid of Gaussians (i.e. unimodal) centered at the ideal Bragg peak x,y,phi using initial guesses for the variances (which are later replaced by estimates using the observed images).

The mapping of each pixel to the Ewald sphere uses a local, reflection specific coordinate system the origin of which corresponding to the ideal Bragg peak x,y,phi. This is used for profile fitting and has nothing to do with the definitions of observed and calculated spot coordinates.

XDS does not adjust the integration boxes such as to center them individually on the observed reflections: it only tries to minimize the deviations between observed and calculated spot coordinates by adjusting about a dozen diffraction parameters (those given by REFINE(INTEGRATE)) for the reflections in a certain range of frames (DELPHI).

## How does INTEGRATE treat overlaps?

First of all, there is no conceptual difference in XDS between overlap on a frame (due to too close detector, or smeared spots), and overlap by rotation (due to too large delta-phi, or high mosaicity).

The integration algorithm is:

1. each pixel of the detector is assigned to its nearest reflection in reciprocal space ("pixel-labelling", see [1])
2. some of these pixels will mostly allow the background estimation, others will mostly contribute to the integration area (but as they are transformed into a local coordinate system [2] there is not a 1:1 relationship). At this step, pixels which should be background but are higher than expected (due to overlap) are rejected.
3. for each reflection, the background is estimated, and the 3D profile is assembled from the pixels contributing to it
4. a comparison is made: for a reflection, is the percentage of its observed profile assembled in 3. larger than some constant (called "MINPK" in XDS.INP)? If the answer is no, this reflection will be discarded (too much "overlap"). Otherwise, the observed intensity (from the incomplete profile) is scaled up, using the inverse of the observed fraction (this relies on the accuracy of the average profile).

Among other things, this means that:

1. the program does _not_ look around each reflection to detect an overlap situation, it just tries to gather the pixels for each reflection
2. as a user, when your crystal-detector distance was chosen too low, or the reflections are very broad, or if the crystal has a high mosaicity (all of which result in many overlaps), you may try reducing MINPK down to 70, 65, 60, 55 or even 50. This will result in more completeness, but you should monitor the quality of the resulting data. Conversely, if you raise MINPK over its default of 75 you will discard more reflections, but the resulting dataset will be a bit cleaner.