Approximate a vector field on the rotation group (SO(3)) in its RBF-Kernel representation from some given orientations with corresponding tangent vectors and maybe some noise.
We compute this vector field componentwise, i.e. we compute three SO3FunRBFs individually by interpolation.
Syntax
SO3F = SO3VectorFieldRBF.interpolate(nodes,y)
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'halfwidth',1*degree)
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'kernel',psi)
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'kernel',psi,'exact')
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'kernel',psi,'resolution',5*degree)
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'kernel',psi,'SO3Grid',S3G)
SO3F = SO3VectorFieldRBF.interpolate(nodes,y,'mlsq','tol',1e-3,'maxit',100,'density')Input
| nodes | rotational grid SO3Grid, orientation, rotation or harmonic coefficents |
| y | function values on the grid (maybe multidimensional) or empty |
| psi | SO3Kernel of the approximated SO3FunRBF (default: SO3DeLaValleePoussinKernel('halfwidth',5*degree)) |
| S3G | rotation |
Output
| SO3F | SO3VectorFieldRBF |
Options
| halfwidth | halfwidth of the SO3Kernel of the result SO3FunRBF |
| kernel | SO3Kernel of the result SO3FunRBF |
| SO3Grid | center of the result SO3FunRBF |
| resolution | resolution of the SO3Grid which is the center of the result SO3FunRBF |
| approxresolution | resolution of the approximation grid, which is used to evaluate the input odf, if we use the spatial method (not the harmonic method) |
| tol | tolerance as termination condition for lsqr/mlsq/... |
| maxit | maximum number of iterations as termination condition for lsqr/mlsq/... |
Flags
| 'exact' | if rotations are given, then use nodes as center of result SO3FunRBF and try to do exact computations |
| 'density' | ensure that result SO3FunRBF is a density function (i.e. positiv and mean is 1) |
| LSQRsolver | ('lsqr'|'lsqnonneg'|'lsqlin'|'nnls'|'mlsq'|'mlrl') specify least square solver for spatial method --> default: lsqr |
| LSQR | Solvers |
| lsqr | least squares (MATLAB) |
| lsqnonneg | non negative least squares (MATLAB, fast) |
| lsqlin | interior point non negative least squares (optimization toolbox, slow) |
| nnls | non negative least squares (W.Whiten) |
| mlsq | modified least squares (with positivity condition and normalization to mean 1) |
| mlrl | maximum likelihood estimate (with positivity condition and normalization to mean 1) |
See also
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/SO3VectorFieldRBF.interpolate.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.