-
Notifications
You must be signed in to change notification settings - Fork 94
Description
Dear developers:
For the function “finufft1d1(x, c,+1,1e-12,1024)”, suppose the input parameter “c” be a double-precision matrix with 6144 rows and 1200 columns. Suppose the input parameter “x” be a column vector with 6144 rows and 1 column that represents the source non-uniform points but varies for each column of “c”. Does the FiNUFFT “guru” interface “finufft_plan” work for this situation?
I will provide a MCE (minimally complete example code) as follows written by MATLAB code:
kr = ([-3072 : 3071].'/6144 * 1.2 + 33.33) *(4.0 * pi); // 6144×1 column vector
kx = (33.33 + [-600: 599]./1200 * 4.0) *(2.0 * pi); // 1×1200 row vector
c = zeros(6144,1200);
for k = 1 : 1200
c(:,k) = finufft1d1((sqrt(kr.^2 - kx(k).^2) - 362.27)/(15.98)*pi, data_in(:,k),-1,1e-12,6144);
end
Note that data_in is a 6144×1200 matrix of double-precision type (such as SAR data). In the above code, the term “sqrt(kr.^2 - kx(k).^2) - 362.27)/(15.98)*pi” varies with “k”. That is, the source non-uniform points are different each transfer, so the FiNUFFT “vectorized” interface does not work.
We refrence to the finufft-readthedocs-io-en-latest on the website https://finufft.readthedocs.io/en/latest/matlab.html , the screenshot of which are as follows:

As demonstrated in the screenshot, the FiNUFFT "guru" interface is capable of handling the situations previously mentioned. However, the validity of this assertion remains uncertain.
Thanks very much!