@@ -41,7 +41,8 @@ generates a `NFFTOpImpl` which evaluates the MRI Fourier signal encoding operato
41
41
"""
42
42
function NFFTOpImpl (shape:: Tuple , tr:: AbstractMatrix{T} ; toeplitz= false , oversamplingFactor= 1.25 , kernelSize= 3 , S = Vector{Complex{T}}, kargs... ) where {T}
43
43
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,
45
46
fftflags= FFTW. ESTIMATE, blocking= true )
46
47
47
48
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,
141
142
# λ = 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)
142
143
143
144
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. σ,
145
147
precompute= NFFT. POLYNOMIAL, fftflags= FFTW. ESTIMATE, blocking= true )
146
148
tmpOnes = similar (tmpVec, size (nfft. plan. k, 2 ))
147
149
tmpOnes .= one (T)
0 commit comments