Table of Contents
marPredict - Predicts diffraction spots from marIndex parameters (or
marPredict [ -h ] FILE
diffraction spots for one or more oscillation ranges based on parameters
obtained from the indexing program marIndex. marIndex produces a file (<name>.amp)
containing all input parameters and - in addition - the resulting cell axes,
angles, orientation and zone axes refinement parameters. This file can be
taken directly as input. Like in program marIndex, program marPredict will
always also consider the contents of a file called <name>.prm if it resides
in the current directory. This ".prm" file is supposed to contain fixed parameters
valid for all images of a data set, e.g. the wavelength or distance. The entries
found in the ".prm" file may be overwritten by entries found in the option
control input file! The nomenclature for both ".prm" and other input files
is the same.
marPredict produces a binary output file with extension <name>.prd.
The structure of this binary file is described below.
The program can be
run stand-alone but usage within the graphical user interface automar is
- Print usage information.
- Read diffraction
parameters from file FILE, e.g. marPredict.ctrl
system is defined such that X is the horizontal axis and Y the vertical
axis, the origin being the lower left corner when seen in direction of
the beam onto the detector surface.
Detector tilt and rotation are defined
by 3 rotation angles around X, Y, and the detector normal Z (axis not
used otherwise), in the math. +ve sense. Positive tilt_X or tilt_Y bring
the upper or left half of the detector closer to the sample. A positive
rotation (turn_Z) rotates the detector plane counter-clockwise as seen from
To avoid confusion, crystal coordinates x & y are defined parallel
to X & Y, making the z-axis anti-parallel to the beam direction.
are defined by permutation indices l1,l2,l3 with values +|-(1,2,3) where
"1" denotes the a*-axis, "2"=b*, "3"=c*; "+" means parallel and "-" anti-
parallel to a coordinate axis; in this way l1 gives the reciprocal crystal
axis along the x-axis; l2 that one "up" in the x-y-plane. The l3 index (towards
the radiation source) is redundant, but may be forced to yield a left- handed
Orientation angles are given in degrees and are numbered the same
way but are applied from right to left:
- rotates around the z-axis
(counter-clockwise when looking along the beam). Applying this missetting
first allows easy setting of e.g. a crystallographic face diagonal along
the rotation axis by phi_z = 45. + delta_phi_z, where delta_phi3 is the
true missetting angle. The 45 deg. are not altered by any of the other phi_x,phi_y
- rotates around the y-axis, again in the math. +ve sense.
a mere correction of the spindle axis (if it is horizontal) and may thus
be used as an offset for the PHI axis reading.
Example: hexagonal c*-axis
along the (horizontal) PHI-axis, a* up => (3,1,2). phi_x=30 brings the b*-axis
exactly against the beam.
marIndex always produces setting parameters with missetting angles < 45
deg. (except for trigonal alternatives) and assigns permutation indices
accordingly, although an easier permutation of axes may exist - especially
in the case of equivalent axes (e.g. a cubic crystal might always be described
by "axes 1 2 3" but may be assigned "3 1 2").
The accepted keywords
in the parameter file (either ".amp", ".ctrl" or ".prm) are given below. Lines
starting with "!", "#", "*", "----" or "remark" will be ignored. In addition,
a "!" somewhere in a line will make the rest of the line to be ignored.
Keywords are case insensitive.
The program requires the input file in the local directory.
- SPAC*e-group <number> or <name>
- Space group of
Default: SPACE-GROUP 1 (P1)
- LATT*ice <name>
- Bravais lattice or extinction
group: one of "aP", "mP", "mC", "mA", "mB", "mI", "hP", "hR", "oP",
"oC", "oI", "oF", "tP", "tI", "cP", "cI", or "cF". Obsolete when
Default: LATTICE aP
- CELL <a> <b> <c> [<alpha> <beta> <gamma>]
- Unit cell parameters
in Ang, deg.
Default: Angles all 90.0 deg.
- DIST*ance <dist>
- Sample to detector distance
Default: DISTANCE 100.0
- WAVE*length <lambda1> [delta_lambda1/lambda1] [<lambda2>
- Wavelength of radiation in Ang.. May be given as
"Cu", "Mo" or "Ag". With "Mo" or "Ag" the program will consider K-alpha_1
and K-alpha_2 components of the radiation. With "Cu", the program will consider
K-alpha and K-beta components of the radiation. Delta_lambda1/lambda1 is
optional (e.g. 0.003 for Cu-radiation). A second wavelength and its delta_lambda2/lambda2
may optionally be given resulting in the prediction of 2 superimposed patterns.
Default: WAVELENGTH Cu
- MOSA*icity <mosa_x> [<mosa_y>]
- Mosaic spread of crystal
in degrees. When no y-component is given, the mosaicity will be assumed
to be isotropic.
Default: MOSAICITY 0.0
- DIVE*ergence <div_y> [<div_x>]
- Divergence of the beam
in degrees. When no x-component is given, the divergence will be assumed
to be isotropic.
Default: DIVERGENCE 0.0
- CHI <chi>
- CHI angle in degrees.
Default: CHI 0.0
- OMEGA <omega>
- OMEGA angle in degrees.
Default: OMEGA 0.0
- TWOTHETA <twotheta>
- 2-Theta angle in degrees.
Default: TWOTHETA 0.0
- SPOT*-size <x> <y>
- Hor. (x) and vert. (y) size of spots
Default: SPOTSIZE 1.0 1.0
- RESO*lution <max>
- Max. resolution limit in Angst.
Default: RESOLUTION 2.0
- BEAM*center <xcen> <ycen>
- Center of beam in x and y
Default: Half plate diameter.
- PIXE*lsize <pixelsize_x> [<pixelsize_y>]
in x (and y, if differing from x) in mm .
Default: PIXELSIZE 0.150
- IMAG*e <ffrm> <lfrm> START <phi_beg> OSC <dphi>
(<ffrm>) and last (<lfrm>) image for which to generate predictions, the PHI
position at the beginning of image <ffrm> (<phi_beg>) and the delta-PHI (<dphi>)
Example: IMAGE 1 1 START 0.0 OSC 1.0
- IMAG*e <template>
- Image file name template
with the image number embraced by <brackets>.
Example: IMAGE xtal_<000>
- FILE*name <image_file_>
- Specifies the complete image
file name, not just the name root with the image number stripped off.
- SCAN <size_x> [<size_y>]
- No. of pixels in image in
1 dimension. Use one of: 1200, 1600, 1800, 2000, 2300, 3000 or 3450 (all
IP) or 2048 (CCD)
Default: read from image file header
- ORIE*ntation <phi_x> <phi_y> <phi_z>
angles of crystal in marIndex notation.
Default: ORIENTATION 0.0 0.0 0.0
- AXES <l1 l2 l3>
- Direction of the orientation
angles in marIndex notation.
Default: AXES 1 2 3
- TILT <tilt_X> [<tilt_Y>]
- Detector tilt about the horizontal
and vertical axis in degrees.
Default: TILT 0.0 0.0
- ROT <turn_Z>
- Detector rotation with respect to the
projection of the 2-theta axis in degrees.
Default: ROT 0.0
- SKEW <tilt_X> <tilt_Y> <turn_Z>
- Combines keywords TILT and
SKEW (see above).
Default: SKEW 0.0 0.0 0.0
- (BEAM-)STOP <x_beg> <y_beg> <x_end> <y_end> [<width>]
spots within a rectangle defined by <x&y_beg> in the lower left corner to
<x&y_end> in the upper right corner (in pixel units). To exclude areas that
are not running parallel to the horizontal and vertical plane, specify
the <width> of the rectangular section. In that case, the x&y-coordinates given
mark the start and end of a line and 2*<width> would be the thickness of
the line .
Default: STOP 0 0 0 0 0
- EXCLUDE SHADOW <x> <y> <r>
- Reject spots within a circle
of radius <r> pixels centered at pixels <x>,<y>.
SHADE <x1> <y1> <x2> <y2> [<width>]
Reject spots within a rectangle spanned between pixels <x1>,<y1> and <x2>,<y2>.
If an optional width is given, the rectangle is tilted. The given coordinates
then represent the middle of two opposite sides (with length <width>) of
RING <d1> <d2>
Reject spots within a resolution ranges <d1> to <d2>.
Reject spots within ice rings at 3.89 A, 3.67 A, 3.44 A, 2.67 A and 2.25 A.
- Log file <name>.marPredict
The program produces an ASCII log file. The <name> will be taken from the
input file to be used, e.g. if the input file is called marPredict.ctrl, the
<name> will be "marPredict".
- Spot file with predictions: <name>.pred
The program produces a binary spot file <name>.prd.
The format of the binary
spot file is as follows:
- 1.) Header:
- Contains 1024 bytes (characters) and
contains nothing more than the input file (.ctrl or .amp) in ASCII format,
so the contents of this header can be looked up with something like "more".
- 2.) 1. data record with some identifiers
- The record structure is given below.
Since the record elements are 16-bit values, there is some requirement for
byte-swapping when moving files between little-endian (Intel, Alpha) and
big-endian (SGI, HP, Motorola) processors. Therefore, the first 16-bit element
in the 1. data record only contains a fixed no. ("3001") which will let other
programs recognize if this is a "marPredict"-file at all and if it requires
- 3.) 2. data record through end-of-file
- Predicted hkl, x/y-coordinates,
Each data record is 32 byte long, 14 entries with 2-byte values (16-bit),
and 1 entry with a 4-byte value (32-bit):
|Element-type||1. record||Other records|
|signed short||# pixels along x||k|
|signed short||# pixels along
|unsigned short||# of predicted lattices||lattice|
|signed short||Center x * multiplicator||x|
|signed short||Center y * multiplicator||y|
short||Delta-PHI * 100||Lorentz polar.|
|signed short||Start-PHI * 100||PHI|
|unsigned short||Rmin * multiplicator||cos(2-theta)|
short||mosaicity * 100||overlap|
|signed short||pixelsize x (micron)||xoverlap|
short||pixelsize y (micron)||yoverlap|
|unsigned int||total number of spots||spot
The program itself is called in a very simple way:
- The program reads parameters from file marPredict.ctrl in
the local directory.
- marPredict xtal_001
- The program reads parameters from
file xtal_001.amp in the local directory.
Example of file contents of the
|cell||79.310 79.310 38.031 90.000 90.000 90.000|
|axes||3 2 -1|
1 START 0.000 OSC 0.500|
Klaus Bartels, marXperts GmbH, Norderstedt,
© Copyright 1997-2003 marXperts GmbH, Norderstedt, Germany
|marXperts GmbH||Phone: +49 - (40) - 529 884-0 |
|Werkstr. 3|| FAX: +49 - (40)
- 529 884-20|
|D-22844 Norderstedt - GERMANY||info@marXperts.com|
Table of Contents