A method of vector3d.
the symmetrically equivalent directions, numSym x shape, or the distinct ones of one direction with unique=True; MATLAB’s second output, the multiplicity, is v.multiplicity(), its third the rotations of the frame, v.frame.rotations()
Syntax
hs = h.symmetrise()
Every image, numSym x shape.
hs = h.symmetrise(unique=True)
The distinct ones of one direction.
hs = h.symmetrise(antipodal=True)
The negatives too.
Description
With antipodal=True the negatives are added, unless the group holds the inversion or h is an axis; with unique=True an axis, or antipodal=True, takes v and -v as one, and antipodal=False keeps them apart. A vector in no crystal frame is returned with a leading axis of one.
Input
h |
Miller |
Keywords
| keyword | default | description |
|---|---|---|
unique |
False |
the distinct images of a single direction, a flat list |
antipodal |
None |
treat the directions as axes; by default as h says |
Output
hs |
Miller |
Example
Generate the distinct cubic {100} plane normals, and compare oriented normals with antipodal plane axes. Opposite normals represent the same axis when antipodal=True.
import numpy as np
import matplotlib.pyplot as plt
from mtex import crystalFrame, Miller, symmetrise, plot
cs = crystalFrame('m-3m')
h = Miller(1, 0, 0, cs, 'hkl')
normals = symmetrise(h, unique=True, antipodal=False)
axes = symmetrise(h, unique=True, antipodal=True)
print('Oriented normals:', normals.size, 'Antipodal axes:', axes.size)
print('Unit Cartesian normals:', np.round(normals.normalize().data, 3))
plot(normals, upper=True, antipodal=True, markerSize=8)
plt.show()
unique=True removes duplicate symmetry images of this single input. The hemisphere plot identifies opposite poles, while normals retains both signs. Applying symmetrise without unique to an array keeps the symmetry-image axis so the original array can be tracked.
Oriented normals: 6 Antipodal axes: 3
Unit Cartesian normals: [[ 1. 0. 0.]
[-1. -0. -0.]
[-0. -1. 0.]
[ 0. 1. 0.]
[-0. 0. 1.]
[ 0. -0. -1.]]

See also
Miller.multiplicity, symmetry.rotations
MATLAB’s Miller.symmetrise
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/Miller.symmetrise_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.