CEA-COSMIC / pysap-mri

MRI external plugin for Python Sparse data Analysis Package
Other
43 stars 18 forks source link

Implement stacked version of fourier transform for 3D data having stack of same k-space data #33

Closed chaithyagr closed 4 years ago

chaithyagr commented 5 years ago

The NFFT-3D implementation takes too long for running at high N's The idea is that if the input data is a stack of data at same kspace locations at different z-levels, we could exploit this to obtain the 3D NFFT faster by implementing a 2D NFFT followed by a final 1D - FFT.

Currently, I have base codes up and working for this, the seen speedup is as follows:

For N 64 Speedup = 0.47019157789921967 For N 128 Speedup = 0.7234951284094772 For N 256 Speedup = 3.391414416287289 For N 338 Speedup = 3.5204348276982196 For N 448 Speedup = 4.978218234526903

Clearly, there is a lot of merit in getting these codes to mainline for specific cases as mentioned above. I will document my code now and get a PR for this.

chaithyagr commented 5 years ago

Also, for this feature, I have added check codes to ensure that the incoming samples are in the order as needed. Further, I have added 2 tests for this, namely for checking the adjoint property and to check that the output is close to that of 3D NFFT.

chaithyagr commented 4 years ago

This has been implemented and seems to be a stale issue. Closing