Announcing NimPulseq - A Nim port of PyPulseq with a protocol editor GUI that can run on your scanner #371
Replies: 5 comments 4 replies
-
|
Hi Francesco. This is a very cool idea for being able to adapt sequences at the scanner. Thanks for informing me of the ExeRunner dummy sequence too, which I didn't know about. One question I have is couldn't you just make a GUI for your pypulseq sequence and compile the whole thing using PyInstaller? In this case, what is the advantage of a compiled Nim application vs a compile python application (apart from that you've already done all this work to make a nice Nim solution)? |
Beta Was this translation helpful? Give feedback.
-
|
Hi Joseph! Yes that's in principle possible, but apart from the large overhead that pyinstaller has, I haven't had success in properly signing pyinstaller binaries to be executed on the scanner, especially when they include GUI libraries like pyqt. But of course feel free to do so :) You hadn't heard of Exerunner because I uploaded it to teamplay a couple of weeks ago :) |
Beta Was this translation helpful? Give feedback.
-
|
Okay, thanks Francesco! I haven't tried it so was just interested in the practicalities. Have you tried py2exe? I don't know if that has any effect. Do you have any idea what the signing issue is with pyinstaller binaries if you can run Nim binaries? |
Beta Was this translation helpful? Give feedback.
-
|
out of curiosity: would something like Exerunner be possible for VB as well? |
Beta Was this translation helpful? Give feedback.
-
|
An alternative i tried out of curiosity is fzimmermann89/pulyseqeditor#1 this is a single exe pypulseq py->seq "converter" |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Dear Community,
(First of all, sorry for the cross-posting with the pulseq repository, but I don't know how much overlap there is between the followers of both pages)
I am happy to announce NimPulseq and NimPulseqGUI, a port of (Py)Pulseq to the cross-platform, statically compiled language Nim.
Why, you ask? Well, there are various reasons:
.seqfile. This allows changing sequence parameters from the command line, so creating multiple versions of the same sequence is easy. If you want, you can avoid releasing the source script that generates the.seqfile (note: I do not recommend doing this, but you do you), and still provide your users with a sequence that adapts to multiple systems, without having to generate a.seqfile for every system yourself..seqfiles directly on the scanner: Since Nim is multi-platform and dependency-free, you can execute the compiled script directly on the scanner, and change parameters directly at the scanner console..seqfile from a compiled Nim script is up to 50 times faster than PyPulseq (based on the write_gre example)mysequence.exe --manufacturer="Siemens Healthineers" --model="MAGNETOM Prisma"and theOptsstructure is automatically adapted to the scannerThe drawback? Well, the main drawback is that it's a different language from Matlab and Python. AI should do a good job in converting your existing sequences to Nim, should the need arise. However, although Nim is statically typed, it requires far less boilerplate than C/C++ while maintaining its speed and lightness, and it's not more complicated than Python to learn.
Final notes
Check out the repositories or drop me a line if you want to know more.
Cheers,
Francesco
Beta Was this translation helpful? Give feedback.
All reactions