polygonal faces separating neighbouring grains in a three-dimensional volume
Syntax
gB = grains.boundary
firstFaces = gB[:10]
areas = gB.area
normals = gB.N
Description
A boundary contains one row per face, with its adjacent grain ids, voxel ids, phases and misrotation. Faces share a vertex table. Face normals point from the first adjacent grain to the second when the mesh is consistently oriented. The exterior uses grain id 0, voxel id -1 and phase id -1. Select a single phase pair before requesting misorientation.
Input
allV |
vector3d or array of shape (n, 3), all stored vertex positions |
F |
array of shape (m, 3) for triangles, or a list of polygon vertex-index arrays; indices are zero-based and a polygon does not repeat its first vertex |
grainId |
array of shape (m, 2), adjacent grain ids |
ebsdId |
array of shape (m, 2), adjacent voxel ids, or None for unknown ids |
phaseId |
array of shape (m, 2), adjacent phase-list indices |
misrotation |
rotation across each face |
CSList |
list of phase frames |
frame |
specimenFrame of the geometry |
scanUnit |
spatial unit of vertex coordinates; default ‘um’ |
id |
persistent face ids; default 1 through m |
Output
gB |
grain3Boundary, normally obtained as grains.boundary |
Properties
allV |
numeric vertex coordinates of shape (n, 3) |
F |
triangle indices or polygon index arrays into allV |
grainId |
grain ids on the two sides of every face |
N |
oriented unit face normals as vector3d |
centroid |
area-weighted face centres as vector3d |
area |
area of every face in squared spatial units |
misorientation |
symmetry-aware orientation relationship for one phase pair |
isTriangulated |
whether all faces have three corners |
See also
grain3d, calcGrains3d, grain3d.orientFaces
Members
| area | the area of every face |
| calcGBND | the boundary normal distribution of a 3D boundary: the face normals in specimen coordinates weighted by area, with grains the normals in the crystal frame of the one phase, with moriRef the grain boundary character of the faces whose misorientation is near moriRef |
| cat | cat(a, b, …) is type(a).cat(a, b, …): the list of the operands, MATLAB’s [a, b], the carried attributes joined |
| centroid | the mean of the corners of a triangle, the area centroid of a polygon |
| diameter | the largest distance between two corners of every face |
| edges | the edges of a triangulated boundary, sorted pairs of vertices, and the three edges of every face |
| F | the triangles as an (m, 3) array, a polygonal boundary as a list of index arrays |
| flip | the boundary faces with their two sides exchanged, of all faces or a selection |
| flipN | the boundary faces turned round, their normals pointing the other way |
| grain3Boundary | polygonal faces separating neighbouring grains in a three-dimensional volume |
| hasGrain | the boundary faces of a grain, or between two grains |
| hasPhase | the boundary faces with a phase on one side, or between two phases |
| I_FG | faces x grains, the columns the grain ids |
| I_VF | the incidence of vertices and faces, a sparse boolean matrix vertices x faces |
| I_VG | the incidence of vertices and grains, a sparse boolean matrix vertices x grains |
| idV | the indices into allV of the vertices the faces use, sorted |
| isIndexed | whether the grain on either side is indexed, (m, 2) |
| isTriangulated | whether every face is a triangle |
| misorientation | the misorientation of every face from the second side to the first, NaN where a side is not indexed |
| N | the unit normal of every face, NaN for a face of no area |
| nodeType | the number of grains meeting at every vertex, plus 10 on the surface of the volume |
| numCorners | the number of corners of every face |
| perimeter | the perimeter of every face, the length of its edges |
| plot | the faces of a 3D grain boundary, light blue, in one colour, or coloured by a value or a colour per face |
| quiver | arrows at the centroids of 3D grains or of their boundary faces |
| size | the number of faces |
| subsref | |
| V | the vertices the faces use, as vectors |
MATLAB’s grain3Boundary_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/grain3Boundary_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.