API
This page contains documentation of the public API of MRIReco. In the Julia REPL one can access this documentation by entering the help mode with ?
and then writing the function for which the documentation should be shown.
Operators
Operators are implemented as subtypes of AbstractLinearOperator
, which is defined in the package LinearOperators.jl
. Such operators must provide a function implementing the product and a function implementing the product with the adjoint. Furthermore, the number of rows and columns of the operator must be specified.
Missing docstring for MRIReco.encodingOps2d_simple
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOps3d_simple
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOps2d_parallel
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOps3d_parallel
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOp2d_multiEcho
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOp3d_multiEcho
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOp2d_multiEcho_parallel
. Check Documenter's build log for details.
Missing docstring for MRIReco.encodingOp3d_multiEcho_parallel
. Check Documenter's build log for details.
Missing docstring for MRIReco.fourierEncodingOp2d
. Check Documenter's build log for details.
Missing docstring for MRIReco.fourierEncodingOp3d
. Check Documenter's build log for details.
MRIReco.ExplicitOp
— MethodExplicitOp(shape::NTuple{D,Int64}, tr::Trajectory, correctionmap::Array{ComplexF64,D}
; echoImage::Bool=false, kargs...) where D
generates a ExplicitOp
which explicitely evaluates the MRI Fourier signal encoding operator.
Arguments:
shape::NTuple{D,Int64}
- size of image to encode/reconstructtr::Trajectory
- Trajectory with the kspace nodes to samplecorrectionmap::Array{ComplexF64,D}
- fieldmap for the correction of off-resonance effectsechoImage::Bool=false
- if true sampling times will only be considered relative to the echo time this results in complex valued image even for real-valued input.kargs
- additional keyword arguments
Missing docstring for RegularizedLeastSquares.FFTOp(T::Type, shape::Tuple, shift=true)
. Check Documenter's build log for details.
Missing docstring for MRIReco.NFFTOp(shape::Tuple, tr::Trajectory; nodes=nothing, kargs...)
. Check Documenter's build log for details.
MRIReco.FieldmapNFFTOp
— MethodFieldmapNFFTOp(shape::NTuple{D,Int64}, tr::Trajectory,
correctionmap::Array{ComplexF64,D};
method::String="nfft",
echoImage::Bool=true,
alpha::Float64=1.75,
m::Float64=3.0,
K=20,
kargs...) where D
generates a FieldmapNFFTOp
which evaluates the MRI Fourier signal encoding operator, including B0-inhomogeneities using time-segmented NFFTs.
Arguments:
shape::NTuple{D,Int64}
- size of image to encode/reconstructtr::Trajectory
- Trajectory with the kspace nodes to samplecorrectionmap::Array{ComplexF64,D}
- fieldmap for the correction of off-resonance effects- (
method::String="nfft"
) - method to use for time-segmentation when correctio field inhomogeneities - (
echoImage::Bool=false
) - if true sampling times will only be considered relative to the echo time this results in complex valued image even for real-valued input. - (
alpha::Float64=1.75
) - oversampling factor for interpolation - (
m::Float64=3.0
) - truncation size of interpolation kernel - (
K=20
) - number of translates for LeastSquares approaches (not NFFT-approach) to time-segmentation - (
kargs
) - additional keyword arguments
MRIReco.SamplingOp
— FunctionSamplingOp(pattern::Array{Int}, shape::Tuple)
buildsa LinearOperator
which only returns the vector elements at positions indicated by pattern.
Arguents
pattern::Array{Int}
- indices to sampleshape::Tuple
- size of the array to sample
MRIReco.SensitivityOp
— FunctionSensitivityOp(sensMaps::Matrix{ComplexF64}, numEchoes::Int=1)
builds a LinearOperator
which performs multiplication of a given image with the coil sensitivities specified in sensMaps
Arguments
sensMaps::Matrix{ComplexF64}
- sensitivity maps ( 1. dim -> voxels, 2. dim-> coils)numEchoes
- number of contrasts to which the opetaor will be applied
SensitivityOp(sensMaps::Array{T,4}, numContr::Int=1) where T
builds a LinearOperator
which performs multiplication of a given image with the coil sensitivities specified in sensMaps
Arguments
sensMaps::Array{T,4}
- sensitivity maps ( 1.-3. dim -> voxels, 4. dim-> coils)numContr
- number of contrasts to which the opetaor will be applied
MRIReco.SparseOp
— FunctionSparseOp(name::AbstractString, shape::NTuple{N,Int64}; kargs...) where N
generates the sparsifying transform (<: AbstractLinearOperator
) given its name.
Arguments
name::AbstractString
- name of the sparsifying transformshape::NTuple{N,Int64}
- size of the Array to be transformed- (
kargs
) - additional keyword arguments
Missing docstring for MRIReco.RegularizedLeastSquares.WeightingOp
. Check Documenter's build log for details.
Datatypes
Missing docstring for MRIReco.AcquisitionData
. Check Documenter's build log for details.
Missing docstring for MRIReco.AcquisitionData(tr::T,kdata::Array{Matrix{ComplexF64},3} ; seqInfo=Dict{Symbol,Any}() , idx=nothing , encodingSize=Int64[0,0,0] , fov=Float64[0,0,0] , kargs...) where T <: Union{Trajectory,Vector{Trajectory}}
. Check Documenter's build log for details.
Missing docstring for MRIReco.trajectory(acqData::AcquisitionData,i::Int64=1)
. Check Documenter's build log for details.
Missing docstring for MRIReco.numContrasts(acqData::AcquisitionData)
. Check Documenter's build log for details.
Missing docstring for MRIReco.numChannels
. Check Documenter's build log for details.
Missing docstring for MRIReco.numSlices
. Check Documenter's build log for details.
Missing docstring for MRIReco.numRepetitions
. Check Documenter's build log for details.
Missing docstring for MRIReco.kData
. Check Documenter's build log for details.
Missing docstring for MRIReco.multiEchoData
. Check Documenter's build log for details.
Missing docstring for MRIReco.multiCoilData
. Check Documenter's build log for details.
Missing docstring for MRIReco.multiCoilMultiEchoData
. Check Documenter's build log for details.
Missing docstring for MRIReco.profileData
. Check Documenter's build log for details.
Missing docstring for MRIReco.samplingDensity
. Check Documenter's build log for details.
Missing docstring for MRIReco.changeEncodingSize2D
. Check Documenter's build log for details.
Missing docstring for MRIReco.convert3dTo2d
. Check Documenter's build log for details.
Missing docstring for MRIReco.RawAcquisitionData
. Check Documenter's build log for details.
Missing docstring for MRIReco.trajectory(f::RawAcquisitionData; slice::Int=1, contrast::Int=1)
. Check Documenter's build log for details.
Missing docstring for MRIReco.rawdata(f::RawAcquisitionData)
. Check Documenter's build log for details.
Missing docstring for MRIReco.AcquisitionData(f::RawAcquisitionData)
. Check Documenter's build log for details.
Missing docstring for MRIReco.RawAcquisitionData(f::ISMRMRDFile, dataset="dataset")
. Check Documenter's build log for details.
Missing docstring for MRIReco.AcquisitionData(f::ISMRMRDFile, dataset="dataset")
. Check Documenter's build log for details.
Trajectories
Missing docstring for MRIReco.Trajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.trajectory(trajName::AbstractString, numProfiles::Int, numSamplingPerProfile::Int; MRIReco.numSlices::Int64=1, TE::Float64=0.0, AQ::Float64=1.e-3, kargs...)
. Check Documenter's build log for details.
Missing docstring for MRIReco.string(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.echoTime(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.acqTimePerProfile(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.numProfiles(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.numSamplingPerProfile(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.numSlices(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.isCircular(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.isCartesian(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.dims(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.kspaceNodes(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.readoutTimes(tr::Trajectory)
. Check Documenter's build log for details.
Missing docstring for MRIReco.CartesianTrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.EPITrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.OneLine2dTrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.RadialTrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.SpiralTrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.SpiralTrajectoryVarDens
. Check Documenter's build log for details.
Missing docstring for MRIReco.CartesianTrajectory3D
. Check Documenter's build log for details.
Missing docstring for MRIReco.KooshballTrajectory
. Check Documenter's build log for details.
Missing docstring for MRIReco.StackOfStarsTrajectory
. Check Documenter's build log for details.
Sequences
Missing docstring for MRIReco.MESequence
. Check Documenter's build log for details.
Missing docstring for MRIReco.numContrasts(seq::MESequence)
. Check Documenter's build log for details.
Missing docstring for MRIReco.echoTimes(seq::MESequence)
. Check Documenter's build log for details.
Missing docstring for MRIReco.flipAngles(seq::MESequence)
. Check Documenter's build log for details.
Missing docstring for MRIReco.echoAmplitudes(seq::MESequence, R1::Float64, R2::Float64, numStates=nothing)
. Check Documenter's build log for details.
Missing docstring for MRIReco.epgAmplitudes(seq::MESequence, R1::Real, R2::Real, numStates=nothing)
. Check Documenter's build log for details.
Missing docstring for MRIReco.epgRotation
. Check Documenter's build log for details.
Missing docstring for MRIReco.epgRelaxation
. Check Documenter's build log for details.
Missing docstring for MRIReco.epgDephasing
. Check Documenter's build log for details.
Missing docstring for MRIReco.rfRotation
. Check Documenter's build log for details.
Sampling
MRIReco.sample
— Functionsample(shape::NTuple{N,Int64}, redFac::Float64, patFunc::String; kargs...)
generates a Vector{Int64}
of indices to sample an Array of of size shape
with a reduction factor redFac
.
Arguments
shape::NTuple{N,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factorpatFunc::String
- name of the sampling function ("random, "regular", "lines", "poisson" or "vdPoisson")
MRIReco.sample_kspace
— Methodsample_kspace(data::AbstractArray, redFac::Float64, patFunc::String; kargs...)
subsamples the Array data
with a reduction factor redFac
and returns both the subsampled Array (as a vector) and the sampled indices (as a vector)
Arguments
data::AbstractArray
- array to be sampledredFac::Float64
- subsampling factorpatFunc::String
- name of the sampling function ("random, "regular", "lines", "poisson" or "vdPoisson")kargs...
- addional keyword arguments
MRIReco.sample_kspace
— Methodsample_kspace(acqData::AcquisitionData,redFac::Float64,
patFunc::AbstractString; rand=true, profiles=true,
seed = 1234, kargs...)
subsamples the data in acqData
with reduction factor redFac
and returns a new AcquisitionData
object.
Arguments
acqData::AcquisitionDatay
- AcquisitionData to be sampledredFac::Float64
- subsampling factorpatFunc::String
- name of the sampling function ("random, "regular", "lines", "poisson" or "vdPoisson")- (
rand=true
) - use different patterns for the different contrasts - (
profiles=true
) - sample complete profiles - (
seed=1234
) - seed for the random number generator kargs...
- addional keyword arguments
MRIReco.sample_regular
— Methodsample_regular(shape::Tuple{Int64,Int64},redFac::Float64;kargs...)
generates a regular sampling pattern for an Array of size shape
with a subsampling factor redFac
.
Arguments
shape::NTuple{N,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factor
MRIReco.sample_random
— Methodsample_random(shape::Tuple{Int64,Int64},redFac::Float64;calsize::Int64=0,kargs...)
generates a random sampling pattern for an Array of size shape
with a subsampling factor redFac
.
Arguments
shape::NTuple{N,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factor- (
calsize::Int64=0
) - size of the fully sampled calibration area
MRIReco.sample_poissondisk
— Methodsample_poissondisk(shape::Tuple{Int64,Int64},redFac::Float64;calsize::Int64=0, seed::Int64=1234,kargs...)
generates a Poisson disk sampling pattern for an Array of size shape
with a subsampling factor redFac
.
Arguments
shape::NTuple{2,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factor- (
calsize::Int64=0
) - size of the fully sampled calibration area - (
seed=1234
) - seed for the random number generator
MRIReco.sample_vdpoisson
— Methodsample_vdpoisson(shape::Tuple{Int64,Int64},redFac::Float64; seed::Int64=1234,kargs...)
generates a variable density Poisson disk sampling pattern for an Array of size shape
with a subsampling factor redFac
.
Arguments
shape::NTuple{2,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factor- (
seed=1234
) - seed for the random number generator
MRIReco.sample_lines
— Methodsample_lines(shape::Tuple{Int64,Int64},redFac::Float64;sampleFunc="random",kargs...)
generates a pattern to sample complete lines of an Array of size shape
with a subsampling factor redFac
.
Arguments
shape::NTuple{N,Int64}
- size of the Array to be sampledredFac::Float64
- subsampling factorsampleFunc="random"
- name of the sampling function ("random, "regular", "lines", "poisson" or "vdPoisson")kargs...
- addional keyword arguments
MRIReco.calculateIncoherence
— FunctioncalculateIncoherence(acqData::AcquisitionData, recoParams::Dict, slice=1)
calculates the incoherence of the sampling pattern contained in acqData
Arguments
acqData::AcquisitionData
- AcquisitionData containing the sampling patternrecoParams::Dict
- Dict containing reconstruction parameters- (
slice=1
) - slice for which to calculate the incoherence
Simulation
Missing docstring for MRIReco.simulation(image::Array{T,3}, simParams::Dict) where T<:Union{ComplexF64,Float64}
. Check Documenter's build log for details.
MRIReco.simulation
— Methodsimulation(image::Array{T,3}, simParams::Dict, filename::String) where T<:Union{Complex{<:AbstractFloat},AbstractFloat}
Performs the same simulation as simulation(image, simParams)
and saves the result in a file with name filename
MRIReco.simulation
— Methodsimulation(image::Array{T,2}, simParams::Dict) where T<:Union{Complex{<:AbstractFloat},AbstractFloat}
Simulate MRI raw data from given image
data. All simulation parameters are passed to the function in the form of a dictionary.
Missing docstring for MRIReco.simulation(tr::Trajectory , image::Array{ComplexF64} , correctionMap = [] ; opName="fast" , senseMaps=[] , verbose=true , kargs...)
. Check Documenter's build log for details.
Missing docstring for MRIReco.simulation(seq::AbstractSequence, tr::Vector{Trajectory} , image::Array{ComplexF64,3} ; opName="fast" , r1map=[] , r2map=[] , fmap=[] , senseMaps=[] , verbose=true , kargs...)
. Check Documenter's build log for details.
MRIReco.addNoise
— FunctionAdds average white gaussian noise to the signal x
Arguments
x::Vector
- signal vector- 'snr::Float64' - target SNR
MRIReco.addNoise
— Methodreturn AcquisitionData with white gaussian noise
Arguments
acqData::AcquisitionData
- AcquisitionData- 'snr::Float64' - target SNR
MRIReco.addNoise!
— Methodadd white gaussian noise to AcquisitionData with (in-place)
Arguments
acqData::AcquisitionData
- AcquisitionData- 'snr::Float64' - target SNR
MRIReco.birdcageSensitivity
— FunctionbirdcageSensitivity(N::Int64, ncoils::Int64, relative_radius::Float64)
Computes the sensitivity maps for each coils that are arranged in a birdcage manner.
MRIReco.quadraticFieldmap
— FunctionquadraticFieldmap(Nx::Int64, Ny::Int64, maxOffresonance::Float64=125.0)
Computes a parabolic fieldmap.
Reconstruction
MRIReco.reconstruction
— Methodreconstruction(acqData::AcquisitionData, recoParams::Dict)
Performs image reconstruction of an AcquisitionData object. Parameters are specified in a dictionary.
Reconstruction types are specified by the symbol :reco
. Valid reconstruction names are:
- :direct - direct Fourier reconstruction
- :standard - iterative reconstruction for all contrasts, coils & slices independently
- :multiEcho - iterative joint reconstruction of all echo images
- :multiCoil - SENSE-type iterative reconstruction
- :multiCoilMultiEcho - SENSE-type iterative reconstruction of all echo images
MRIReco.reconstruction
— Methodreconstruction(acqData::AcquisitionData, recoParams::Dict,filename::String; force=false)
performs the same image reconstrucion as reconstruction(acqData::AcquisitionData, recoParams::Dict)
and saves the image in a file with name filename
. If force=false
, the reconstructed image is loaded from the the file filename
if the latter is present.
MRIReco.setupIterativeReco
— FunctionsetupIterativeReco(acqData::AcquisitionData, recoParams::Dict)
builds relevant parameters and operators from the entries in recoParams
relevant parameters
reconSize::NTuple{2,Int64}
- size of image to reconstructweights::Vector{Vector{Complex{<:AbstractFloat}}}
- sampling density of the trajectories in acqDatasparseTrafo::AbstractLinearOperator
- sparsifying transformationreg::Regularization
- Regularization to be usednormalize::Bool
- adjust regularization parameter according to the size of k-space datasolvername::String
- name of the solver to usesenseMaps::Array{Complex{<:AbstractFloat}}
- coil sensitivitiescorrectionMap::Array{Complex{<:AbstractFloat}}
- fieldmap for the correction of off-resonance effectsmethod::String="nfft"
- method to use for time-segmentation when correctio field inhomogeneities
sparseTrafo
and reg
can also be speficied using their names in form of a string.
Missing docstring for MRIReco.reconstruction_direct_2d
. Check Documenter's build log for details.
Missing docstring for MRIReco.reconstruction_direct_3d
. Check Documenter's build log for details.
MRIReco.reconstruction_simple
— FunctionPerforms iterative image reconstruction independently for the data of all coils, contrasts and slices
Arguments
acqData::AcquisitionData
- AcquisitionData objectreconSize::NTuple{2,Int64}
- size of image to reconstructreg::Regularization
- Regularization to be usedsparseTrafo::AbstractLinearOperator
- sparsifying transformationweights::Vector{Vector{Complex{<:AbstractFloat}}}
- sampling density of the trajectories in acqDatasolvername::String
- name of the solver to use- (
normalize::Bool=false
) - adjust regularization parameter according to the size of k-space data - (
params::Dict{Symbol,Any}
) - Dict with additional parameters
MRIReco.reconstruction_multiEcho
— FunctionPerforms a iterative image reconstruction jointly for all contrasts. Different slices and coil images are reconstructed independently.
Arguments
acqData::AcquisitionData
- AcquisitionData objectreconSize::NTuple{2,Int64}
- size of image to reconstructreg::Regularization
- Regularization to be usedsparseTrafo::AbstractLinearOperator
- sparsifying transformationweights::Vector{Vector{Complex{<:AbstractFloat}}}
- sampling density of the trajectories in acqDatasolvername::String
- name of the solver to use- (
normalize::Bool=false
) - adjust regularization parameter according to the size of k-space data - (
params::Dict{Symbol,Any}
) - Dict with additional parameters
MRIReco.reconstruction_multiCoil
— FunctionPerforms a SENSE-type iterative image reconstruction. Different slices and contrasts images are reconstructed independently.
Arguments
acqData::AcquisitionData
- AcquisitionData objectreconSize::NTuple{2,Int64}
- size of image to reconstructreg::Regularization
- Regularization to be usedsparseTrafo::AbstractLinearOperator
- sparsifying transformationweights::Vector{Vector{Complex{<:AbstractFloat}}}
- sampling density of the trajectories in acqDatasolvername::String
- name of the solver to usesenseMaps::Array{Complex{<:AbstractFloat}}
- coil sensitivities- (
normalize::Bool=false
) - adjust regularization parameter according to the size of k-space data - (
params::Dict{Symbol,Any}
) - Dict with additional parameters
MRIReco.reconstruction_multiCoilMultiEcho
— FunctionPerforms a SENSE-type iterative image reconstruction which reconstructs all contrasts jointly. Different slices are reconstructed independently.
Arguments
acqData::AcquisitionData
- AcquisitionData objectreconSize::NTuple{2,Int64}
- size of image to reconstructreg::Regularization
- Regularization to be usedsparseTrafo::AbstractLinearOperator
- sparsifying transformationweights::Vector{Vector{Complex{<:AbstractFloat}}}
- sampling density of the trajectories in acqDatasolvername::String
- name of the solver to usesenseMaps::Array{Complex{<:AbstractFloat}}
- coil sensitivities- (
normalize::Bool=false
) - adjust regularization parameter according to the size of k-space data - (
params::Dict{Symbol,Any}
) - Dict with additional parameters
MRIReco.espirit
— Functionespirit(acqData::AcquisitionData, ksize::NTuple{2,Int} = (6,6), ncalib::Int = 24
; eigThresh_1::Number=0.02, eigThresh_2::Number=0.95, nmaps = 1)
espirit(calibData::Array{T}, imsize::NTuple{N,Int}, ksize::NTuple{N,Int} = (6,6[,6])
; eigThresh_1::Number = 0.02, eigThresh_2::Number = 0.95, nmaps = 1)
Obtains coil sensitivities from a calibration area using ESPIRiT. The code is adapted from the MATLAB code by Uecker et al. (cf. Uecker et al. "ESPIRiT—an eigenvalue approach to autocalibrating parallel MRI: Where SENSE meets GRAPPA"). The matlab code can be found at: [http://people.eecs.berkeley.edu/~mlustig/Software.html]
Method 1
The first method of this function works with 2D/multi-slice data in the MRIReco.jl data format:
espirit(acqData::AcquisitionData, ksize::NTuple{2,Int} = (6,6), ncalib::Int = 24
; eigThresh_1::Number=0.02, eigThresh_2::Number=0.95)
Required Arguments
acqData::AcquisitionData
- AcquisitionData
Optional Arguments
ksize::NTuple{2,Int64}
- size of the k-space kernel;default = (6,6)
ncalib::Int64
- number of calibration points in each dimension;default = 30
Keyword Arguments
eigThresh_1::Number=0.02
- threshold for the singular values of the calibration matrix (relative to the largest value); reduce for more accuracy, increase for saving memory and computation time.eigThresh_2::Number=0.95
- threshold to mask the final maps: for each voxel, the map will be set to 0, if, for this voxel, no singular value >eigThresh_2
exists.nmaps = 1
- Number of maps that are calcualted. Set to 1 for regular SENSE; set to 2 for soft-SENSE (cf. Uecker et al. "ESPIRiT—an eigenvalue approach to autocalibrating parallel MRI: Where SENSE meets GRAPPA").
Method 2
The second method of this function works with single slice 2D or 3D data; the first argument is the calibration data, i.e. the cropped center of k-space:
espirit(calibData::Array{T}, imsize::NTuple{N,Int}, ksize::NTuple{N,Int} = (6,6[,6])
; eigThresh_1::Number = 0.02, eigThresh_2::Number = 0.95, nmaps = 1)
Required Arguments
calibData::Array{T}
- Center of k-space in the formatkx × ky [× kz] × coils
, where the kz dimension is optional. The typeT
of the input data determines the type of the calculated maps. Reasonable choises are in the range ofNx = Ny [= Nz] = 24
.imsize::NTuple{N,Int}
- matrix size of the final maps
Optional Arguments
ksize::NTuple{N,Int}
- number of calibration points in each dimension; the default is(6,6)
for 2D and(6,6,6)
for 3D.
Keyword Arguments
eigThresh_1::Number=0.02
- threshold for the singular values of the calibration matrix (relative to the largest value); reduce for more accuracy, increase for saving memory and computation time.eigThresh_2::Number=0.95
- threshold to mask the final maps: for each voxel, the map will be set to 0, if, for this voxel, no singular value >eigThresh_2
exists.nmaps = 1
- Number of maps that are calcualted. Set to 1 for regular SENSE; set to 2 for soft-SENSE (cf. Uecker et al. "ESPIRiT—an eigenvalue approach to autocalibrating parallel MRI: Where SENSE meets GRAPPA").use_poweriterations = true
- flag to determine if power iterations are used; power iterations are only used ifnmaps == 1
. They provide speed benefits over the full eigen decomposition, but are an approximation.
MRIReco.nrmsd
— Functionnrmsd(I,Ireco)
computes the normalized root mean squared error of the image Ireco
with respect to the image I
.