Read location ("slice", "row", "column").
View the matrix as though it were a 2D array of arrays oriented along the specified "axis" (0 => layer axis, 1 => row axis, 2 => col axis).
View the matrix as though it were a 2D array of arrays oriented along the specified "axis" (0 => layer axis, 1 => row axis, 2 => col axis).
These arrays are both readable and writable and access the elements in this matrix.
Make an exact copy of "this".
Expand the matrix, optionally extending the border into the expanded region.
Expand the matrix, optionally extending the border into the expanded region.
This operation is a key part of the FFT. The new matrix is of size "bigRows" x "bigColumns" and element (0, 0) of this is anchored at (0, 0) in the larger matrix. If "borderFill" is true, then the four edges of the matrix are extended evenly in all directions, as though the bigger matrix were actually a torus with opposite edges touching.
Flip the matrix across each axis, needed for convolution.
Map each element of "this" using "f".
Print out a matrix 3d for debugging.
Shift the values in "this" as though "this" were a torus with wrap around at the edges, top to bottom, left to right.
Shift the values in "this" as though "this" were a torus with wrap around at the edges, top to bottom, left to right. The shifting is negative, so the value in this at location ("deltaRows", "deltaColumns") gets shifted to location (0, 0) in the result.
Write location ("layer", "row", "column") with "value".
An order-3 Tensor
This is used primarily by the 3D FFT.