Modify EBSD Data

How to correct EBSD data for measurement errors.

On this page ...
Selecting a certain phase
Restricting to a region of interest
Remove Inaccurate Orientation Measurements

First, let us import some example EBSD data. and plot the raw data

mtexdata forsterite

These data consist of two indexed phases, Iron, and Magnesium. The not indexed phase called not Indexed. The phases can be visualized by

close all; plotx2east
plot(ebsd)

Selecting a certain phase

In order to restrict the EBSD data to a certain phase just use the mineral name as an index, i.e.

ebsd('Forsterite')
 
ans = EBSD  
 
 Phase   Orientations     Mineral       Color  Symmetry  Crystal reference frame
     1  152345 (100%)  Forsterite  light blue       mmm                         
 
 Properties: bands, bc, bs, error, mad, x, y
 Scan unit : um
 

contains only the Forsterite measurements. In order to extract a couple of phases, the mineral names have to be grouped in curled parenthesis.

ebsd({'Fo','En'})
 
ans = EBSD  
 
 Phase  Orientations     Mineral        Color  Symmetry  Crystal reference frame
     1  152345 (85%)  Forsterite   light blue       mmm                         
     2   26058 (15%)   Enstatite  light green       mmm                         
 
 Properties: bands, bc, bs, error, mad, x, y
 Scan unit : um
 

As an example, let us plot the Forsterite data.

close all
plot(ebsd('Forsterite'),ebsd('Forsterite').orientations)

The data is colorized according to its orientation. By default color of an orientation is determined by its position in the 001 inverse pole figure which itself is colored as

oM = ipdfHSVOrientationMapping(ebsd('Forsterite'))
plot(oM)
oM = 
  ipdfHSVOrientationMapping with properties:

    inversePoleFigureDirection: [1×1 vector3d]
                           CS1: [4×2 crystalSymmetry]
                           CS2: [1×1 specimenSymmetry]
                     antipodal: 0
             colorPostRotation: [1×1 rotation]
               colorStretching: 1
                   whiteCenter: [1×1 vector3d]
                     grayValue: [0.2000 0.5000]
                  grayGradient: 0.5000
                      maxAngle: Inf
                            sR: [1×1 sphericalRegion]
                          refl: []
                           rot: [1×1 rotation]
                         alpha: 0

Restricting to a region of interest

If one is not interested in the whole data set but only in those measurements inside a certain polygon, the restriction can be constructed as follows:

First define a region by [xmin ymin xmax-xmin ymax-ymin]

region = [5 2 10 5]*10^3;

plot the ebsd data together with the region of interest

close all
plot(ebsd)
rectangle('position',region,'edgecolor','r','linewidth',2)

The command inpolygon checks for each EBSD data point whether it is inside a polygon or not, i.e.

condition = inpolygon(ebsd,region);

results in a large vector of TRUE and FALSE stating which data points are inside the region. Restricting the EBSD data by this condition is done via

ebsd = ebsd(condition)
 
ebsd = EBSD  
 
 Phase  Orientations     Mineral        Color  Symmetry  Crystal reference frame
     0    4052 (20%)  notIndexed                                                
     1   14093 (69%)  Forsterite   light blue       mmm                         
     2   1397 (6.9%)   Enstatite  light green       mmm                         
     3    759 (3.7%)    Diopside    light red     12/m1        X||a*, Y||b, Z||c
 
 Properties: bands, bc, bs, error, mad, x, y
 Scan unit : um
 

plot

close all
plot(ebsd)

Note, that you can also select a polygon by mouse using the command

poly = selectPolygon

Remove Inaccurate Orientation Measurements

By MAD (mean angular deviation) in the case of Oxford Channel programs, or by CI (Confidence Index) in the case of OIM-TSL programs

Most EBSD measurements contain quantities indicating inaccurate measurements.

close all
plot(ebsd,ebsd.mad)
mtexColorbar

or

close all
plot(ebsd,ebsd.bc)
mtexColorbar

Here we will use the MAD to identify and eliminate inaccurate measurements.

% plot a histogram
close all
hist(ebsd.mad)
% take only those measurements with MAD smaller then one
ebsd_corrected = ebsd(ebsd.mad<0.8)
 
ebsd_corrected = EBSD  
 
 Phase  Orientations     Mineral        Color  Symmetry  Crystal reference frame
     0    4052 (21%)  notIndexed                                                
     1   13359 (69%)  Forsterite   light blue       mmm                         
     2   1333 (6.9%)   Enstatite  light green       mmm                         
     3    676 (3.5%)    Diopside    light red     12/m1        X||a*, Y||b, Z||c
 
 Properties: bands, bc, bs, error, mad, x, y
 Scan unit : um
 
close all
plot(ebsd_corrected)