JuliaHealth / KomaMRI.jl

Koma is a Pulseq-compatible framework to efficiently simulate Magnetic Resonance Imaging (MRI) acquisitions. The main focus of this package is to simulate general scenarios that could arise in pulse sequence development.
https://JuliaHealth.github.io/KomaMRI.jl/dev/
MIT License
112 stars 20 forks source link

Spoilers generate spurious echoes #52

Open cncastillo opened 2 years ago

cncastillo commented 2 years ago

Spurious echoes are generated in the same direction as the gradient spoilers. I am not sure if this is expected due to the lack of T2*-decay, or an effect that arises due to the lack of "continuous spins" (like in Extended Phase Graphs), or both.

Interleaved spiral acquisition: image Results in k-space: image Comparison of the signal with JEMRIS: image

cncastillo commented 2 years ago

This can be solved by adding tiny perturbation of spins' position (this is what JEMRIS does).

Previous:

image

With perturbations

image

The problems is that we add "spin noise".

cncastillo commented 2 years ago

Another idea was to use that and then .

This works for spiral and cartesian GE, and gives better results than JEMRIS (right) image

But fails for EPI sequences with long sections without an RF pulse.

cncastillo commented 11 months ago

I think when we implement another MagVoxel<:SpinStateRepresentation where we could specify a voxel size and number of spins per dimension. Also, ideally this would be done with EPG<:SpinStateRepresentation but it requires some theoretical development to arbitrary gradients and RFs. We would need to check what is the equivalent of the trapezoidal rule in this case.

beorostica commented 8 months ago

I'm just going to leave here some related insights from @cncastillo in a previous email: """Spoiled gradient echo sequence can have problems for Bloch simulations, because of spurious echoes produced by the discretization of the spins' positions (that produce replicas in k-space that are "measured" with the spoiler). The spoiled GRE in Koma probably works because the spoilers point in z, and in the examples you show it is played along the x-axis. The ideal fix would be to implement an EPG sim method, but as I finishing my PhD I haven't had time :(. A simple solution would be to use a Phantom with a higher spin density in the x direction (spoiler direction)."""