a function on SO(3) as a series of Wigner functions, symmetric under its crystal and specimen frame
Syntax
SO3F = SO3FunHarmonic(fhat, cs, ss)
From MTEX’s coefficients.
SO3F = SO3FunHarmonic(odf, bandwidth=32)
The harmonic form of another function.
SO3F = SO3FunHarmonic(lambda ori: ori.angle(), cs)
A callable by quadrature.
SO3F = SO3FunHarmonic(lambda ori: ori.angle(), cs, 'GaussLegendre', bandwidth=16)
On the Gauss-Legendre grid.
SO3F = SO3FunHarmonic(psi, cs, bandwidth=24)
The series of an SO(3) kernel.
mdf = SO3FunHarmonic(lambda o: o.angle(), cs, cs, antipodal=True, bandwidth=8)
A misorientation function, f(g) = f(g^-1).
Description
What the first argument is decides how the coefficients come about:
- coefficients: MTEX’s, degree by degree, deg2dim(L + 1) of them for the bandwidth L; a vector ending inside a degree block is padded with zeros to its end. An array of more axes is a list of functions, its shape in front of the coefficients.
- another SO(3) function: its harmonic form at the bandwidth given; an SO3FunRBF reaches at most its kernel’s bandwidth.
- an SO(3) kernel: its series.
- a callable of orientations: sampled on a quadrature grid of the bandwidth, by default the preference defaultSO3Bandwidth, Clenshaw-Curtis unless ‘GaussLegendre’ is named among the frames.
The frames are the crystal frame and the specimen frame, the second by default specimenFrame.default. The coefficients are made invariant under both unless symmetrise=False.
Input
fhat |
array of MTEX’s coefficients, an SO3Fun, an SO3Kernel or a callable of orientations |
cs, ss |
crystalFrame and specimenFrame (or a second crystalFrame) |
Keywords
| keyword | default | description |
|---|---|---|
real |
whether the function takes real values only; by default read off the coefficients or the sampled values | |
antipodal |
f(g) = f(g^-1), the exchange symmetry of a misorientation function; needs the same frame on both sides | |
symmetrise |
make the coefficients invariant under the two frames’ symmetries | |
bandwidth |
the largest degree of the series | |
dtype |
the complex type of the coefficients, complex128 unless given |
Output
SO3F |
SO3FunHarmonic |
Properties
fhat |
Wigner coefficients in MTEX’s public basis |
bandwidth |
largest harmonic degree; assignment truncates or pads the expansion |
CS, SS |
crystal and specimen reference frames |
isReal |
whether the function takes real values; setting True projects onto the real part |
antipodal |
whether grain exchange symmetry f(g)=f(inv(g)) is imposed |
shape |
shape of a function list, excluding the coefficient axis |
See also
SO3FunHarmonic.quadrature, SO3FunHarmonic.interpolate, SO3FunRBF, SO3FunHandle, SO3VectorFieldHarmonic, SO3FunHarmonicRepresentation
Members
| abs | the absolute value of the function, by quadrature at twice the bandwidth |
| approximate | the harmonic series of a function on SO(3) by quadrature |
| bandwidth | the bandwidth, the largest degree of the expansion |
| calcError | the distance between two orientation density functions, or the error of an ODF against pole figures |
| cat | the functions joined into one list along an axis, the coefficients padded to the largest bandwidth |
| conj | the complex conjugate function |
| conv | the convolution with another SO(3) function, a kernel, a function on the sphere or a vector of multipliers per degree, as conv(f, g) |
| dot | the inner product int conj(f) g, the first argument conjugated |
| dtype | the dtype of the coefficients |
| eval | evaluate a harmonic orientation function at rotations or orientations |
| example | the harmonic expansion of the Dubna ODF, MTEX’s example function |
| exp | the exponential of the function, by quadrature at twice the bandwidth, or at the bandwidth given |
| fhat | the coefficients in MTEX’s basis, as MATLAB’s SO3F.fhat reads and assigns them |
| 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, a harmonic vector field on SO(3), left or with side=’right’ right |
| horzcat | the functions joined into one list along an axis, the coefficients padded to the largest bandwidth |
| interpolate | the harmonic function fitted to values at orientations, by regularised least squares, as interpolate(nodes, values, …) |
| inv | form the function evaluated at inverse rotations |
| isclose | the same coefficients up to a tolerance |
| isReal | SO3F.isReal = True makes the coefficients those of the real part, as MATLAB’s does |
| laplace | the Laplace-Beltrami operator applied to the function, degree n scaled by -n(n+1) |
| log | the logarithm of the function, by quadrature at twice the bandwidth, or at the bandwidth given |
| max | the maximum of a function on SO(3) or the sphere, the value and the position, numLocal local maxima from a grid refined down to the accuracy |
| mean | the mean of every function |
| norm | the L2 norm, or the Sobolev norm sqrt(sum (2n+1)^{2s} |fhat_n|^2) |
| 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 | |
| power | the harmonic power per degree, the norm of the coefficients of that degree |
| quadrature | the harmonic series of a function on SO(3) by quadrature |
| radon | the Radon transform of a function on SO(3): its pole figures, inverse pole figures, or their values (MATLAB’s radon, calcPDF and calcIPDF) |
| rdivide | |
| reshape | the list of functions in another shape |
| rotate | the function turned by a rotation, from the left or with side=’right’ from the right, as rotate(f, rot, side) |
| shape | the shape of a list of functions, () for one |
| size | the number of functions of the list, one for a single function |
| SO3FunHarmonic | a function on SO(3) as a series of Wigner functions, symmetric under its crystal and specimen frame |
| sqrt | the square root of the function, by quadrature at twice the bandwidth, or at the bandwidth given |
| subsref | |
| sum | the integral over SO(3), 8 pi^2 times the mean |
| symmetrise | project the coefficients onto the symmetries carried by the two frames |
| T | the list transposed, a row of n functions becoming a column |
| textureIndex | the texture index of a function on SO(3) or on the sphere, the squared L2 norm of its harmonic expansion |
| times | |
| truncate | cut or pad a harmonic orientation function to maximum degree L |
| uminus | |
| vertcat | the functions joined into one list along an axis, the coefficients padded to the largest bandwidth |
| 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 |
| withExchange | the function with the exchange symmetry f(g) = f(g^-1) imposed, by the mean with its inverse |
Used on
AngleDistributionFunction, ODFInversePoleFigure, RandomSampling, SO3FunHarmonicRepresentation, SingleSlipModel, PoleFigure2ODFAmbiguity, PoleFigure2ODFGhostCorrection, SO3FunConvolution, SO3FunDefinition, SO3FunOperations, SO3FunQuadrature, SO3FunSymmetricFunctions
MATLAB’s SO3FunHarmonic_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/SO3FunHarmonic_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.