a function on SO(3) as a sum of radial kernels at centre orientations, plus a constant: a radial basis function ODF
Syntax
SO3F = SO3FunRBF(ori, psi, weights)
Kernels psi at the orientations ori.
SO3F = SO3FunRBF(ori, psi, weights, c0)
Plus the constant c0.
SO3F = SO3FunRBF(ori)
10 degree kernels, the weights giving a mean of one.
Description
The function is c0 + sum_i w_i psi(angle(g, ori_i)), every centre taken with all its symmetrically equivalent orientations, in the crystal and specimen frames of the centres. unimodalODF and calcDensity build one, SO3FunRBF.interpolate fits one through values.
Scaling, adding a constant, adding another kernel sum of the same kernel, rotation, inversion and convolution with a kernel keep the function a kernel sum. Its harmonic form, through which it is evaluated, is computed once and kept until a centre, the kernel, the weights or the constant are set.
MATLAB’s SO3FunRBF(F), approximating another SO3Fun, is not ported.
Input
center |
orientation, the centres of the kernels |
psi |
SO3Kernel; by default the de la Vallee Poussin kernel of halfwidth 10 degree |
weights |
one weight per centre; by default equal, giving a mean of one |
c0 |
the constant added |
Output
SO3F |
SO3FunRBF |
Properties
center |
kernel centres as orientations |
psi |
radial kernel shared by the centres |
weights |
coefficients multiplying the individual kernel contributions |
c0 |
constant contribution to the function |
CS, SS |
crystal and specimen reference frames |
antipodal |
whether grain exchange symmetry is used |
See also
unimodalODF, SO3FunCBF, SO3FunRBF.interpolate, calcDensity, SO3FunRBF.radon, RadialODFs
Members
| abs | the absolute value of the function, pointwise, as a function handle |
| antipodal | whether the function is antipodal, symmetric under inversion, as its centres are |
| bandwidth | the harmonic bandwidth of the kernel |
| c0 | the constant added to the sum of kernels |
| calcError | the distance between two orientation density functions, or the error of an ODF against pole figures |
| cat | cat(a, b, …) is type(a).cat(a, b, …): the list of the operands, MATLAB’s [a, b], the carried attributes joined |
| center | the centres of the kernels, a flat list of orientations |
| conv | the convolution with a kernel psi, again a kernel sum when psi is an SO(3) kernel, otherwise through the harmonic expansion |
| CS | the crystal frame of the function, that of its centres |
| discreteSample | a random sample of n orientations drawn from an orientation density, of directions from a density on the sphere, of numbers from a density on an interval, or n random members of a list |
| eval | the kernel sum over the centres and their symmetric copies |
| exp | the exponential of the function, pointwise, as a function handle |
| frameA | the frame the orientations map from, the crystal frame |
| frameB | the frame the orientations map to, the specimen or a second crystal frame |
| grad | the gradient of a kernel sum at orientations, or without them the vector field of the gradients of its harmonic expansion, as MATLAB’s grad |
| interpolate | the sum of kernels through values at orientations, MATLAB’s SO3FunRBF.interpolate |
| inv | the inverse function f(g^-1), the centres inverted, crystal and specimen sides exchanged |
| log | the logarithm of the function, pointwise, as a function handle |
| mean | the mean of the function over SO(3), c0 plus the sum of the weights times the kernel’s mean |
| norm | the L2 norm of the function, from its harmonic expansion |
| plot3d | plot3d(v), plot3d(v, data), plot3d(sF), plot3d(vF), plot3d(oR), plot3d(ori), plot3d(odf) |
| plot | plotSection(odf), plotSection(odf, ‘sigma’), plotSection(ori, oS, sections=9) |
| plotFibre | the ODF along the fibre f, as a line over the angle along the fibre |
| plotIPDF | plotIPF(odf, r): the inverse pole figures of an ODF, one axes per specimen direction (MATLAB’s plotIPDF) |
| plotPDF | the pole figures of an ODF, one axes per crystal direction |
| plotSection | plotSection(odf), plotSection(odf, ‘sigma’), plotSection(ori, oS, sections=9) |
| plus | |
| psi | the kernel |
| radon | the Radon transform of a kernel sum: the pole figure of a crystal direction, the inverse pole figure of a specimen direction, or the pole density of both |
| rotate | the function rotated by r on the left, the specimen side, or with side=’right’ on the crystal side |
| SO3FunRBF | a function on SO(3) as a sum of radial kernels at centre orientations, plus a constant: a radial basis function ODF |
| sqrt | the square root of the function, pointwise, as a function handle |
| SS | the specimen frame of the function, that of its centres |
| sum | the integral over orientation space, 8 pi^2 times the mean |
| textureIndex | the texture index of a function on SO(3) or on the sphere, the squared L2 norm of its harmonic expansion |
| times | |
| uminus | |
| volume | the share of orientations within a radius of a centre: the integral of f over the ball, int_{angle(g, c) < r} f(g) dg, relative to the integral over all orientations |
| weights | the weight of every centre |
Used on
SO3FunConvolution, SO3FunOperations, SO3Kernels
MATLAB’s SO3FunRBF_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/SO3FunRBF_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.