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