-
Notifications
You must be signed in to change notification settings - Fork 12
EMLaueSlit
The EMLaueSlit program can be used to compute individual transmission Laue patterns as well as their back-projections for a given detector geometry and an arbitrary crystal structure. The incident beam in this case arises from a divergent x-ray source and passes through a rectangular slit of arbitrary dimensions. The x-ray photons travel through a sample with finite thickness and are projected onto a planar detector normal to the incident beam direction. The complete algorithm is described in the following paper:
"A laboratory transmission diffraction Laue setup to evaluate single crystal quality",
A. Arnaud, W. Guediche, C. Remacha, E. Romero, and H. Proudhon, submitted to J. Appl.
Crystal. (2020)
Using the standard command line approach, the template file can be obtained; this file contains the following parameters:
&LaueSlitData
! The values below are the default values for this program
!
Lw = 2.D0, ! slit width (mm)
Lh = 2.D0, ! slit height (mm)
Lx = 100.D0, ! distance front face of slit to divergent x-ray source (mm)
Ly = 0.D0, ! slit center y position (mm)
Lz = 0.D0, ! slit center z position (mm)
VoltageH = 60.D0, ! highest tube voltage
VoltageL = 40.D0, ! lowest tube voltage
Sx = 120.D0, ! distance from source to samplefront (mm)
sampletodetector = 120.D0, ! distance sample front to detector face (mm)
samplethickness = 2.D0, ! sample thickness (mm)
ps = 0.254D0,! pixel width (mm)
Ny = 960, ! number of pixels horizontally
Nz = 780, ! number of pixels vertically
Dy = 0.D0, ! pattern center y coordinate
Dz = 0.D0, ! pattern center z coordinate
vs = 0.10D0, ! size of the voxels that make up the sample (mm)
absl = 0.5D0, ! absorption length (mm)
beamstopatf = 0.1D0, ! beam stop attenuation factor
nthreads = 1, ! number of parallel threads for pattern computation
BPx = 300, ! semi-edge length for back projection square Lambert maps
spotw = 0.1, ! spot size weight factor (1/(2*sigma^2))
gammavalue = 1.0, ! scaling factor for gamma intensity scaling
backprojection = 'No', ! 'Yes' or 'No'; adds backprojections to output file
intcutoffratio = 1.0D-4 ! intensity ratio cutoff (transmitted beam has intensity 1)
orientationfile = 'undefined', ! input file with orientation list
tiffprefix = 'undefined', ! prefix for tiff output files with individual patterns
xtalname = 'undefined', ! structure file name
hdfname = 'undefined', ! HDF output file name
binarize = .FALSE., ! set to .TRUE. to get a binary output pattern (and backprojection)
/
The incident x-ray beam travels along the positive x-direction, the z-direction points up, and x-y-z forms a right-handed cartesian reference frame. The slit, sample and detector are all normal to the x-direction. The pattern center coordinates can be used to shift the Laue pattern on the detector for the case where the detector center does not lie on the optical axis. The absorption length and beam stop attenuation factor can be used to account for (Beer's Law) absorption in the sample and to suppress the incoming beam signal. For a back projection parameter value of 'Yes', the program will compute back-projections for all patterns; those have been rotated by 90° around the y-direction to facilitate spherical indexing of the patterns.
The orientation file can be generated manually or using the EMsampleRFZ program and has a simple structure shown here:
eu
100
0.0 0.0 0.0
30.0 40.0 50.0
... (98 more Euler triplets)
The program output ends up in an HDF5 file; optionally, each pattern will be written (with inverted contrast) to an individual .tiff file. The final option, binarize, can be used to convert all the patterns to a binary intensity scale. The size of the Laue spots can be controlled with the spotw parameter; the larger this parameter, the smaller the spots. The binary mode can be useful for testing of the spherical Laue indexing program.
For a hypothetical "triclinic Nickel" structure with lattice parameters {0.3, 0.4, 0.5, 60°, 70°, 80°} and a single Ni atom in the origin, we can compute Laue patterns using the following name list entries:
Lw = 0.5D0, ! slit width (mm)
Lh = 2.0D0, ! slit height (mm)
Lx = 80.D0, ! distance front face of slit to divergent x-ray source (mm)
Ly = 0.D0, ! slit center y position (mm)
Lz = 0.D0, ! slit center z position (mm)
VoltageH = 120.D0, ! highest tube voltage
VoltageL = 10.D0, ! lowest tube voltage
Sx = 100.D0, ! distance from source to samplefront (mm)
sampletodetector = 100.D0, ! 120.D0, ! distance sample front to detector face (mm)
samplethickness = 0.5D0, ! sample thickness (mm)
ps = 0.127D0,! pixel width (mm)
Ny = 1024, ! number of pixels horizontally
Nz = 1024, ! number of pixels vertically
Dy = 0.D0, ! pattern center y coordinate
Dz = 0.D0, ! pattern center z coordinate
vs = 0.10D0, ! size of the voxels that make up the sample (mm)
absl = 0.5D0, ! absorption length (mm)
beamstopatf = 0.1D0, ! in mm, assumed to be centered on source-to-detector normal line
nthreads = 12, ! number of parallel threads for pattern computation
BPx = 300, ! semi-edge length for back projection square Lambert maps
spotw = 2.0, ! spot size weight factor (1/(2*sigma^2))
gammavalue = 1.0, ! scaling factor for gamma intensity scaling
intcutoffratio = 1.0D-3,
backprojection = 'Yes', !
orientationfile = 'SOMEPATH/euler.txt', ! input file with orientation list
tiffprefix = 'SOMEPATH/test-tri', ! prefix for tiff output files with individual patterns
xtalname = 'triclinic-Ni.xtal', ! structure file name
hdfname = 'SOMEPATH/Laue-TriclinicNi.h5', ! HDF output file name
binarize = .FALSE.,
and an euler.txt file with the following entries:
eu
3
0.0 0.0 0.0
30.0 0.0 0.0
0.0 30.0 0.0
we obtain the following Laue patterns
Wiki pages are maintained by M. De Graef; they are part of the EMsoftOO package and fall under the same copyright (BSD2).
Information for Users
SEM Modalities
- Monte Carlo Simulations- EBSD Master Pattern Simulations
- EBSD Depth Master Pattern Simulations
- TKD Master Pattern Simulations
- ECP Master Pattern Simulations
- Overlap Master Patterns
- EBSD Pattern Simulations
- ECP Pattern Simulations
- TKD Pattern Simulations
- Dictionary Indexing
- EBSD Spherical Indexing
- EBSD Reflector Ranking
- Ion-induced Secondary Electron Master Pattern
- ECCI Defect Image Simulations
- 4DEBSD
TEM Modalities
- HH4- PED
- CBED Pattern Simulations
- STEM-DCI Image Simulations
- EMIntegrateSTEM utility
Utility Programs
- EMConvertOrientations- EMDisorientations
- EMHOLZ
- EMKikuchiMap
- EMOpenCLinfo
- EMZAgeom
- EMcuboMK
- EMdpextract
- EMdpmerge
- EMdrawcell
- EMeqvPS
- EMeqvrot
- EMfamily
- EMGBO
- EMGBOdm
- EMgetEulers
- EMgetOSM
- EMlatgeom
- EMlistSG
- EMlistTC
- EMmkxtal
- EMorbit
- EMorav
- EMorient
- EMqg
- EMsampleRFZ
- EMshowxtal
- EMsoftSlackTest
- EMsoftinit
- EMstar
- EMstereo
- EMxtalExtract
- EMxtalinfo
- EMzap
Complete Examples
- Crystal Data Entry Example
- EBSD Example
- ECP Example
- TKD Example
- ECCI Example
- CBED Example
- Dictionary Indexing Example
- DItutorial
Information for Developers