The SantaFe example
Simulate a set of pole figures for the SantaFe standard ODF, estimate an ODF and compare it to the inital SantaFe ODF.
Simulate pole figures
CS = crystalSymmetry('m-3m'); % crystal directions h = [Miller(1,0,0,CS),Miller(1,1,0,CS),Miller(1,1,1,CS),Miller(2,1,1,CS)]; % specimen directions r = equispacedS2Grid('resolution',5*degree,'antipodal'); % pole figures pf = calcPoleFigure(SantaFe,h,r); % add some noise pf = noisepf(pf,100); % plot them plot(pf,'MarkerSize',5) mtexColorMap LaboTeX

ODF Estimation with Ghost Correction
rec = calcODF(pf)
------ MTEX -- PDF to ODF inversion ------------------ Call c-routine initialize solver start iteration error: 7.2280E-02 1.9648E-02 9.9494E-03 9.2101E-03 8.9175E-03 8.7597E-03 8.6701E-03 8.6138E-03 8.5728E-03 8.5416E-03 8.5161E-03 Finished PDF-ODF inversion. error: 8.5161E-03 alpha: 9.9804E+01 9.9821E+01 1.0048E+02 1.0030E+02 required time: 11s ghost correction calculate with fixed background 0.59 initialize solver start iteration error: 3.1343E-01 1.2569E-01 5.5515E-02 4.1040E-02 3.9340E-02 3.8633E-02 3.8222E-02 3.7926E-02 3.7716E-02 3.7552E-02 3.7424E-02 Finished PDF-ODF inversion. error: 3.7424E-02 alpha: 9.9874E+01 9.9837E+01 1.0057E+02 1.0030E+02 rec = ODF crystal symmetry : m-3m specimen symmetry: 222 Uniform portion: weight: 0.59116 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 5° center: 1232 orientations, resolution: 5° weight: 0.40884
ODF Estimation without Ghost Correction
rec2 = calcODF(pf,'NoGhostCorrection')
------ MTEX -- PDF to ODF inversion ------------------ Call c-routine initialize solver start iteration error: 7.2280E-02 1.9648E-02 9.9494E-03 9.2101E-03 8.9175E-03 8.7597E-03 8.6701E-03 8.6138E-03 8.5728E-03 8.5416E-03 8.5161E-03 Finished PDF-ODF inversion. error: 8.5161E-03 alpha: 9.9804E+01 9.9821E+01 1.0048E+02 1.0030E+02 required time: 11s rec2 = ODF crystal symmetry : m-3m specimen symmetry: 222 Radially symmetric portion: kernel: de la Vallee Poussin, halfwidth 5° center: 1232 orientations, resolution: 5° weight: 1
Error analysis
% calculate RP error calcError(rec,SantaFe) % difference plot between meassured and recalculated pole figures plotDiff(pf,rec)
ans = 0.0407

Plot estimated pole figures
plotPDF(rec,pf.h,'antipodal')

Plot estimated ODF (Ghost Corrected)
plot(rec,'alpha','sections',18,'resolution',5*degree,... 'projection','plain','contourf','FontSize',10,'silent') mtexColorMap white2black
Plotting ODF as alpha sections, range: 0° - 85°

Plot odf
plot(SantaFe,'alpha','sections',18,... 'projection','plain','contourf','FontSize',10,'silent') mtexColorMap white2black
Plotting ODF as alpha sections, range: 0° - 85°

Plot Fourier Coefficients
close all; % true ODF plotFourier(SantaFe,'bandwidth',32) % keep plot for adding the next plots hold all % With ghost correction: plotFourier(rec,'bandwidth',32) % Without ghost correction: plotFourier(rec2,'bandwidth',32) legend({'true ODF','with ghost correction','without ghost correction'}) % next plot command overwrites plot hold off

MTEX 4.0.10 |