- Package: BioPSE
- Category: Inverse
- Author(s): Alireza Ghodrati
- Status: Supported in latest version
- Version: 3.0
This module solves a linear inverse problem with Tikhonov regularization. It uses the singular value decomposition (SVD) or generalized SVD (GSVD) to compute its result.
This module computes Tikhonov regularization as in SolveInverseProblemWithTikhonov but in a computationally efficient manner for multiple repetitions are needed since it uses the SVD (or GSVD if there is a regularization matrix) decomposition of the forward matrix. Thus, the optimization problem being solved is:
Where the forward matrix is expected to be given decomposed in its SVD terms that can be obtained with the module CIBC:Documentation:SCIRun:Reference:SCIRun:ComputeSVD. Note that computeSVD module returns the right singular vectors in rows and not in columns as it is required for SolveInverseProblemWithTikhonovSVD.
The GSVD should be used when the regularization matrix is different than idenity matrix (e.g. approximate Laplacian operator on a meshed volume or surface).
The solution is dependent on a scalar regularization parameter that can be specified directly using the User Interface of this module or can be determined automatically using the L-curve method. The automatic determination of the regularization parameter with the L-curve method requires computing several solutions to the inverse problem for a range of regularization parameters.
1. Left Singular Vectors matrix, .
2. Singular Values vector, .
3. Right Singular Vectors matrix (vectors in columns), .
4. Measured ECG vector,
IMPORTANT NOTE: unlike some other software packages, this module expects the right singular matrix to contain its singular vectors in the columns. That is the matrix in the decomposition .
1. Inverse solution, : computed solution estimate.
2. Regularization parameter, : used regularization parameter.
3. Regularized inverse matrix, : linear inverse operator that gives a solution estimate equation . It actual value depends on the selected formulation (underdetermined or overdetermined) and requires the inversion of a matrix. It is only calculated if this port is connected to another module's input port. The user can select between the formulations using the module GUI (see section Computation).