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