gridLayout.layoutIndex edit page

the reindexing that lays an array out in this layout

Description

A layout says which specimen directions the row and the column index of an array advance along, so two of them differ by a transpose and two flips - a signed permutation, the only thing reindexing can express. The inverse is the same call with the two layouts swapped.

The source is given as two directions rather than a layout because a grid may be sheared, and a gridLayout requires its axes perpendicular.

doTranspose is reported because a transpose also exchanges whatever is indexed BY dimension - a pixel step, a size - which the index cannot carry.

Syntax

lin = layoutIndex(gL,[d1 d2],size(A))
lin = layoutIndex(gL,src,size(A))
lin = layoutIndex(gL,src,size(A),'nearest')
[lin,doTranspose] = layoutIndex(gL,[d1 d2],size(A))

Input

gL gridLayout the array is to be laid out in, i.e. the TARGET
dims 1x2 vector3d, the directions dimensions 1 and 2 advance along
src gridLayout, the same stated as a layout
sz size(A), dimensions beyond the first two are left alone

Output

lin linear indices, A(lin) is A laid out in gL
doTranspose whether the first two dimensions were exchanged

Flags

nearest snap to the closest layout instead of erroring

See also

gridLayout referenceFrame.transformationMatrix EBSDsquare.transformReferenceFrame