Single crystal tool: sparsify-Bragg

Compress single crystal datasets by removing the background noise

Purpose

Sparsify 2D single crystal diffraction images by separating Bragg peaks from background signal.

Positive outlier pixels (i.e. Bragg peaks) are all recorded as they are without destruction. Peaks are not integrated.

Background is calculated by an iterative sigma-clipping in the polar space. The number of iteration, the clipping value and the number of radial bins could be adjusted.

This program requires OpenCL. The device needs be properly selected.

Usage:

spasify-Bragg [-h] [-V] [-v] [–debug] [–profile] [-o OUTPUT] [–save-source] [-b BEAMLINE] [-p PONI] [-m MASK] [–dummy DUMMY] [–delta-dummy DELTA_DUMMY] [–radial-range RADIAL_RANGE RADIAL_RANGE] [-P POLARIZATION] [-A] [–bins BINS] [–unit UNIT] [–cycle CYCLE] [–cutoff-clip CUTOFF_CLIP] [–cutoff-pick CUTOFF_PICK] [–error-model ERROR_MODEL] [–noise NOISE] [–workgroup WORKGROUP] [–device DEVICE DEVICE] [–device-type DEVICE_TYPE] [IMAGE …]

Options:

IMAGE

File with input images. All frames will be concatenated in a single HDF5 file.

-h, –help

show this help message and exit

-V, –version

output version and exit

-v, –verbose

show information for each frame

–debug

show debug information

–profile

show profiling information

Main arguments:

-o OUTPUT, –output OUTPUT

Output filename

–save-source

save the path for all source files

Experimental setup options:

-b BEAMLINE, –beamline BEAMLINE

Name of the instument (for the HDF5 NXinstrument)

-p PONI, –poni PONI

geometry description file

-m MASK, –mask MASK

mask to be used for invalid pixels

–dummy DUMMY

value of dynamically masked pixels

–delta-dummy DELTA_DUMMY

precision for dummy value

–radial-range RADIAL_RANGE RADIAL_RANGE

radial range as a 2-tuple of number of pixels, by default all available range

-P POLARIZATION, –polarization POLARIZATION

Polarization factor of the incident beam [-1:1], by default disabled, 0.99 is a good guess

-A, –solidangle

Correct for solid-angle correction (important if the detector is not mounted normally to the incident beam, off by default

Sigma-clipping options:

–bins BINS

Number of radial bins to consider

–unit UNIT

radial unit to perform the calculation

–cycle CYCLE

precision for dummy value

–cutoff-clip CUTOFF_CLIP

Threshold to be used when performing the sigmaclipping

–cutoff-pick CUTOFF_PICK

Threshold to be used when picking the pixels to be saved

–error-model ERROR_MODEL

Statistical model for the signal error, may be `poisson`(default) or `azimuthal` (slower) or even a simple formula like ‘5*I+8’

–noise NOISE

Noise level: quadratically added to the background uncertainty

Opencl setup options:

–workgroup WORKGROUP

Enforce the workgroup size for OpenCL kernel. Impacts only on the execution speed, not on the result.

–device DEVICE DEVICE

definition of the platform and device identifier: 2 integers. Use `clinfo` to get a description of your system

–device-type DEVICE_TYPE

device type like `cpu` or `gpu` or `acc`. Can help to select the proper device.

Current status of the program: Production