obir¶
Osher’s Bregman-iterated regularization method
Syntax¶
P = obir(S,K,r,'type',alpha)
P = obir(___,'Property',Value)
- Parameters
S- Input signal (N-element array)K- Dipolar kernel (NxM-element array)r- Distance Axis (N-element array)type- Regularization type (string)alpha- Regularization parameter (scalar)
- Returns
P- Distance Distribution (M-element array)
Description¶
P = obir(S,K,r,'type',alpha)
Fit a distance distribution P on a distance axis r to the signal S according to the kernel K. The (M-2)xM point regularization matrix L and regularization parameter alpha control the regularization properties.
The type of regularization employed in obir is set by the 'type' input argument. The regularization models implemented in obir are:
'tikhonov'- Tikhonov regularization'tv'- Total variation regularization'huber'- Pseudo-Huber regularization
Additional Settings¶
Additional settings can be specified via name-value pairs. All property names are case insensitive and the property-value pairs can be passed in any order after the required input arguments have been passed.
P = obir(___,'Property1',Value1,'Property2',Value2,___)
'NoiseLevelAim'- Noise level aim valueLevel (standard deviation) of noise at which Bregman iterations must stop. If not specified the noise is automatically computed using the noiselevel function.
Default: [empty]
Example:
P = obir(___,'NoiseLevelAim',0.05)
'RegOrder'- Regularization matrix orderOrder of the regularization operator.
Default:
2Example:
P = obir(___,'RegOrder',3)
'DivergenceStop'- Stop if divergence of residual valueSpecify whether the Bregman iterations must be stopped if the functional value increases instead of decreasing.
Default:
falseExample:
P = obir(___,'DivergenceStop',true)
'MaxOuterIter'- Maximal number of Bregman iterationsMaximal number of allowed Bregman iterations specified as a scalar value.
Default:
5000Example:
P = obir(___,'MaxOuterIter',1e5)
'AxisHandle'- Axis handle to plot intermediate resultsAxis handle for plotting. If specified the state of the distance distribution at each Bregman iteration is displayed on the given axis object.
Default: [empty]
Example:
P = obir(___,'AxisHandle',gca)
'Solver'- Optimization solverNumerical solver employed for the minimization of the regularization functional models.
'fnnls'- Fast non-negative least squares solverfmincon- Constrained non-linear minimization solver
Default:
'fnnls'Example:
P = obir(___,'Solver','fmincon')
'TolFun'- Optimizer tolerance valueOptimizer function tolerance. The solver stops once the regularization functional evaluation reaches a value lower than this tolerance. Lower values increase the precision of the result, albeit at the cost of longer computation times.
Default:
1e-9Example:
P = obir(___,'TolFun',1e-20)
'MaxIter'- Maximal solver iterationsMaximum number of iterations of the solver. After the solver exceeds this number the optimization will stop. This option is only relevant for the
'fmincon'solver.Default:
2e7Example:
P = obir(___,'MaxIter',1e10)
'MaxFunEval'- Maximal solver function evaluationsMaximum number of function evaluation of the solver. After the solver exceeds this number the optimization will stop. This option is only relevant for the
'fmincon'solver.Default:
2e7Example:
P = obir(___,'MaxFunEval',1e10)