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:
2
Example:
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:
false
Example:
P = obir(___,'DivergenceStop',true)
'MaxOuterIter'
- Maximal number of Bregman iterationsMaximal number of allowed Bregman iterations specified as a scalar value.
Default:
5000
Example:
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-9
Example:
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:
2e7
Example:
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:
2e7
Example:
P = obir(___,'MaxFunEval',1e10)