Orientation Density Functions
This example demonstrates the most important MTEX tools for analysing Pole Figure Data.
Import Pole Figures
% specify crystal and specimen symmetry CS = crystalSymmetry('-3m',[1.4 1.4 1.5]); SS = specimenSymmetry; % specify file names fname = {... fullfile(mtexDataPath,'PoleFigure','dubna','Q(10-10)_amp.cnv'),... fullfile(mtexDataPath,'PoleFigure','dubna','Q(10-11)(01-11)_amp.cnv'),... fullfile(mtexDataPath,'PoleFigure','dubna','Q(11-22)_amp.cnv')}; % specify crystal directions h = {Miller(1,0,-1,0,CS),... [Miller(0,1,-1,1,CS),Miller(1,0,-1,1,CS)],... % superposed pole figures Miller(1,1,-2,2,CS)}; % specify structure coefficients c = {1,[0.52 ,1.23],1}; % import data pf = loadPoleFigure(fname,h,CS,SS,'interface','dubna','superposition',c); plot(pf) colorbar

Extract information from imported pole figure data
get raw data Data stored in a PoleFigure variable can be extracted by
I = pf.intensities; % intensities h = pf.h; % Miller indice r = pf.r; % specimen directions
basic statistics There are also some basic statics on pole figure intensities
min(pf) max(pf) isOutlier(pf);
ans = 0 0 0 ans = 1.0e+03 * 0.0898 1.3600 0.9620
Manipulate pole figure data
pf_modified = pf(pf.r.theta < 70*degree | pf.r.theta > 75*degree) plot(pf_modified)
pf_modified = PoleFigure crystal symmetry : -3m1, X||a*, Y||b, Z||c* specimen symmetry: 1 h = (10-10), r = 1 x 1224 points h = (01-11)(10-11), r = 1 x 1224 points h = (11-22), r = 1 x 1224 points

rot = rotation('axis', xvector-yvector,'angle',25*degree); pf_modified = rotate(pf,rot) plot(pf_modified)
pf_modified = PoleFigure crystal symmetry : -3m1, X||a*, Y||b, Z||c* specimen symmetry: 1 h = (10-10), r = 1 x 1368 points h = (01-11)(10-11), r = 1 x 1368 points h = (11-22), r = 1 x 1368 points

PDF - to - ODF Reconstruction
rec = calcODF(pf,'RESOLUTION',10*degree,'iter_max',6) plotPDF(rec,h) colorbar
------ MTEX -- PDF to ODF inversion ------------------ Call c-routine initialize solver start iteration error: 6.6155E-01 5.2029E-01 3.9595E-01 2.8868E-01 2.1151E-01 1.7338E-01 1.5607E-01 Finished PDF-ODF inversion. error: 1.5607E-01 alpha: 6.6688E+00 1.0097E+02 1.4249E+02 required time: 2s rec = ODF crystal symmetry : -3m1, X||a*, Y||b, Z||c* specimen symmetry: 1 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: 2472 orientations, resolution: 10° weight: 1

odf = SantaFe % define specimen directions r = regularS2Grid('antipodal')
odf = ODF crystal symmetry : m-3m specimen symmetry: 222 Uniform portion: weight: 0.73 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: (297°,48°,27°) weight: 0.27 r = S2Grid size: 72 x 19
define crystal directions
h = [Miller(1,0,0,odf.CS),Miller(1,1,0,odf.CS),Miller(1,1,1,odf.CS)];
simulate pole figure data
pf_SantaFe = calcPoleFigure(SantaFe,h,r);
estimate an ODF with ghost correction
rec = calcODF(pf_SantaFe,'RESOLUTION',10*degree,'background',10) plotODF(rec,'sections',6)
------ MTEX -- PDF to ODF inversion ------------------ Call c-routine initialize solver start iteration error: 9.8789E-02 2.7350E-02 1.4176E-02 9.4013E-03 7.3430E-03 6.0908E-03 5.2475E-03 4.5777E-03 4.0852E-03 3.6433E-03 3.2821E-03 Finished PDF-ODF inversion. error: 3.2821E-03 alpha: 9.9961E-01 9.8656E-01 9.8240E-01 required time: 2s ghost correction calculate with fixed background 0.73 initialize solver start iteration error: 5.5514E-01 3.3257E-01 2.4930E-01 1.9926E-01 1.6269E-01 1.3427E-01 1.0958E-01 8.7100E-02 6.8905E-02 5.4489E-02 4.3359E-02 3.4967E-02 Finished PDF-ODF inversion. error: 3.4967E-02 alpha: 9.8547E-01 1.0099E+00 1.0282E+00 rec = ODF crystal symmetry : m-3m specimen symmetry: 222 Uniform portion: weight: 0.73029 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: 150 orientations, resolution: 10° weight: 0.26971 Plotting ODF as phi2 sections, range: 0° - 75°

without ghost correction
rec_ng = calcODF(pf_SantaFe,'RESOLUTION',10*degree,'background',10,'NoGhostCorrection') plotODF(rec_ng,'sections',6)
------ MTEX -- PDF to ODF inversion ------------------ Call c-routine initialize solver start iteration error: 9.8789E-02 2.7350E-02 1.4176E-02 9.4013E-03 7.3430E-03 6.0908E-03 5.2475E-03 4.5777E-03 4.0852E-03 3.6433E-03 3.2821E-03 Finished PDF-ODF inversion. error: 3.2821E-03 alpha: 9.9961E-01 9.8656E-01 9.8240E-01 required time: 1s rec_ng = ODF crystal symmetry : m-3m specimen symmetry: 222 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 10° center: 150 orientations, resolution: 10° weight: 1 Plotting ODF as phi2 sections, range: 0° - 75°

Error Analysis
calcError(pf_SantaFe,rec) calcError(pf_SantaFe,rec_ng)
ans = 0.0266 0.0362 0.0340 ans = 0.0306 0.0421 0.0353
Difference plot
plotDiff(pf_SantaFe,rec)

ODF error
calcError(SantaFe,rec) calcError(SantaFe,rec_ng)
ans = 0.0441 ans = 0.0911
Exercises
3)
a) Load the pole figure data of a quartz specimen from: data/dubna!
b) Inspect the raw data. Are there noticeable problems?
c) Compute an ODF from the pole figure data.
d) Plot some pole figures of that ODF and compare them to the measured pole figures.
e) Compute the RP errors for each pole figure.
f) Plot the difference between the raw data and the calculated pole figures. What do you observe?
g) Remove the erroneous values from the pole figure data and repeat the ODF calculation. How do the RP error change?
h) Vary the number of pole figures used for the ODF calculation. What is the minimum set of pole figures needed to obtain a meaningful ODF?
MTEX 4.0.10 |