1 | function Y = iqdft2(X, A, L) |
---|
2 | % IQDFT2 Inverse discrete quaternion 2D Fourier transform. |
---|
3 | % |
---|
4 | % This function computes the inverse discrete quaternion Fourier transform |
---|
5 | % of X. See the function qdft2.m for details. Because this is an inverse |
---|
6 | % transform it divides rows and columns of the result by their lengths. |
---|
7 | |
---|
8 | % Copyright © 2005 Stephen J. Sangwine and Nicolas Le Bihan. |
---|
9 | % See the file : Copyright.m for further details. |
---|
10 | |
---|
11 | error(nargchk(3, 3, nargin)), error(nargoutchk(0, 1, nargout)) |
---|
12 | |
---|
13 | % We omit any check on the A and L parameters here, because they will be |
---|
14 | % checked by the qdft code called by iqdft. |
---|
15 | |
---|
16 | % Compute the transform. This is done by row/column separation, that is we |
---|
17 | % compute the QDFT of the rows, then the QDFT of the columns. This is |
---|
18 | % faster than a direct implementation, and easier, because the direct |
---|
19 | % implementation would require a block matrix for the exponentials, which |
---|
20 | % Matlab cannot support. |
---|
21 | |
---|
22 | Y = iqdft(iqdft(X, A, L).', A, L).'; |
---|