Page 5 of 5

Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Wed Aug 24, 2022 10:56 am
by ThomasMCasey

@Bruin: Sorry for the delay, I will hold off on officially posting an updated version that is compatible with dev versions on file exchange if it will break the stable version. However, I can post a "dev" version here if I can get it to work. I'm having an issue that may be my error, may be a matlab version issue, or may actually be a bug in the dev esfit UI. I'll see if I can figure it out.


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Sun Sep 11, 2022 9:31 pm
by ThomasMCasey

@bruin and anyone else interested, to download a version of cwEPR that works with easyspin-6.0.0-dev.47 go to https://www.mathworks.com/matlabcentral ... 3292-cwepr, click version history above the download button, and download v3.3.6.47


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Sun Oct 02, 2022 12:44 am
by bruin

Dear Thomas,
Thanks for the new version!
And sorry for my late reply.
I meanwhile tested v3.3.6.47. Fitting works now! Thanks!
There is however one remaining problem:
Tools --> get esfit 'fit1'
This doesn't seem to work and gives an error (Unrecognized field name "Sys")
If you have some time, could you please look into this?


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Sun Oct 02, 2022 2:08 am
by bruin

Dear Thomas,

If I'm not mistaken, the solution is easy.

Replacing line 4295
sysstrct=evalin('base','fit1.Sys');
by
sysstrct=evalin('base','fit1.argsfit{1, 1}');
seems to solve the problem:

Could you please check? Thanks a lot!

With best regards,
Bas


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Wed Oct 05, 2022 2:11 pm
by ThomasMCasey

bruin, you are correct. Click "View Version History" and select v3.4.6.47: https://www.mathworks.com/matlabcentral ... 3292-cwepr


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Thu Oct 06, 2022 1:20 am
by bruin

Thanks Thomas!


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Tue Apr 09, 2024 9:03 am
by bruin

Dear Thomas,

Unfortunately your cwEPR app no longer works properly with the new stable version 6.0.0 of Easyspin.
Some errors I encountered (so far) are:

  • Rescale minmax does not seem to be supported any more
  • esfit gives the error "Unknown setting for Opt.AutoScale - possible values are 'lsq', 'maxabs', and 'none'."

Could you perhaps have a look? I assume it's a few different keyword settings?
Would be great if you can fix it.
Thanks a lot!

With best regards,
Bas


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Tue Apr 09, 2024 1:10 pm
by bruin

Dear Thomas,

I looked closer at the EasySpin changes and the code, and the most important functionality of cwEPR can be relatively easily restored.
It seems that the rescaling problem is caused by the fact that "rescaledata" does not support "minmax, lsq0, lsq1"
The baseline corrections originally included in recaledata are now apparently replaced by "basecorr", but I could not figure out how this can be easily solved in cwEPR. If you can have a look at that, this would be great.


It seems that there is also some problem with passing (some of the) FitOpt options to esfit. This is however not a big problem, as most fitting options can be directly entered in the esfit popup window nowadays. So perhaps FitOpt can (for now at least) be simply deactivated in esfit?

The following changes do seem to solve most problems, but I would prefer if you check things:

replace lines 5788-5793 by:
% Create FitScalingDropDown
app.FitScalingDropDown = uidropdown(app.FitOptTab);
app.FitScalingDropDown.Items = {'none', 'lsq', 'maxabs'};
app.FitScalingDropDown.Position = [82 103 76 22];
app.FitScalingDropDown.Value = ['none' ...
''];
replace lines 5903-5908 by:
% Create RescaleDropDown
app.RescaleDropDown = uidropdown(app.cwEPRapp);
app.RescaleDropDown.Items = {'maxabs', 'lsq', 'none'};
app.RescaleDropDown.ValueChangedFcn = createCallbackFcn(app, @showDatas, true);
app.RescaleDropDown.Position = [1112 14 79 22];
app.RescaleDropDown.Value = 'maxabs';

remove "FitOpt" from all esfit lines
e.g. line 4202 becomes:
esfit(spc(:,app.currslice), @app.custom_fittwomethods, {Sys, Exp, Opt}, {Vary});

similar for the esfit lines 4207, 4239, 4267 and 4272

Thanks for your help!

With best regards,
Bas


Re: cwEPR App for processing, simulating, and fitting CW EPR data

Posted: Fri Apr 19, 2024 6:54 am
by bruin

Dear Thomas,

I can't find how to load FitOpt values. I don't understand to code well-enough to fix this.

I noticed another error: The "get esfit 'fit1' button works, but if there are more than 3 HFI's in the "fit1.argsfit{1, 1}.A matrix, the app decides not to load any HFI's anymore and loads another parameter in the A-tensor field instead (e.g. lwpp). I can't figure out what is causing this.

It would be great if you could have a look to see if you can fix these two issue.
Thanks!

With best regards,
Bas