fftshift
is an R equivalent to the Matlab function fftshift
applied on matrices. For more information about fftshift
see
the Matlab documentation.
fftshift(inputMatrix, dimension = -1)
inputMatrix | Matrix to be swapped. |
---|---|
dimension | Which swap should be performed?
|
Swapped matrix.
It is possible to swap the halves or the quadrants of the input matrix.
Halves can be swapped along the rows (dimension = 1
) or along the
columns (dimension = 2
). When swapping the quadrants, fftshift
swaps the first quadrant with the third and the second quadrant with the fourth
(dimension = -1
).
set.seed(987) sampleMat <- matrix(sample(1:10, size = 25, replace = TRUE), nrow = 5) # Swap halves along the rows: fftshift(sampleMat, dimension = 1)#> [,1] [,2] [,3] [,4] [,5] #> [1,] 6 9 4 1 8 #> [2,] 9 8 2 8 10 #> [3,] 5 3 2 7 8 #> [4,] 10 5 4 2 6 #> [5,] 7 4 2 10 2# Swap halves along the columns: fftshift(sampleMat, dimension = 2)#> [,1] [,2] [,3] [,4] [,5] #> [1,] 7 8 5 3 2 #> [2,] 2 6 10 5 4 #> [3,] 10 2 7 4 2 #> [4,] 1 8 6 9 4 #> [5,] 8 10 9 8 2# Swap first quadrant with third and second quadrant with fourth: fftshift(sampleMat, dimension = -1)#> [,1] [,2] [,3] [,4] [,5] #> [1,] 1 8 6 9 4 #> [2,] 8 10 9 8 2 #> [3,] 7 8 5 3 2 #> [4,] 2 6 10 5 4 #> [5,] 10 2 7 4 2