AbstractNFFTs.AbstractComplexFTPlan
— TypeAbstractComplexFTPlan{T,D,R}
Abstract type for either an NFFT plan or an NNFFT plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractFTPlan
— TypeAbstractFTPlan{T,D,R}
Abstract type for any NFFT-like plan (NFFT, NFFT, NFCT, NFST).
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractNFCTPlan
— TypeAbstractNFCTPlan{T,D,R}
Abstract type for an NFCT plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractNFFTPlan
— TypeAbstractNFFTPlan{T,D,R}
Abstract type for an NFFT plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractNFSTPlan
— TypeAbstractNFSTPlan{T,D,R}
Abstract type for an NFST plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractNNFFTPlan
— TypeAbstractNNFFTPlan{T,D,R}
Abstract type for an NNFFT plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.AbstractRealFTPlan
— TypeAbstractRealFTPlan{T,D,R}
Abstract type for either an NFCT plan or an NFST plan.
- T is the element type (Float32/Float64)
- D is the number of dimensions of the input array.
- R is the number of dimensions of the output array.
AbstractNFFTs.accuracyParams
— MethodaccuracyParams(; [m, σ, reltol]) -> m, σ, reltol
Calculate accuracy parameters m, σ, reltol based on either
- reltol
or
- m, σ
TODO: Right now, the oversampling parameter is not taken into account, i.e. σ=2.0 is assumed
AbstractNFFTs.nfct
— Methodnfft(k, f, rest...; kwargs...)
calculates the nfft of the array f
for the nodes contained in the matrix k
The output is a vector of length M=size(nodes,2)
AbstractNFFTs.nfct_transpose
— Methodnfft_adjoint(k, N, fHat, rest...; kwargs...)
calculates the adjoint nfft of the vector fHat
for the nodes contained in the matrix k
. The output is an array of size N
AbstractNFFTs.nfft
— Methodnfft(k, f, rest...; kwargs...)
calculates the nfft of the array f
for the nodes contained in the matrix k
The output is a vector of length M=size(nodes,2)
AbstractNFFTs.nfft_adjoint
— Methodnfft_adjoint(k, N, fHat, rest...; kwargs...)
calculates the adjoint nfft of the vector fHat
for the nodes contained in the matrix k
. The output is an array of size N
AbstractNFFTs.nfst
— Methodnfft(k, f, rest...; kwargs...)
calculates the nfft of the array f
for the nodes contained in the matrix k
The output is a vector of length M=size(nodes,2)
AbstractNFFTs.nfst_transpose
— Methodnfft_adjoint(k, N, fHat, rest...; kwargs...)
calculates the adjoint nfft of the vector fHat
for the nodes contained in the matrix k
. The output is an array of size N
AbstractNFFTs.nodes!
— Methodnodes!(p, k) -> p
Change nodes k
in the plan p
operation and return the plan.
AbstractNFFTs.size_in
— Methodsize_in(p)
Size of the input array for the plan p (NFFT/NFCT/NFST/NNFFT). The returned tuple has R
entries. Note that this will be the output size for the transposed / adjoint operator.
AbstractNFFTs.size_out
— Methodsize_out(p)
Size of the output array for the plan p (NFFT/NFCT/NFST/NNFFT). The returned tuple has R
entries. Note that this will be the input size for the transposed / adjoint operator.
Base.:*
— Method *(p, f) -> fHat
For a non-directional D
dimensional plan p
this calculates the NFFT/NNFFT of a D
dimensional array f
of size N
. fHat
is a vector of length M
. (M
and N
are defined in the plan creation)
For a directional D
dimensional plan p
both f
and fHat
are D
dimensional arrays, and the dimension specified in the plan creation is affected.
Base.:*
— Method *(p, f) -> fHat
For a non-directional D
dimensional plan p
this calculates the NFCT/NFST of a D
dimensional array f
of size N
. fHat
is a vector of length M
. (M
and N
are defined in the plan creation)
For a directional D
dimensional plan p
both f
and fHat
are D
dimensional arrays, and the dimension specified in the plan creation is affected.
LinearAlgebra.mul!
— Methodmul!(fHat, p, f) -> fHat
Inplace NFFT/NFCT/NFST/NNFFT transforming the D
dimensional array f
to the R
dimensional array fHat
. The transformation is applied along D-R+1
dimensions specified in the plan p
.
LinearAlgebra.mul!
— Methodmul!(f, p, fHat) -> f
Inplace adjoint NFFT/NNFFT transforming the R
dimensional array fHat
to the D
dimensional array f
. The transformation is applied along D-R+1
dimensions specified in the plan p
.
LinearAlgebra.mul!
— Methodmul!(f, p, fHat) -> f
Inplace transposed NFCT/NFST transforming the R
dimensional array fHat
to the D
dimensional array f
. The transformation is applied along D-R+1
dimensions specified in the plan p
.