The CP algorithm (originally proposed in [36]) solves the constrained minimization problem stated as in (9), by considering an equivalent unconstrained formulation:
where
and the ball is the set and its indicator function is defined as
In addition, we set:
as the indicator function of the convex set to embed the non-negativity constraint in the unconstrained formulation. Equation (17) allows to fully exploit the linearity of the K transform, combining here both the X-ray projector M and the discrete gradient operator, if we build K as the following four-blocks matrix:
where and are the forward difference operators acting along the and Z axes, respectively.
Considering the convex conjugate of F, defined as , and the proximal mappings of and G, i.e.,
the kth CP iteration can be summarized in the following three steps:
compute as ;
compute as ;
define with an extrapolation step: and .
We denote as a matrix of size and we use Matlab-like notation to indicate element by element matrix multiplication and division. In particular, the proximal mapping can be computed as the sum of two independent blocks, as in lines 5–6 and 7–9 of the Algorithm 3; its detailed derivation can be found in [37] for 2D imaging applications. We have here extended the method to 3D imaging. For the sake of clarity, we remark that the weights , and in lines 7–9 are stored in -dimensional variables where for , whereas is a vector of size with components
Compute: as an approximation of
Initialize:,
Initialize:, and to zeros-vectors
for to do
The proximal mapping of G is defined as:
hence, it is exactly the projection of x onto the feasible set (line 11 of Algorithm 3). The updated iterate is computed with an extrapolation strategy as in line 12 of Algorithm 3. The algorithm convergence is demonstrated in [36].
We finally observe that the algorithm needs to compute the value (line 1 of Algorithm 3): to estimate the matrix 2-norm as (where is the spectral radius of a matrix), we perform two iterations of the power method for computation of the maximum eigenvalue in module [38].
Do you have any questions about this protocol?
Post your question to gather feedback from the community. We will also invite the authors of this article to respond.