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

Members

calcODF the ODF the solver reconstructs, with the ghost correction
CS the crystal frame of the pole figures the solver inverts
doIter one step of the modified projected gradient
frameA the frame the orientations map from, the crystal frame
frameB the frame the orientations map to, the specimen or a second crystal frame
init the operators on the grid the zero range method leaves
initIter the state the iteration starts from: the normalisation directions a_i, the scalings alpha_i and the weighted residuals u_i
initRegularisation sets the regularisation matrix of the solver, its weight times a discrete Laplacian on the grid
iterate the iteration, stopped when the residual improves by less than five percent
MLSSolver 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
odf the ODF the current coefficients describe
residual the relative residual of each pole figure, and the norm of the vector of them
SS the specimen frame of the pole figures the solver inverts

MATLAB’s MLSSolver_index

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_index_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.