@@ -41,7 +41,8 @@ generates a `NFFTOpImpl` which evaluates the MRI Fourier signal encoding operato
4141"""
4242function NFFTOpImpl (shape:: Tuple , tr:: AbstractMatrix{T} ; toeplitz= false , oversamplingFactor= 1.25 , kernelSize= 3 , S = Vector{Complex{T}}, kargs... ) where {T}
4343
44- plan = plan_nfft (S, tr, shape, m= kernelSize, σ= oversamplingFactor, precompute= NFFT. TENSOR,
44+ baseArrayType = Base. typename (S). wrapper # https://github.com/JuliaLang/julia/issues/35543
45+ plan = plan_nfft (baseArrayType, tr, shape, m= kernelSize, σ= oversamplingFactor, precompute= NFFT. TENSOR,
4546 fftflags= FFTW. ESTIMATE, blocking= true )
4647
4748 return NFFTOpImpl {eltype(S), S, typeof(plan)} (size (tr,2 ), prod (shape), false , false
@@ -141,7 +142,8 @@ function NFFTToeplitzNormalOp(nfft::NFFTOp{T}, W=opEye(eltype(nfft), size(nfft,
141142 # λ = calculateToeplitzKernel(shape, nfft.plan.k; m = nfft.plan.params.m, σ = nfft.plan.params.σ, window = nfft.plan.params.window, LUTSize = nfft.plan.params.LUTSize, fftplan = fftplan)
142143
143144 shape_os = 2 .* shape
144- p = plan_nfft (typeof (tmpVec), nfft. plan. k, shape_os; m = nfft. plan. params. m, σ = nfft. plan. params. σ,
145+ baseArrayType = Base. typename (typeof (tmpVec)). wrapper # https://github.com/JuliaLang/julia/issues/35543
146+ p = plan_nfft (baseArrayType, nfft. plan. k, shape_os; m = nfft. plan. params. m, σ = nfft. plan. params. σ,
145147 precompute= NFFT. POLYNOMIAL, fftflags= FFTW. ESTIMATE, blocking= true )
146148 tmpOnes = similar (tmpVec, size (nfft. plan. k, 2 ))
147149 tmpOnes .= one (T)
0 commit comments