How to do a hankel transform on a matrix in Matlab?

3 ビュー (過去 30 日間)
Maria Concialdi
Maria Concialdi 2021 年 12 月 15 日
回答済み: Yazan 2021 年 12 月 16 日
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.


Find more on Matrices and Arrays 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!

Translated by