PROX_TV3D - Total variation proximal operator
Usage
sol=prox_tv3d(x, gamma)
sol=prox_tv3d(x, gamma,param)
[sol, info]=prox_tv3d(...)
Output parameters
sol |
Solution. |
info |
Structure summarizing informations at convergence |
Description
This function compute the 3 dimentional TV proximal operator evaluated
in b. If b is 4 dimentional, this function will evaluate the TV
proximal operator on each cube. For 2 dimention TV proximal of cubes
operator the function prox_tv can be used.
prox_tv3d(y, gamma, param) solves:
\begin{equation*}
sol = \min_{z} \frac{1}{2} \|x - z\|_2^2 + \gamma \|x\|_{TV}
\end{equation*}
param is a Matlab structure containing the following fields:
param.tol : is stop criterion for the loop. The algorithm stops if
\begin{equation*}
\frac{ n(t) - n(t-1) }{ n(t)} < tol,
\end{equation*}
where \(n(t) = f(x)+ 0.5 \|x-z\|_2^2\) is the objective function at iteration t
by default, tol=10e-4.
param.maxit : max. nb. of iterations (default: 200).
param.parrallel : Parallelisation level. 0 means no
parallelization, 1 means all cubes (fourth dimension changing) at the
same time.
param.verbose : 0 no log, 1 a summary at convergence, 2 print main
steps (default: 1)
param.useGPU : Use GPU to compute the TV prox operator. Please prior
call init_gpu and free_gpu to launch and release the GPU library (default: 0).
param.weights : weights for each dimention (default \([1, 1, 1]\))
infos is a Matlab structure containing the following fields:
- info.algo : Algorithm used
- info.iter : Number of iteration
- info.time : Time of exectution of the function in sec.
- info.final_eval : Final evaluation of the function
- info.crit : Stopping critterion used
References:
A. Beck and M. Teboulle.
Fast gradient-based algorithms for constrained total variation image
denoising and deblurring problems.
Image Processing, IEEE Transactions on, 18(11):2419--2434,
2009.