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)
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
ipfKey = ipfColorKey(ebsd('Forsterite'))
plot(ipfKey)
ipfKey = ipfColorKey with properties: inversePoleFigureDirection: [1×1 vector3d] dirMap: [1×1 HSVDirectionKey] CS1: [4×2 crystalSymmetry] CS2: [1×1 specimenSymmetry] antipodal: 0
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
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)
DocHelp 0.1 beta |