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

Example output for Miller.symmetrise

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.