simulateEBSD edit page

Class guiding through the simple simulation of an EBSD object

Description

It allows to simulate a single/multigradient EBSD map with a free choice of the starting orientation, size, misorientation axis, direction of misorientaiton increase, type and range of noise Multiple gradients can be superposed and you can use an existing map and add noise or deform it.

TODO: - add the singleJump, multiKnob, polyGrain - make noise distribution more flexible - allow to start from a different pos - fix first column of pixels

Syntax

% initialize the object
ebsdSIM = simulateEBSD
% set the dimension (optional)
ebsdSIM.xdim = 50
ebsdSIM.ydim = 50
% change the initial orientation (optional)
ebsdSIM.ori0 = orientation.byEuler([0, pi, 30]*degree,ebsdSIM.CS)
% make a planar map
ebsdSIM.makeMap
plot(ebsdSIM.EBSDsim)
% 1) create a simple gradient
% 1a) set the misorientation axis
ebsdSIM.axS = vector3d(1,1,0)
% 1b) set the direction towards which the misorientation increases
ebsdSIM.gradDir = vector3d(1,0,0);
% 1c) create the gradient
ebsdSIM.addFeature_simpleGradient
% 2) add noise
% 2a) specify noise type: 'uniform' or 'logn'
ebsdSIM.noiseFun = 'logn'
% 2b) specify maximum noise
ebsdSIM.noiseMax = 0.1*degree;
% 2c) create noise
ebsdSIM.addnoise
% 3) add a circular "subgrain"
% 3a) set the misorientation axis
ebsdSIM.axS = vector3d(1,1,1)
% 3b) add "subgrain"
ebsdSIM.addFeature_circularSubgrain
% inspect the result
ebsd = ebsdSIM.EBSDsim;
plot(ebsd,angle(ebsd.orientations,ebsd.orientations(1))/degree)
nextAxis
ebsd = ebsd.gridify
plot(ebsd,ebsd.gradientX.norm)
nextAxis
plot(ebsd,ebsd.gradientY.norm)
nextAxis
sax = axis(ebsd(1).orientations,ebsd.orientations)
ck= HSVDirectionKey(specimenSymmetry('1'))
plot(ebsd,ck.direction2color(sax))
nextAxis
plot(ck)