Let us first begin with some constructed ODFs to be analyzed below
A bimodal ODF:
cs = crystalSymmetry('mmm');
odf1 = unimodalODF(orientation.byEuler(0,0,0,cs)) + ...
unimodalODF(orientation.byEuler(30*degree,0,0,cs))
odf1 = ODF (mmm → xyz)
Radially symmetric portion:
kernel: de la Vallee Poussin, halfwidth 10°
center: (0°,0°,0°)
weight: 1
Radially symmetric portion:
kernel: de la Vallee Poussin, halfwidth 10°
center: (30°,0°,0°)
weight: 1
A fibre ODF:
odf2 = fibreODF(Miller(0,0,1,cs),xvector)
odf2 = ODF (mmm → xyz)
Fibre symmetric portion:
kernel: de la Vallee Poussin, halfwidth 10°
fibre: (001) - 1,0,0
weight: 1
An ODF estimated from diffraction data
mtexdata dubna
odf3 = calcODF(pf,'resolution',5*degree,'zero_Range')
pf = PoleFigure
crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
specimen symmetry: 1
h = (02-21), r = 72 x 19 points
h = (10-10), r = 72 x 19 points
h = (10-11)(01-11), r = 72 x 19 points
h = (10-12), r = 72 x 19 points
h = (11-20), r = 72 x 19 points
h = (11-21), r = 72 x 19 points
h = (11-22), r = 72 x 19 points
odf3 = ODF (Quartz → xyz)
Radially symmetric portion:
kernel: de la Vallee Poussin, halfwidth 5°
center: 19836 orientations, resolution: 5°
weight: 1
Modal Orientations
The modal orientation of an ODF is the crystallographic prefered orientation ori_pref
of the texture. It is characterized as the maximum of the ODF. In MTEX it is returned as the second output argument of the command max
[~,ori_pref] = max(odf3)
ori_pref = orientation (Quartz → xyz)
Bunge Euler angles in degree
phi1 Phi phi2 Inv.
132.867 34.7888 207.108 0
Lets mark this prefered orientation in the pole figures
plotPDF(odf3,pf.allH,'antipodal','superposition',pf.c);
annotate(ori_pref,'marker','s','MarkerFaceColor','black')

Texture Characteristics
Texture characteristics are used for a rough classification of ODF into sharp and weak ones. The two most common texture characteristics are the entropy and the texture index.
Compute the texture index:
textureindex(odf1)
ans =
288.6802
Compute the entropy:
entropy(odf2)
ans =
-2.8402
Volume Portions
Volume portions describes the relative volume of crystals having a certain orientation. The relative volume of crystals having a orientation close to a given orientation is computed by the command volume and the relative volume of crystals having a orientation close to a given fibre is computed by the command fibreVolume
The relative volume in percent of crystals with missorientation maximum 30 degree from the preferred orientation ori_pref
:
volume(odf3, ori_pref, 30*degree) * 100
ans =
35.6781
The relative volume of crystals with missorientation maximum 20 degree from the prefered fibre in percent: TODO
%fibreVolume(odf2,Miller(0,0,1),xvector,20*degree) * 100
Extract Internal Representation
The internal representation of the ODF can be addressed by the command
properties(odf3.components{1})
Properties for class unimodalComponent:
center
psi
weights
CS
SS
antipodal
bandwidth
The properties in this list can be accessed by
odf3.components{1}.center
odf3.components{1}.psi
ans = SO3Grid (Quartz → xyz)
grid: 19836 orientations, resolution: 5°
ans = deLaValleePoussinKernel
bandwidth: 48
halfwidth: 5°