-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3D recon #324
base: master
Are you sure you want to change the base?
3D recon #324
Conversation
modified: ../KomaMRICore/src/rawdata/ISMRMRD.jl modified: KomaUI.jl
modified: ExportUIFunctions.jl
Managed to break 2D...looks like separate handling of 2D vs 3D is required in each function. Probably best to do non_ui funnctions first, test, then ui functions.
|
Thanks @curtcorum for all the effort!! This is similar to what I would have tried. I will try to take a further look asap. |
src/KomaUI.jl
Outdated
@@ -221,8 +221,8 @@ function KomaUI(; darkmode=true, frame=true, phantom_mode="2D", sim=Dict{String, | |||
acq_data = AcquisitionData(raw_aux) | |||
acq_data.traj[1].circular = false #Removing circular window | |||
acq_data.traj[1].nodes = acq_data.traj[1].nodes[1:2,:] ./ maximum(2*abs.(acq_data.traj[1].nodes[:])) #Normalize k-space to -.5 to .5 for NUFFT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this line is generating problems.
acq_data.traj[1].nodes = acq_data.traj[1].nodes[1:2,:] ./ maximum(2*abs.(acq_data.traj[1].nodes[:])) #Normalize k-space to -.5 to .5 for NUFFT | |
acq_data.traj[1].nodes = acq_data.traj[1].nodes[1:3,:] ./ maximum(2*abs.(acq_data.traj[1].nodes[:])) #Normalize k-space to -.5 to .5 for NUFFT |
KomaMRICore/src/rawdata/ISMRMRD.jl
Outdated
Nx = round(Int64, FOVx / Δx[1]) | ||
Ny = round(Int64, FOVy / Δx[2]) | ||
Nz = round(Int64, FOVy / Δx[3]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Ci gives an error saying that NadcsPerImage = floor(Int, Nadcs / Nz)
=> Nz = 0
. This line could be the problem.
Nz = round(Int64, FOVy / Δx[3]) | |
Nz = round(Int64, FOVz / Δx[3]) |
I wonder if Δx[3]
is Inf
.
Thanks and my pleasure, Carlos! I'm very interested in doing 3D simulation, especially of 3D Radial sequences, anything I can do to help. I certainly greatly appreciate your, @beorostica, and the other developers and users work on KomaMRI! |
Some comments/notes on 3D. The UI and plots get bogged down with large seq and raw files. It is potentially desirable for the UI to parameterize the maximum range of sequence blocks (or time range) for the seq slider. Then one could have a second slider, or stop rendering the slider and just show the range displayed in the main seq window. Not sure how to do this but something to think about. Also there are similar UI or plot slowing down issues when the 2D or 3D phantom has a lot of points. For the UI it might make sense to have some default and changeable parameters passed to KomaUI() in the manner of sim= and rec=:
|
You are absolutly right. I would just add ⬅️ ➡️ buttons and always render a max of 100 blocks maybe? The same could be done for plot_raw. @pvillacorta has played with something similar in #184 (f19a750). I was imagining something like this https://community.home-assistant.io/t/plotly-interactive-graph-card/347746 Not sure if this solution will fix the problem. |
modified: KomaMRIBase/src/datatypes/Sequence.jl
modified: KomaMRIBase/src/datatypes/Sequence.jl
modified: KomaMRICore/src/KomaMRICore.jl
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
…counter? modified: KomaMRICore/src/rawdata/ISMRMRD.jl
…RIReco. Need to configure reco_parameters. modified: KomaMRICore/src/rawdata/ISMRMRD.jl
modified: ISMRMRD.jl
More updates for FOV estimation
debugging
One more debug?
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
Local tests* of KomaMRICore went ok on Ubuntu 20.04
|
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
Probably the checks on the recon parameters should be moved to one place? |
…ata/ISMRMRD.jl modified: KomaMRICore/src/KomaMRICore.jl modified: KomaMRICore/src/rawdata/ISMRMRD.jl modified: KomaMRIFiles/src/Sequence/Pulseq.jl
…ot for spiral modified: KomaMRICore/src/rawdata/ISMRMRD.jl
Conflicts: (fixed) KomaMRICore/src/rawdata/ISMRMRD.jl Changes to be committed: modified: KomaMRIBase/Project.toml modified: KomaMRIBase/src/KomaMRIBase.jl modified: KomaMRICore/Project.toml modified: KomaMRICore/src/KomaMRICore.jl modified: KomaMRICore/src/rawdata/ISMRMRD.jl modified: KomaMRICore/src/simulation/SimulatorCore.jl modified: KomaMRICore/test/Project.toml deleted: KomaMRICore/test/initialize.jl new file: KomaMRICore/test/initialize_backend.jl modified: KomaMRICore/test/runtests.jl modified: KomaMRIFiles/Project.toml modified: KomaMRIFiles/src/KomaMRIFiles.jl modified: KomaMRIFiles/src/Phantom/Phantom.jl modified: KomaMRIPlots/Project.toml modified: KomaMRIPlots/src/KomaMRIPlots.jl modified: Project.toml modified: src/KomaMRI.jl modified: src/KomaUI.jl
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
modified: KomaMRICore/src/rawdata/ISMRMRD.jl
Was not matching ::Tuple{Vararg{Int64, D}} in MRIBase ~/.julia/packages/MRIBase/GskMD/src/Datatypes/AcqData.jl:21 modified: KomaMRICore/src/rawdata/ISMRMRD.jl
Need to have Nx, etc. be sequence structure and send separate matrix size for recon parameters. modified: Project.toml modified: src/KomaMRICore.jl modified: src/rawdata/ISMRMRD.jl modified: ../Project.toml
Conflicts: KomaMRICore/src/simulation/GPUFunctions.jl
Draft pull request for enabling 3D reconstruction.
See discussion: Reconstruction for 3D sequences #323