Skip to content

TKD Pattern Simulations

Marc DeGraef edited this page Jan 25, 2022 · 2 revisions

Last Update: 1/25/2022

TKD Pattern Simulations

Once you have a complete TKD master pattern simulation, the next step is to set up your detector parameters and grain orientations to compute actual patterns. For this wiki page, we will assume that you already know the relevant parameters, and you simply want to compute TKD patterns.

The relevant program is called EMTKD, and you generate the name list file template by typing:

EMTKD -t

Most of the parameters of this program are similar to those used by the EMEBSD program, so we refer the user to the wiki page for that program; the one-line explanations in the template file, reproduced here, should be sufficiently clear.

 &TKDdata
! template file for the EMTKD program
!
! distance between scintillator and illumination point [microns]
 L = 15000.0,
! tilt angle of the camera (positive below horizontal, [degrees])
 thetac = 10.0,
! CCD pixel size on the scintillator surface [microns]
 delta = 50.0,
! number of CCD pixels along x and y
 numsx = 0,
 numsy = 0,
! pattern center coordinates in units of pixels
 xpc = 0.0,
 ypc = 0.0,
! angle between normal of sample and detector
 omega = 0.0,
! transfer lens barrel distortion parameter
 alphaBD = 0.0,
! energy range in the intensity summation [keV]
 energymin = 5.0,
 energymax = 20.0,
! include a realistic intensity background or not ... 
 includebackground = 'y',
! name of angle file (euler angles or quaternions); path relative to EMdatapathname
 anglefile = 'testeuler.txt',
! 'tsl' or 'hkl' Euler angle convention parameter
 eulerconvention = 'tsl',
! does this file have only orientations ('orientations') or does it also have pattern center and deformation tensor ('orpcdef')
! if anglefiletype = 'orpcdef' then each line in the euler input file should look like this: (i.e., 15 floats)
!   55.551210  58.856774  325.551210  0.0  0.0  15000.0  1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00
!   <-   Euler angles  (degrees)  ->  <- pat. ctr.   ->  <- deformation tensor in column-major form->
!
 anglefiletype = 'orientations',
! name of TKD master output file; path relative to EMdatapathname
 masterfile = 'master.h5',
! name of output file; path relative to EMdatapathname
 datafile = 'TKDDout.h5',
! bitdepth '8bit' for [0..255] bytes; 'float' for 32-bit reals; '##int' for 32-bit integers with ##-bit dynamic range
! e.g., '9int' will get you 32-bit integers with intensities scaled to the range [ 0 .. 2^(9)-1 ]; 
! '17int' results in the intensity range [ 0 .. 2^(17)-1 ]
 bitdepth = '8bit',
! incident beam current [nA]
 beamcurrent = 150.0,
! beam dwell time [micro s]
 dwelltime = 100.0,
! include Poisson noise ? (y/n) (noise will be applied *before* binning and intensity scaling)
 poisson = 'n',
! binning mode (1, 2, 4, or 8)
 binning = 1,
! should we perform an approximate computation that includes a lattice distortion? ('y' or 'n')
! This uses a polar decomposition of the deformation tensor Fmatrix which results in
! an approcimation of the pattern for the distorted lattice; the bands will be very close
! to the correct position in each pattern, but the band widths will likely be incorrect.
 applyDeformation = 'n',
! if applyDeformation='y' then enter the 3x3 deformation tensor in column-major form
! the default is the identity tensor, i.e., no deformation
 Ftensor = 1.D0, 0.D0, 0.D0, 0.D0, 1.D0, 0.D0, 0.D0, 0.D0, 1.D0,
! intensity scaling mode 'not' = no scaling, 'lin' = linear, 'gam' = gamma correction
 scalingmode = 'not',
! gamma correction factor
 gammavalue = 1.0,
! should a circular mask be applied to the data? 'y', 'n'
 maskpattern = 'n',
!=======================
! if the 'makedictionary' parameter is 'n', then we have the normal execution of the program
! if set to 'y', then all patterns are pre-processed using the other parameters below, so that
! the resulting dictionary can be used for static indexing in the EMTKDDI program...
! these parameters must be taken identical to the ones in the EMTKDDI.nml input file to have 
! optimal indexing...
 makedictionary = 'n',
! should a circular mask be applied to the data? 'y', 'n'
 maskpattern = 'n',
 ! mask radius (in pixels, AFTER application of the binning operation)
 maskradius = 240,
! hi pass filter w parameter; 0.05 is a reasonable value
 hipassw = 0.05,
! number of regions for adaptive histogram equalization
 nregions = 10,
!=======================
! number of threads (default = 1)
 nthreads = 1,
 /

Information for Users

Home

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
XRD Modalities     - Laue Master Pattern Simulation
    - EMLaue
    - EMLaueSlit
General Parameter Definitions * Foil Defect Configuration Definitions
EMsoftWorkbench
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
IDL Scripts     - Virtual Machine Apps
    - SEMDisplay
    - Efit
    - CBEDDisplay
python wrappers     - python examples

Complete Examples

  1. Crystal Data Entry Example
  2. EBSD Example
  3. ECP Example
  4. TKD Example
  5. ECCI Example
  6. CBED Example
  7. Dictionary Indexing Example
  8. DItutorial

Information for Developers

Clone this wiki locally