chainOrder edit page

decompose an undirected edge list into maximal chains and walk each of them

Description

A chain is a maximal run of edges joined at vertices where exactly two edges meet; a vertex of any other degree is a junction and terminates a chain. Every chain is walked from one end to the other, which assigns each edge a position within its chain and tells at which of its two vertices the walk enters it.

Chains are numbered by increasing highest member edge index, and each is walked from its lower terminal half edge; a closed chain has no terminal and is cut at its lowest vertex. These tie breaks make the result unique, which is what lets the compiled and the MATLAB path be interchangeable.

Syntax

[cid,pos,firstEnd] = chainOrder(F,nV)
[cid,pos,firstEnd] = chainOrder(F,nV,'noMex')

Input

F nF × 2 list of edges, one based vertex indices
nV number of vertices

Output

cid nF × 1 chain id, 1..nCh
pos nF × 1 zero based position of the edge within its chain
firstEnd nF × 1, 1 or 2 - the column of F holding the entry vertex

Flags

noMex use the MATLAB implementation even if chainOrderC is available

See also

grainBoundary.order connectedComponents

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/chainOrder.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.