Eiger2Crysalis

Purpose:

Convert a stack of images acquires with an Eiger detector (HDF5, format eiger or lima) into a CrysalisPro project

CrysalisPro is a single-crystal data reduction program developped by Mathias Meyer and gracefully made available free of charge by Rigaku.

The Crysalis project directory is populated with:

  • a set of Esperanto files, corresponding to the different frames of the HDF5 file

  • a set-file, ascii format, with the description of the detector (mostly unused)

  • a ccd-file, binary format, with the description of the mask of the detector

  • a par-file, ascii format, with the description of the sample, goniometer, source, …

  • a run-file, binary format, with the description of the scans (sometimes called sweep in MX)

The directory can directly be opened with CrysalisPro.

Usage:

eiger2crysalis [-h] [-V] [-v] [–debug] [-l] [-o OUTPUT] [-O OFFSET] [-D DUMMY] [–dry-run] [–calc-mask] [-e ENERGY] [-w WAVELENGTH] [-d DISTANCE] [-b BEAM BEAM] [-p POLARIZATION] [–alpha ALPHA] [–kappa KAPPA] [–phi PHI] [–omega OMEGA] [–theta THETA] [–rotation ROTATION] [–transpose] [–flip-ud] [–flip-lr] [IMAGE …]

Positional arguments:

IMAGE

File with input images

Options:

-h, –help

show this help message and exit

-V, –version

output version and exit

-v, –verbose

show information for each conversions

–debug

show debug information

-l, –list

show the list of available formats and exit

Main arguments:

-o OUTPUT, –output OUTPUT

output directory and filename template, for example {basename}/crysalis/scan_1_{index}.esperanto

-O OFFSET, –offset OFFSET

index offset, CrysalisPro likes indexes to start at 1, Python starts at 0. The default is 1

-D DUMMY, –dummy DUMMY

Set masked values to this dummy value

Optional behaviour arguments:

–dry-run

do everything except modifying the file system

–calc-mask

Generate a fine mask from pixels marked as invalid. By default, only treats gaps (faster)

Experimental setup options:

-e ENERGY, –energy ENERGY

Energy of the incident beam in keV

-w WAVELENGTH, –wavelength WAVELENGTH

Wavelength of the incident beam in Angstrom

-d DISTANCE, –distance DISTANCE

Detector distance in millimeters

-b BEAM BEAM, –beam BEAM BEAM

Direct beam in pixels x, y

-p POLARIZATION, –polarization POLARIZATION

Polarization factor (0.99 by default on synchrotron)

Goniometer setup:

–alpha ALPHA

Goniometer angle alpha value in deg. Constant, angle between kappa and omega.

–kappa KAPPA

Goniometer angle kappa value in degrees or formula f(index) -80 + 2*index

–phi PHI

Goniometer angle phi value (inner-most rotation) in degrees or formula f(index) -180+0.7*index

–omega OMEGA

Goniometer angle omega value (outer-most rotation) in degrees or formula f(index) -180+0.5*index

–theta THETA

Goniometer angle theta value (angle of the detector arm) in degrees or formula f(index). -50+5*index

Nota: only one angle can vary during a given scan.

Image preprocessing:

Images are patched onto the center of a square frame, and transformation are applied in this order:

–rotation ROTATION

Rotate the initial image by this value in degrees. Must be a multiple of 90??. By default 180 deg (flip_up with origin=lower and flip_lr because the image is seen from the sample).

–transpose

Flip the x/y axis

–flip-ud

Flip the image upside-down

–flip-lr

Flip the image left-right

Return code:

  • 0 means a success.

  • 1 means the conversion contains a failure,

  • 2 means there was an error in the arguments

Nota:

Images are made square, so the beam center found in the eperanto image differs from the one entered.