Replies: 1 comment 1 reply
-
@namgyunlee This maybe of interest to you. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi all,
thanks for this amazing work! I wanted to discuss an undocumented Pulseq extension (i.e, rotation), I hope this is the appropriate place for it.
Motivation
Pulseq format does a fantastic job in keeping the size of the seqfile small when the sequence mostly consists of repetitions of scaled waveforms (which is true for most Cartesian imaging). However, I feel the base format is not so efficient when it comes to Non Cartesian sequences (pulseq/pulseq#31). Luckily, many Non Cartesian trajectories can be efficiently described as rotated versions of a single waveform (see, for instance, this), potentially enabling a significant reduction of memory footprint and faster loading times, even in older scanner platforms.
Apparently, C++ implementation of Pulseq already defines a Rotation event extension, representing the rotation of the gradient matrix for each block. This extension, as far as I know, has never been exposed to MATLAB or Python codebases, perhaps because the main Siemens interpreters do not support it? I am not a Siemens user myself, so I cannot verify this.
Proposal
I exposed the rotation extension in my own PyPulseq fork, since the GE interpreter potentially supports this kind of waveform manipulation already (@jfnielsen). I also adapted the plotting tools and helpers routines extracting gradients, waveforms and so on. Before opening a pull request, I would like to know if that sounds like a good idea. Personally, I do not see this as a too much intrusive modification, as per Pulseq specification extensions are explicitly designed to add new features without having to go through a major release. As an example, code for sequences aiming to be compatible with different interpreters (supporting rotation or not), could contain this kind of code snippet for the gradient rotation:
Thanks again!
Matteo
Beta Was this translation helpful? Give feedback.
All reactions