[37] | 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).'; |
---|