-
Notifications
You must be signed in to change notification settings - Fork 30
Read Pulseq 1.5.0 #614
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
base: master
Are you sure you want to change the base?
Read Pulseq 1.5.0 #614
Conversation
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.
Please use three correct logic so pulseq 1.4 still works. No need to pass the version into the get_X functions, you can just check the input length of the library.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #614 +/- ##
==========================================
- Coverage 90.14% 90.01% -0.14%
==========================================
Files 57 57
Lines 3228 3366 +138
==========================================
+ Hits 2910 3030 +120
- Misses 318 336 +18
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
(1) Update get_events to add (2) Test with reader with (take inspiration from https://juliahealth.org/KomaMRI.jl/dev/explanation/5-seq-events/):
@Stockless can you give use the MATLAB files you were using for the tests? (3) Modify to consider new RF uses, to calculate k-space correctly (not guess RF use by > 90.0):
If use is Undefined(), keep using the current method; otherwise, use the provided value. If center is not defined (i.e., == 0.0), keep the current method; otherwise, use the provided value. |
|
@pvillacorta , @cncastillo mentioned you are interested in working this PR out. I want to get it done too. Let's meet to sort out the efforts? |
Yes! Let's join forces :) |
|
@pvillacorta @gsahonero do you guys want to plan a meeting to push this? |
|
@gsahonero and I are meeting this thursday at 4pm (spanish time). I hope we can plan how to finish this PR and the one for writing Pulseq. |
- Improve Grad and RF constructors for improved readability and error handling. - Fix documentation typo about `A` and `T` vectors - Add SHA and MD5 packages for hash generation/verification - Improve signature generation/verification
- Add missing signature-related functions - Simplify `read_RF` and `read_ADC` in the same way as `read_Grad`
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.
KomaMRI Benchmarks
| Benchmark suite | Current: f9636ae | Previous: b5c63a9 | Ratio |
|---|---|---|---|
MRI Lab/Bloch/CPU/2 thread(s) |
336553685 ns |
340960290 ns |
0.99 |
MRI Lab/Bloch/CPU/4 thread(s) |
278804437 ns |
272489189 ns |
1.02 |
MRI Lab/Bloch/CPU/8 thread(s) |
195474224 ns |
212102146.5 ns |
0.92 |
MRI Lab/Bloch/CPU/1 thread(s) |
551618997 ns |
553123722 ns |
1.00 |
MRI Lab/Bloch/GPU/CUDA |
21397402 ns |
21705981 ns |
0.99 |
MRI Lab/Bloch/GPU/oneAPI |
79630717 ns |
79470326.5 ns |
1.00 |
MRI Lab/Bloch/GPU/Metal |
93588667 ns |
95738917 ns |
0.98 |
MRI Lab/Bloch/GPU/AMDGPU |
26134234 ns |
26055313 ns |
1.00 |
Slice Selection 3D/Bloch/CPU/2 thread(s) |
1587014667 ns |
1588926486.5 ns |
1.00 |
Slice Selection 3D/Bloch/CPU/4 thread(s) |
888311171.5 ns |
886294756.5 ns |
1.00 |
Slice Selection 3D/Bloch/CPU/8 thread(s) |
550997453 ns |
561392306 ns |
0.98 |
Slice Selection 3D/Bloch/CPU/1 thread(s) |
3034738658 ns |
3027587378 ns |
1.00 |
Slice Selection 3D/Bloch/GPU/CUDA |
33029749.5 ns |
32637155 ns |
1.01 |
Slice Selection 3D/Bloch/GPU/oneAPI |
125225827 ns |
124598595.5 ns |
1.01 |
Slice Selection 3D/Bloch/GPU/Metal |
110781917 ns |
112846167 ns |
0.98 |
Slice Selection 3D/Bloch/GPU/AMDGPU |
34025625.5 ns |
34082841 ns |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
- Fix contructors, auxiliary functions and tests - Restore previous `read_Grads`, `read_RF`, and `read_ADC` implementations - Improve signature handling
|
Pulseq files from |
- Do not use recursive constructors
- Come back to `get_RF_use_from_char(::Val{Char})`
- Remove `get_RF_use_from_char`from RF constructor
- Export RFUses
… into pulseq1.5.0
|
I will start with tests tomorrow, with this in mind:
I will also try to test the reader with .seq files made with |
|
For tests, I think we need three complementary testing strategies, and all of them are important for proper validation: 1. Round-trip test inside KomaMRI (for both
|
This PR addresses issue #555 by adding support for reading Pulseq files in version 1.5.0.