PROCESS_HKL(1)

NAME
process_hkl - Monte Carlo merging of Bragg intensities

SYNOPSIS

process_hkl -i mypatterns.stream -o mydata.hkl -y pointgroup [options] ...

process_hkl --help

DESCRIPTION
process_hkl takes a data stream, such as that from indexamajig, and merges the many individual intensities together to form a single list of reflection intensities which are useful for crystallography. Merging is done by the Monte Carlo method, otherwise known as taking the mean of the individual values.

OPTIONS
-i filename
--input=filename
    Give the name of the input stream. --input=- means to use stdin.
-o filename
--output=filename
    Give the name of the output file. The default is --output=processed.hkl.
-y pointgroup
--symmetry=pointgroup
    Merge according to symmetry pointgroup.
-g h,k,l
--histogram=h,k,l
    Calculate a histogram of intensities for h,k,l, which will be written as histogram.dat in the current directory.
-z min,max,nbins
--hist-parameters=min,max,nbins
    Set the minimum and maximum values, and the number of bins, to min, max and nbins, respectively.
--start-after=n
    Ignore the first n crystals in the input. The default is --start-after=0, i.e. start at the beginning.
--stop-after=n
    Stop processing after n crystals have been successfully merged. The default is --stop-after=0, which means to process all the patterns from the start point to the end of the input (see --start-after).
--even-only
    Merge only the even-numbered crystals in the stream. "Even-numbered" is defined simply according to position in the stream, i.e. not according to any serial number. See also --odd-only.
--odd-only
    Merge only the odd-numbered crystals in the stream. "Odd-numbered" is defined simply according to position in the stream, i.e. not according to any serial number. See also --even-only.
--scale
    Perform a second pass through the input, scaling each crystal's intensities to best fit the initial model. Use partialator if you need more advanced merging techniques.
--polarisation=type
    Specify the polarisation of the incident radiation. type can be horiz or vert to indicate 100% polarisation of the electric field in the horizontal plane or vertical plane respectively. Setting type to none completely disables the polarisation correction (see the note below). Alternatively, type can be a direction followed by a percentage polarisation fraction. For example, 45deg90 means that 90% of the radiation is polarised with its electric field in a direction 45 degrees from horizontal, and 10deg100 means that all the radiation is polarised at 10 degrees from horizontal. The angle is specified clockwise from horizontal as viewed along the beam direction, i.e. as shown by the CrystFEL GUI. The beam is unpolarised when the fraction is 50% (equal parts of the radiation have their electric field in the specified plane). If the polarisation fraction is 100%, it can be omitted. For example 10deg or horiz. Note that --polarisation=none is not the same as, for example, --polarisation=vert50. In the first case, the polarisation correction will be completely disabled. In the other case, the incident beam will be unpolarised, but the polarisation of the diffracted radiation will still be corrected for (the factor of (1+cos^2(2theta))/2 or, equivalently, (2-sin^2(2theta))/2). The default is --polarisation=horiz.
--no-polarisation
    Synonym for --polarisation=none.
--min-measurements=n
    Include a reflection in the output only if it appears at least least n times. The default is --min-measurements=2.
--min-snr=n
    Use a particular individual reflection intensity measurement only if it exceeds its estimated standard error by at least n. The default is -infinity, i.e. no cutoff.

    WARNING: think very carefully before using this option. It will bias reflections towards more positive values, even where no signal exists, leading to a data set dominated by the background. This can invalidate some of the figures of merit for the merit for data quality while severely compromising the actual quality.
--max-adu=n
    Include reflections only if their peak values were less than n. That means, n is the saturation value of the detector. The default is infinity, i.e. no cutoff.
--min-res=n
    Merge crystals only if they diffract to beyond n Angstroms resolution. The default is infinity, i.e. all crystals are included. The resolution is taken from the diffraction_resolution_limit line in the stream.
--push-res=n
    Merge reflections which are up to n nm^-1 higher than the apparent resolution limit of each individual crystal. n can be negative to merge lower than the apparent resolution limit. The default is --push-res=inf, which means no resolution cutoff at all.
--min-cc=n
    Perform a second pass through the input, merging crystals only if their correlation with the initial model is at least n.
--stat=filename
    Perform a second pass through the input and, for each crystal merged, write a line to filename containing the filename, scale factor and correlation coefficient with the initial model. The scale factors will all be 1 unless --scale is also used.

CHOICE OF POINT GROUP FOR MERGING
One of the main features of serial crystallography is that the orientations of individual crystals are random. That means that the orientation of each crystal must be determined independently, with no information about its relationship to the orientation of crystals in other patterns. Some symmetry classes are merohedral, which means that they have lower symmetry than their lattices. This means that the orientation determined by indexing will have an ambiguity. In such cases, you will need to merge according to corresponding holohedral point group. To determine what this is, consult the tables in twin-calculator.pdf.

AUTHOR
This page was written by Thomas White.

REPORTING BUGS
Report bugs to <taw@physics.org>, or visit <http://www.desy.de/~twhite/crystfel>.

COPYRIGHT AND DISCLAIMER
Copyright © 2012-2021 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association.

qprocess_hkl, and this manual, are part of CrystFEL.

CrystFEL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CrystFEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with CrystFEL. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO
crystfel(7), indexamajig(5), compare_hkl(1), check_hkl(1), render_hkl(1), ambigator(1), partialator(1)