Easyspin for Octave

Hi everybody,
If there is anyone in this forum interested in Electron Paramagnetic Resonance, and knows the package Easyspin, which runs in Matlab, I have been able to make it work (partially) on Octave.
The merit is due to the creators of Easyspin that some time ago released the source code, and the Octave developers who have done a remarkable work over the years in Matlab compatibility, which I can only guess it has been really difficult. What I did was mostly comment out several Matlab version checks and fix some warnings, but the basic functionality seems to be working.
It will take some time to fix many issues that will be appearing as different parts of Easyspin are tested (it’s quite a complex and powerful program).
Easyspin also has a GUI, mostly for least-squares fitting experimental spectra. The GUI window opened although with many weird errors and crashed immediately when I pressed the Start button (for starting the fitting).
I have -10 experience in GUIs in general and in Matlab/Octave specifically, so if anyone is interested in tackling this problem or helping me get a semi-functional GUI I would really appreciate it.
When I get more parts of EasySpin working robustly in Octave I will make a video on it on my YouTube channel (plug time)
Best wishes,

Can you post a link to Easyspin or to the software repository where you are working on?

This is the original EasySpin repository

The version with my changes is currently only in my computer, but I may upload a “fixed” version to my Github after I check more stuff. Right now I only got a few modules working, and I’m hesitant to upload code which is probably super flawed.
I’m not a real programmer, and I always feel somewhat ashamed of my code!
In this case there is no code of my own, just commented some checks and changed
error(err); to error(strvcat(err)); in some of the files.


It’s always good to have more working utilities for Octave, thanks for your efforts.

The only thing that bugged me is that even even though it says is open source, there wasn’t a more complete license/permission disclaimer on their webpage: https://easyspin.org/, but it seems they also uploaded to github:


so i guess it’s okay.

And don’t worry about your changes being minimal modifications, lots of us “learned to program” as part of our areas of study but at some point we came to aknowledge that in fact we didn’t truly know a lot about the more deep intricacies of computer programming, but we also learned that being able to understand a bit of the code and change it, even if they are just a few things to make something work is a valuable skill that not all people have, and Octave has become an even better scientific software through the years thanks to the contribution of users.


Apparently its MIT license. I nevertheless asked in the Easyspin forum what is OK to do, but I guess there won’t be any problem.

Hi, the first “working” version of Easyspin adapted to Octave
can be found on my GitHub

There is a pdf where I documented the changes I did. I only tested a very small part of what EasySpin can do, so it will take time to adapt the full code.

If anyone wants to check it out and give me some tips please go ahead!

1 Like