Example for 2d EBSD Data analysis
data by Daniel Rutte with Bret Hacker, Stanford.
The following script mainly generate the figures shown in "Grain detection from 2d and 3d EBSD data - Specification of the MTEX algorithm" - section "Practical application to a 2d EBSD data set". The only imposed restriction is the size of the data set, which was scaled down.
Data import
plotting convention
mtexdata mylonite
plotx2east
Phase map
Phase map of multi-phase rock specimen with Andesina (blue), Quartz (red), Biotite (green) and Orthoclase (yellow)
plot(ebsd)

Restrict to the region of interest (RoI)
the box is given by [xmin ymin xmax-xmin ymax-ymin] and indicates a region of interest (RoI).
region = [19000 1500 4000 1500]; rectangle('position',region,'edgecolor','r','linewidth',2)

to which we restrict the data
ebsd_region = ebsd(inpolygon(ebsd,region))
ebsd_region = EBSD Phase Orientations Mineral Color Symmetry Crystal reference frame 1 578 (20%) Andesina light blue -1 X||a*, Z||c 2 1144 (40%) Quartz light green -3m1 X||a*, Y||b, Z||c* 3 58 (2%) Biotite light red 12/m1 X||a*, Y||b*, Z||c 4 1066 (37%) Orthoclase cyan 12/m1 X||a*, Y||b*, Z||c Properties: x, y Scan unit : um
Recover grains
Next we reconstruct the grains (and grain boundareis in the region of interest
grains = calcGrains(ebsd_region,'angle',15*degree)
grains = grain2d Phase Grains Mineral Symmetry Crystal reference frame Phase 1 371 Andesina -1 X||a*, Z||c 2 189 Quartz -3m1 X||a*, Y||b, Z||c* 3 55 Biotite 12/m1 X||a*, Y||b*, Z||c 4 380 Orthoclase 12/m1 X||a*, Y||b*, Z||c Properties: GOS, meanRotation
Plot grain boundaries and phase
(RoI) Detailed phase map with measurement locations and reconstructed grain boundaries.
hold on plot(ebsd_region) hold on plot(grains.boundary,'color','k') hold off % set(gcf,'renderer','zbuffer')

(RoI) Individual orientation measurements of quartz together with the grain boundaries.
plot(grains({'Andesina','Biotite','Orthoclase'}),'FaceAlpha',0.2) hold on plot(grains.boundary,'color','black'); hold on plot(ebsd_region('Quartz')) legend off hold off

colored according to the false color map of its inverse polefigure
close all oM = ipdfHSVOrientationMapping(ebsd_region('Quartz')); plot(oM,'Position',[825 100 300 300])
Hint: You might want to use the point group "321" for colorcoding!

(RoI) The reconstructed grains. The quartz grains are colored according to their mean orientation while the remaining grains are colored according to there phase.
plot(grains({'Andesina','Biotite','Orthoclase'}),'FaceAlpha',0.2) hold on plot(grains('Quartz')) legend off

Highlight specific boundaries
(RoI) Phase map with grain boundaries highlighted, where adjacent grains have a misorientation with rotational axis close to the c-axis. TODO
close all AOboundary = grains.boundary('Andesina','Orthoclase'); angle = AOboundary.misorientation.angle; hist(angle./degree)

plot(grains,'FaceAlpha',0.4) hold on plot(AOboundary(angle>160*degree),'linewidth',2,'linecolor','red') hold off

MTEX 4.0.10 |