Electron Backscatter Diffraction Data (The Class EBSD)

This section describes the class EBSD and gives an overview over the functionality that MTEX offers to analyze EBSD data.

On this page ...
Class Description
Import of EBSD Data
Plotting EBSD Data
Modify EBSD Data
Calculate an ODF from EBSD Data
Simulate EBSD Data
Demo
Complete Function list

Class Description

The following mindmap might give a basic idea about EBSD data analyis in MTEX, with the ability of grain modelling for spatial data. It offers various way of interpreting individual orientation measurements, i.e. in terms of quantifying macro-,micro- and mesotexture.

Import of EBSD Data

The most comfortable way to import EBSD data into MTEX is to use the import wizard, which can be started by the command

import_wizard('ebsd')

If the dataset is in a format supported by MTEX, the import wizard generates a script which imports the data. More information about the import wizard and a list of supported file formats can be found ImportEBSDData.html,here. A typical script generated by the import wizard looks a follows.

cs = crystalSymmetry('m-3m','mineral','Fe');      % crystal symmetry

% file names
fname = fullfile(mtexDataPath,'EBSD','85_829grad_07_09_06.txt');

% load data
ebsd = loadEBSD(fname,'CS',cs,...
                'interface','generic','Bunge','ignorePhase',[0 2],...
                 'ColumnNames', { 'Phase' 'x' 'y' 'Euler 1' 'Euler 2' 'Euler 3'},...
                 'Columns', [2 3 4 5 6 7])
 
ebsd = EBSD  
 
 Phase  Orientations  Mineral       Color  Symmetry  Crystal reference frame
     1  48184 (100%)       Fe  light blue      m-3m                         
 
 Properties: x, y
 Scan unit : um
 

Plotting EBSD Data

EBSD data are plotted using the command EBSD.plot.html,plot. It assigns a color to each orientation and plots a map of these colors. There are several options to specify the way the colors are assigned.

oM = ipdfHSVOrientationMapping(ebsd);
plot(ebsd,oM.orientation2color(ebsd.orientations))

In order to understand the color coding, one can plot the coloring of the corresponding inverse pole figure via

plot(oM)
hold on
plotIPDF(ebsd('Fe').orientations,xvector,'markerSize',3,'points',500,'marker','o','markerfacecolor','none','markeredgecolor','k')
hold off
  I'm plotting 500 random orientations out of 48184 given orientations

Modify EBSD Data

MTEX offers a lot of operations to analyze and manipulate EBSD data, e.g.

An exhaustive introduction how to analyze and modify EBSD data can be found here

Calculate an ODF from EBSD Data

The command calcODF performs an ODF calculation from EBSD data using kernel density estimation EBSD data. For a precise explanation of the algorithm and the available options please look at here.

odf = calcODF(ebsd('Fe').orientations,'halfwidth',10*degree)
plotPDF(odf,Miller(1,0,0,odf.CS),'antipodal')
 
odf = ODF  
  crystal symmetry : Fe (m-3m)
  specimen symmetry: 1
 
  Harmonic portion:
    degree: 28
    weight: 1
 

Simulate EBSD Data

Simulating EBSD data from a given ODF is useful to analyze the stability of the ODF estimation process. There is an example demonstrating how to determine the number of individual orientation measurements to estimate the ODF up to a given error. The MTEX command to simulate EBSD data is calcEBSD, e.g.

ori = calcOrientations(unimodalODF(orientation(idquaternion,cs)),500)
plotPDF(ori,Miller(1,0,0,cs),'antipodal','MarkerSize',3)
 
ori = orientation  
  size: 500 x 1
  crystal symmetry : Fe (m-3m)
  specimen symmetry: 1
 
  I'm plotting 208 random orientations out of 500 given orientations
  You can specify the the number points by the option "points".
  The option "all" ensures that all data are plotted

Demo

For a more exhaustive description of the EBSD class have a look at the EBSD demo!

Complete Function list

EBSDconstructor
KAMintragranular average misorientation angle per orientation
affinetransperform an affine transformation on spatial ebsd data
calcGrains2d and 3d construction of GrainSets from spatially indexed EBSD data
calcMisorientationcalculate uncorrelated misorientations between two ebsd phases
calcTensorcompute the average tensor for an EBSD data set
catoverloads [ebsd1,ebsd2,ebsd3..]
charebsd > char
displaystandard output
exportEBSD data to a ascii file
export_h5export EBSD data to a ascii file
extendreturns the boundings of spatial EBSD data
fillextrapolate spatial EBSD data by nearest neighbour for tetragonal lattice
fillByGrainIdextrapolate spatial EBSD data by nearest neighbour for tetragonal lattice
findByLocationselect EBSD data by spatial coordinates
findByOrientationselect grains by orientation
fliplrflip spatial ebsddata from left to right
flipudflip spatial ebsddata from upside down
gridifyextend EBSD data to an grid
id2indfind ind such that ebsd.id(ind) == id
inpolygonchecks which ebsd data are within given polygon
mtimesrotating the ebsd data by a certain rotation
plotspatial EBSD plot
quiverplot directions at ebsd centers
reduceebsd data by a factor
rotateEBSD orientations or spatial data around point of origin
shiftspatial ebsddata about (x,y)
smoothspatial EBSD
spatialProfileselect EBSD data along line segments
subSetindexing of EBSD data
subsasgnoverloads subsasgn
subsindsubindexing of EBSD data
subsrefindexing of EBSD data
updateUnitCellthis function should be called after the spatial coordinates of an EBSD