How to do a hankel transform on a matrix in Matlab?
6 views (last 30 days)
Show older comments
Hello,
I want to implement a polar fourier transform in Matlab. This is my code so far:
P = phantom('Modified Shepp-Logan',256);
Theta = 0:1:179;
P_radon = radon(P, Theta);
A = fftshift(fft(P_radon,size(P_radon),1),1);
B = fft(A,[],2);
Now I have to do an hankel trasform on the matrix B in radial direction (the radial components are the 2nd dimension of the matrix B).
But I don't know how to do this trasform when my input argument is a matrix. Online I only found some solutions, when the input argument is a vector. Can somebody please help me?
Thank you very much!
Maria
0 Comments
Answers (1)
Yazan
on 16 Dec 2021
The Hankel transform (HT) of a vector is a vector and of a matrix is, naturally, a matrix. You mentioned that in your application, the HT should be applied along the 2nd dimensions of the matrix, meaning that for each row (I assume) separately. So you already answered the question: apply the HT along each row of B separately to get a matrix as an output.
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!