the modified least squares solver of the pole figure inversion, an ODF as a weighted sum of unimodal components fitted to scattered pole figure intensities

Syntax

solver = MLSSolver(pf, resolution=5*degree, halfwidth=7.5*degree)

Set up the solver.

odf = solver.calcODF()

And run it.

solver = MLSSolver(pf, psi, S3G=grid)

A kernel and the centres given.

solver.alpha

The scaling of each pole figure.

Description

The ansatz functions have the shape of a kernel, by default the de la Vallee Poussin kernel, and sit on a grid of orientations, by default an equispaced grid of the resolution. The coefficients minimise the squared misfit between the pole figures of the ODF and the measured intensities, every pole figure with its own scaling alpha, under the constraint that they are non negative. calcODF(pf, …) builds the solver and runs it at once.

The kernel and the grid may also be passed positionally. The solver keeps its state: solver.S3G the centres, solver.psi the kernel, solver.c the coefficients, solver.alpha the scaling factors, solver.zrm the zero range method; solver.odf the ODF they describe.

Input

pf PoleFigure
psi SO3Kernel, the shape of the ansatz functions
grid orientation, the centres of the ansatz functions

Keywords

keyword default description
resolution None the spacing of the grid the ansatz functions sit on, by default the resolution of the pole figures (MATLAB: 3/2 of it)
halfwidth None the halfwidth of the ansatz functions, by default the resolution of the grid (MATLAB: 2/3 of it)
kernel None SO3Kernel, the shape of the ansatz functions instead of the de la Vallee Poussin kernel of the halfwidth
S3G None orientation, the centres of the ansatz functions instead of the equispaced grid
zeroRange False apply the zero range method: drop the centres where some pole figure says the ODF vanishes; a zeroRangeMethod gives its parameters
minIter 5 the least number of iterations
maxIter 10 the largest number of iterations (MATLAB iterMax)
c0 None the coefficients of the ansatz functions the iteration starts from, by default all equal
ghostCorrection True fix the uniform portion the data allows and reconstruct only the rest; MATLAB flag noGhostCorrection is ghostCorrection=False
quadratureWeights False weight the residuals with the quadrature weights of the measured directions (no specimen symmetry)
intensityWeights False weight the residuals with (1 + I)^(-1/2), the counting statistics of the intensities I
regularisation 0.0 the weight of a penalty on the Dirichlet energy, a discrete Laplacian on the grid; zero for none
verbose False report the fit of every pole figure in every iteration

Output

solver MLSSolver

References

  • R. Hielscher, H. Schaeben, A novel pole figure inversion method: specification of the MTEX algorithm, J. Appl. Cryst. 41 (2008) 1024-1037

See also

calcODF, MLSSolver.calcODF, calcODFIterative, zeroRangeMethod, PoleFigureTutorial, PoleFigure2ODFAmbiguity, PoleFigure2ODFGhostCorrection

MATLAB’s MLSSolver.MLSSolver

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/MLSSolver.MLSSolver_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.