You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe this issue is due to the fact that most of the IR*.m files in the IRtools folder got updated relatively recently, but they depend on some IR*.m files in the Extras folder that were not updated. Not sure if you found your own temp fixes by now, but what I found to work on some similar issues was to add the following snippets to a few files:
IRoption_fields.m at line 71, but really could go anywhere in the allfields cell:
IRset.m at line 287 (again could be anywhere in the switch):
case {'warmrestart'} % off, on
[validvalue, errmsg] = onOffType(field,value);
case {'SparsityTrans'} % none, dwt
[validvalue, errmsg] = sparsityTransType(field,value);
case {'wname'} % db1 default, probably others...
[validvalue, errmsg] = wnameType(field,value);
case {'wlevels'} % probably a positive value?
[validvalue, errmsg] = nonNegscalar(field,value);
case {'discrflatTol'} % probably a positive value?
and then also the newly defined functions for sparsity and wname that I threw at the end of the file:
%------------------------------------------------------------------------
function [valid, errmsg] = sparsityTransType(field,value)
% One of these strings: none, dwt
valid = (ischar(value) && any(strcmpi(value,{'none';'dwt'})));
if ~valid
errmsg = sprintf('Invalid value for OPTIONS parameter %s: must be ''dwt'' or ''none''.',field);
else
errmsg = '';
end
%------------------------------------------------------------------------
function [valid, errmsg] = wnameType(field,value)
% One of these strings: none, dwt
valid = (ischar(value) && any(strcmpi(value,{'none';'db1'})));
if ~valid
errmsg = sprintf('Invalid value for OPTIONS parameter %s: must be ''db1''.',field);
else
errmsg = '';
end
I'm sure there's other things missing, but this at least has me up and running so far.
The solution suggested above fixed a number of the solvers for me. However remaining issues:
IRell1 - Least squares solver with 1-norm penalization term - Issue with discflatTol & hybridvarient
IRfista - FISTA algorithm for constrained least squares problems Issue with 'shrink' in options
IRconstr_ls also didn't run without the manual fix suggested in the quoted text,
IRhtv again didn't run because of missing warmrestart
The text was updated successfully, but these errors were encountered:
Update: I managed to fix the IRset/IRoptions issues to some extent, but various algorithms still aren't running:
IRell1 & IRhybrid_fgmres:
%Unrecognized function or variable 'm'.
%Error in IRhybrid_fgmres (line 454)
% GCValk = GCVstopfun(RegParamk, Uk(1,:)', Sk, nrmb, m, n);
%Error in IRell1 (line 153)
% [X, info] = IRhybrid_fgmres(A, b, K, options);
IRfista:
%Unrecognized function or variable 'IRnormest'.
%Error in IRfista (line 180)
% normestA = IRnormest(A, b);
I'm applying these algorithms to a dense 3D sensitivity matrix, and am also encountering issues with:
IRhtv - Least squares solver with heuristic total variation penalization because it appears to require sqrt(No. Voxels) = an integer
I believe this issue is due to the fact that most of the IR*.m files in the IRtools folder got updated relatively recently, but they depend on some IR*.m files in the Extras folder that were not updated. Not sure if you found your own temp fixes by now, but what I found to work on some similar issues was to add the following snippets to a few files:
IRoption_fields.m
at line 71, but really could go anywhere in theallfields
cell:IRset.m
at line 287 (again could be anywhere in the switch):and then also the newly defined functions for sparsity and wname that I threw at the end of the file:
I'm sure there's other things missing, but this at least has me up and running so far.
Originally posted by @jjwadams in https://github.com/jnagy1/IRtools/issue_comments/613685418
The solution suggested above fixed a number of the solvers for me. However remaining issues:
IRell1 - Least squares solver with 1-norm penalization term - Issue with discflatTol & hybridvarient
IRfista - FISTA algorithm for constrained least squares problems Issue with 'shrink' in options
IRconstr_ls also didn't run without the manual fix suggested in the quoted text,
IRhtv again didn't run because of missing warmrestart
The text was updated successfully, but these errors were encountered: