Closed chaithyagr closed 5 years ago
Do you think you could also add an example for the stack 3D thing?
Do you think you could also add an example for the stack 3D thing?
Yes, I plan to add one, for stack based reconstruction. (Non Cartesian, using radial)
@LElgueddari. I have a basic example that I formulated, I am having some issues which I will work through, but irrespective, we can get this feature in if it takess too long, especially given that we dont have basic 3D examples yet. For sanity, I have tests in place
I have added an example also. This needed a max_iter for gradient file. It looks like this file is not at all documented. For now, to keep things moving, I have not documented this parameter. We will do this when we refactor the code in #36
General question (probs should have asked earlier but I just realized). Why do we only support Stacked non-uniform 3D Fourier transform?
I dont think I understand this @zaccharieramzi . The reason is speedups and also that it is very memory efficient
My question was why don't we also support Stacked 3D (regular) Fourier Transform?
So basically the idea of stack 3d is to take advantage of the Cartesian distribution in the 3D dimension by using FFT instead of NFFT in that direction. For 3D FFT either stack or not the Fourier transform is already doing 1d FFT in each direction. Therefore stack 3D fft is just the basic fftn. Hence there is no point of doing that
My question was why don't we also support Stacked 3D (regular) Fourier Transform?
My answer @zaccharieramzi : because we're supporting 3D acquisitions that encode stack of stars (radial)/spirals/2D sparkling and then along the k_z direction, the sampling is regular so FFT is much more efficent as @LElgueddari outlined
I understand that fftn
allows us to perform 3D stacked FFT, I am asking why we don't include it. For example we include 2D FFT even if fft2
already allows to do it.
@LElgueddari gave a spot on answer there.. Here is fftn implementation which does exactly the same over all axes:
I understand that fftn allows us to perform 3D stacked FFT, I am asking why we don't include it. For example we include 2D FFT even if fft2 already allows to do it.
Loubna's PR #51 will generalize FFT2 to FFT class, which would implement FFTN in the same exact fashion. Having a version here would make it redundant
So there is absolutely no need for stacked cartesian @philouc ?
@chaithyagr like I said, I understand fftn
, but we do support fft2
so why not fftn
?
So there is absolutely no need for stacked cartesian
Oh we surely need that, and as I mentioned, @LElgueddari 's PR will get that in.. (With a 3D Example for Cartesian Undersampling)
@chaithyagr I see thanks, that was the answer I was looking for.
Yes we could add support to 3D Cartesian sampling/undersampling as it is used for instance in 3D EPI for fMRI.
PR #51 already support 3D
All checks have passed! @LElgueddari can you please merge?
This addresses the feature discussed in #33 Also some code cleanups for adjoint tests