Skip to content
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

Motion Phantom #183

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
c6f6447
Added function read_phantom_file
pvillacorta May 9, 2023
f26d9bf
Created new simulation method: BlochMov
pvillacorta May 9, 2023
46b4179
Redefined Phantom struct: ux, uy, uz are now vectors
pvillacorta May 9, 2023
cbf84f0
Extended read_phantom_file function (movement)
pvillacorta May 10, 2023
2b6d71b
Included BlochMov method in Core
pvillacorta May 10, 2023
c6561f6
Export read_phantom_file
pvillacorta May 10, 2023
d84c0e2
export fftc, ifftc
pvillacorta May 11, 2023
b7b0df9
Added motion run_spin_precession and excitation
pvillacorta May 11, 2023
6344f9c
Initialize Phantom correctly
pvillacorta May 12, 2023
d7f1a30
Bloch method as the basis for BlochMov
pvillacorta May 22, 2023
2d5bd73
Beta parameters parsing to Float32
pvillacorta May 22, 2023
f81a2dc
Function read_nifti_file
pvillacorta May 22, 2023
5e325f0
export time_partitioner
pvillacorta Jun 19, 2023
cc3a427
Replaced u functions by the new motion parameters
pvillacorta Jun 19, 2023
d6655fe
Added 3 functions to calculate spin displacements
pvillacorta Jun 19, 2023
b259577
plot_phantom_map adapted to new Phantom format
pvillacorta Jun 23, 2023
170cf6e
Added some new .phantom files and their corresponding creation scripts
pvillacorta Jun 23, 2023
8e81357
Corrected errors in default Phantom values
pvillacorta Jun 23, 2023
8e818d4
Exported get_displacements, get_pieces_limits
pvillacorta Jun 23, 2023
6585c4a
Corrected string format error
pvillacorta Jun 23, 2023
6532e08
Moved time_partitioner and get_pieces_limits
pvillacorta Jun 23, 2023
a612c25
added NIfTI example maps
pvillacorta Jun 30, 2023
9ac350b
Function read_nifti_file improved
pvillacorta Jun 30, 2023
73a0bef
Added NIfTI, removed PlotlyJS from main module
pvillacorta Jun 30, 2023
4f79f7f
Optimizing interpolation functions is pending
pvillacorta Jun 30, 2023
aad1a57
Improved motion simulation (issue: only with small phantoms)
pvillacorta Aug 17, 2023
0a8eb25
Deleted FuncWrapper struct
pvillacorta Aug 28, 2023
90346c3
Changed read_phantom_NIfTI function to a new IO file
pvillacorta Aug 30, 2023
a1f42db
Improvement in simulation with no motion in any of the axes
pvillacorta Aug 30, 2023
a1ac911
Created get_itp_functions function and commented unused functions
pvillacorta Aug 30, 2023
9c57df1
Corrected plot_phantom_map function
pvillacorta Aug 30, 2023
149e988
Fixed: wrong function call
pvillacorta Aug 30, 2023
2dce21a
rotation_matrix function into Grad.jl file
pvillacorta Sep 19, 2023
6cdc965
GRE sequence function
pvillacorta Sep 19, 2023
17eab80
rotation_matrix function
pvillacorta Sep 19, 2023
14f9826
Fixed get_itp_functions for more than one segment
pvillacorta Sep 21, 2023
5c3b215
TODO: Consider trapezoid and not only FlatTop area
pvillacorta Sep 21, 2023
9f316ba
Using LinearAlgebra
pvillacorta Sep 21, 2023
e7370e5
Trapezoid pulses considered
pvillacorta Sep 22, 2023
d211860
RF_sinc bug
pvillacorta Sep 22, 2023
a610031
Fixed bug in rotation_matrix function
pvillacorta Sep 29, 2023
421f2b0
Deleted BlochMov, added SimpleMotion and ArbitraryMotion
pvillacorta Sep 29, 2023
c286f9d
Minor changes in initialize_motion
pvillacorta Oct 2, 2023
1ddab00
Modified heart_phantom and deleted some comments
pvillacorta Oct 2, 2023
fc94066
Modified heart_phantom and deleted some comments
pvillacorta Oct 2, 2023
34509c9
Export initialize_motion
pvillacorta Oct 2, 2023
62722d8
Addapted plot_phantom_map to new motion functions
pvillacorta Oct 2, 2023
591f175
Deleted some comments
pvillacorta Oct 2, 2023
bfe8b8c
New definitions for getindex and view
pvillacorta Oct 2, 2023
788f25a
New SE function
pvillacorta Oct 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions KomaMRICore/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MAT = "23992714-dd62-5051-b70f-ba57cb901cac"
MRIBase = "f7771a9a-6e57-4e71-863b-6e4b6a2f17df"
MRIFiles = "5a6f062f-bf45-497d-b654-ad17aae2a530"
NIfTI = "a3a9e032-41b5-5fc4-967a-a6b7a19844d3"
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
Scanf = "6ef1bc8b-493b-44e1-8d40-549aa65c4b41"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
ThreadsX = "ac1d9e8a-700a-412c-b207-f0111f4b6c0d"

[compat]
Expand Down
12 changes: 8 additions & 4 deletions KomaMRICore/src/KomaMRICore.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module KomaMRICore
#IMPORT PACKAGES
import Base.*, Base.+, Base.-, Base./, Base.vcat, Base.size, Base.abs, Base.getproperty
#General
using Reexport, ThreadsX, Pkg
using Reexport, ThreadsX, Pkg, LinearAlgebra
#Printing
using Scanf, ProgressMeter
#Datatypes
Expand All @@ -16,7 +16,9 @@ using MRIBase, MRIFiles
@reexport using MRIBase: Profile, RawAcquisitionData, AcquisitionData, AcquisitionHeader
@reexport using MRIFiles: ISMRMRDFile
#IO
using FileIO, HDF5, MAT, JLD2
using FileIO, HDF5, MAT, JLD2, NIfTI
# StatsBase
using StatsBase

global γ = 42.5774688e6; #Hz/T gyromagnetic constant for H1, JEMRIS uses 42.5756 MHz/T

Expand All @@ -34,6 +36,7 @@ include("io/Pulseq.jl")
include("datatypes/Phantom.jl")
include("io/JEMRIS.jl")
include("io/MRiLab.jl")
include("io/NIfTI.jl")
#Simulator
include("datatypes/simulation/DiscreteSequence.jl")
include("datatypes/simulation/Spinor.jl")
Expand All @@ -55,11 +58,12 @@ export read_seq
#ISMRMRD
export signal_to_raw_data
#Phantom
export brain_phantom2D, brain_phantom3D, read_phantom_jemris, read_phantom_MRiLab
export brain_phantom2D, brain_phantom3D, read_phantom_jemris, read_phantom_MRiLab, read_phantom_NIfTI, read_phantom_file
export initialize_motion
#Spinors
export Spinor, Rx, Ry, Rz, Q, Un
#Secondary
export get_kspace, rotx, roty, rotz
export get_kspace, rotx, roty, rotz, rotation_matrix
#Simulator
export simulate, simulate_slice_profile

Expand Down
Loading