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

4 visualizaciones (últimos 30 días)
Maria Concialdi
Maria Concialdi el 15 de Dic. de 2021
Respondida: Yazan el 16 de Dic. de 2021
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

Respuestas (1)

Yazan
Yazan el 16 de Dic. de 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.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by