@@ -19,7 +19,7 @@ function LinearOperatorCollection.NFFTOp(::Type{T};
1919 return NFFTOpImpl (shape, nodes; toeplitz, oversamplingFactor, kernelSize, kargs... )
2020end
2121
22- mutable struct NFFTOpImpl{T, vecT, P <: AbstractNFFTPlan } <: NFFTOp{T}
22+ mutable struct NFFTOpImpl{T, vecT, P} <: NFFTOp{T, P }
2323 nrow :: Int
2424 ncol :: Int
2525 symmetric :: Bool
@@ -56,17 +56,17 @@ function NFFTOpImpl(shape::Tuple, tr::AbstractMatrix{T}; toeplitz, oversamplingF
5656end
5757
5858function produ! (y:: AbstractVector , plan:: AbstractNFFTPlan , x:: AbstractVector )
59- mul! (y, plan, reshape (x,plan. N ))
59+ mul! (y, plan, reshape (x,size_in ( plan) ))
6060end
6161
6262function ctprodu! (x:: AbstractVector , plan:: AbstractNFFTPlan , y:: AbstractVector )
63- mul! (reshape (x, plan. N ), adjoint (plan), y)
63+ mul! (reshape (x, size_in ( plan) ), adjoint (plan), y)
6464end
6565
6666
6767function Base. copy (S:: NFFTOpImpl{T, vecT, P} ) where {T, vecT, P}
6868 plan = copy (S. plan)
69- return NFFTOpImpl {T, vecT, P} (size (plan. k,2 ), prod (plan. N ), false , false
69+ return NFFTOpImpl {T, vecT, P} (size (plan. k,2 ), prod (size_in ( plan) ), false , false
7070 , (res,x) -> produ! (res,plan,x)
7171 , nothing
7272 , (res,y) -> ctprodu! (res,plan,y)
107107
108108LinearOperators. storage_type (op:: NFFTToeplitzNormalOp ) = typeof (op. Mv5)
109109
110- function NFFTToeplitzNormalOp (shape, W, fftplan, ifftplan, λ, xL1:: matT , xL2:: matT ) where {T, D, matT <: AbstractArray{T, D} }
110+ function LinearOperatorCollection . NFFTToeplitzNormalOp (shape, W, fftplan, ifftplan, λ, xL1:: matT , xL2:: matT ) where {T, D, matT <: AbstractArray{T, D} }
111111
112112 function produ! (y, shape, fftplan, ifftplan, λ, xL1, xL2, x)
113113 xL1 .= 0
@@ -130,8 +130,8 @@ function NFFTToeplitzNormalOp(shape, W, fftplan, ifftplan, λ, xL1::matT, xL2::m
130130 , shape, W, fftplan, ifftplan, λ, xL1, xL2)
131131end
132132
133- function NFFTToeplitzNormalOp (nfft:: NFFTOp{T} , W= nothing ; kwargs... ) where {T}
134- shape = nfft. plan. N
133+ function LinearOperatorCollection . NFFTToeplitzNormalOp (nfft:: NFFTOp{T} , W= nothing ; kwargs... ) where {T}
134+ shape = size_in ( nfft. plan)
135135
136136 tmpVec = similar (nfft. Mv5, (2 .* shape). .. )
137137 tmpVec .= zero (T)
@@ -161,12 +161,12 @@ function NFFTToeplitzNormalOp(nfft::NFFTOp{T}, W=nothing; kwargs...) where {T}
161161 xL1 = tmpVec
162162 xL2 = similar (xL1)
163163
164- return NFFTToeplitzNormalOp (shape, W, fftplan, ifftplan, λ, xL1, xL2)
164+ return LinearOperatorCollection . NFFTToeplitzNormalOp (shape, W, fftplan, ifftplan, λ, xL1, xL2)
165165end
166166
167167function LinearOperatorCollection. normalOperator (S:: NFFTOpImpl{T} , W = nothing ; copyOpsFn = copy, kwargs... ) where T
168168 if S. toeplitz
169- return NFFTToeplitzNormalOp (S,W; kwargs... )
169+ return LinearOperatorCollection . NFFTToeplitzNormalOp (S,W; kwargs... )
170170 else
171171 return NormalOp (eltype (S); parent = S, weights = W)
172172 end
175175function Base. copy (A:: NFFTToeplitzNormalOp{T,D,W} ) where {T,D,W}
176176 fftplan = plan_fft ( zeros (T, 2 .* A. shape); flags= FFTW. MEASURE)
177177 ifftplan = plan_ifft (zeros (T, 2 .* A. shape); flags= FFTW. MEASURE)
178- return NFFTToeplitzNormalOp (A. shape, A. weights, fftplan, ifftplan, A. λ, copy (A. xL1), copy (A. xL2))
178+ return LinearOperatorCollection . NFFTToeplitzNormalOp (A. shape, A. weights, fftplan, ifftplan, A. λ, copy (A. xL1), copy (A. xL2))
179179end
0 commit comments