How to do a hankel transform on a matrix in Matlab?
4 ビュー (過去 30 日間)
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!
回答 (1 件)
Yazan 2021 年 12 月 16 日
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.