Closed aTrotier closed 1 year ago
Reconstruction failed because only one trajectory is available in the AcquisitionData structure for Multi-echo acquisition
Example :
# ## Setup and define global variable using CairoMakie using ImageUtils: shepp_logan using LinearAlgebra using Noise, Random using MRIReco, MRISimulation, MRICoilSensitivities, MRISampling #using QuantitativeMRI N = 128 T = ComplexF32 # ## simulate T2 shepp logan phantom x = T.(shepp_logan(N)) rmap = 5.0 * abs.(x) coilsens = T.(birdcageSensitivity(N, 8, 1.5)) TEnum = collect(2.e-2:2.e-2:50.e-2) # simulation params = Dict{Symbol,Any}() params[:simulation] = "fast" params[:trajName] = "Cartesian" params[:numProfiles] = floor(Int64, N) params[:numSamplingPerProfile] = N params[:r2map] = rmap params[:T_echo] = TEnum params[:seqName] = "ME" params[:refocusingAngles] = Float64.(repeat([pi], length(TEnum))) params[:senseMaps] = coilsens acqData = simulation(real(x), params) for i = 1:size(acqData.kdata,1) add_gauss!(acqData.kdata[i,1,1],0.3) end # ## Subsampling the kspace for echo = 1:length(TEnum) cal_disk = sample_vdpoisson((N,N),8.0;calsize = 14) end mask = zeros(Int32,N,N) mask[cal_disk] .= 1 heatmap(mask) kspace = kDataCart(acqData) kspace = kspace .* mask acqData_u = AcquisitionData(kspace) # Reconstruct the image with a standard reconstruction params = Dict{Symbol,Any}() params[:reconSize] = (N, N) params[:reco] = "multiCoilMultiEcho" #params[:sparseTrafo] = "nothing" #"nothing" #sparse trafo params[:regularization] = "L2" params[:λ] = 1.e-3 params[:iterations] = 1 params[:solver] = "cgnr" params[:senseMaps] = reshape(coilsens, N, N, 1, 8) im_x = reconstruction(acqData_u, params).data
solved in #148
Reconstruction failed because only one trajectory is available in the AcquisitionData structure for Multi-echo acquisition
Example :