You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Documentation/ECGTool_forward.tex
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ \section{Overview}
4
4
5
5
As described previously, the forward problem predicts the potentials observed along some measurement surface (commonly the body surface) given a set of known electrical sources and the geometry through which those source fields conduct. In this chapter, we will provide an overview of the forward problem as it is implemented in the Fwd/Inv toolkit, which generally calculates torso surface potentials given a set of known cardiac source parameters. Of course, these toolkit networks can be manipulated to incorporate other source models (\eg{} brain potentials or transmural cardiac potentials) or solution representations (\eg{} scalp or epicardial potentials) as needed.
6
6
7
-
The forward problem can be broken down into two fundamental concepts: 1) how to represent the source and 2) how that source maps to desired observation locations (\eg{} torso surface). One can conceptualize these two concepts in the classic sense by considering the function $(A)x = b$, where $b$represents a set of unknowns on the torso surface (observation locations) and $x$ is the cardiac source or source formulation. The function $A$, therefore, represents how source potentials are to be mapped to the observation field and is dependent on the choice of source model, the solution approach (\ie{} FEM/BEM), and relevant torso specific requirements such as conductivities and geometry.
7
+
The forward problem can be broken down into two fundamental concepts: 1) how to represent the source and 2) how that source maps to desired observation locations (\eg{} torso surface). One can conceptualize these two concepts in the classic sense by considering the function $\mathbf{y}(t) = \mathbf{A}\mathbf{x}(t)$, where $\mathbf{y}(t)$ (Eq.~\ref{eq:TransMat}) represents a set of unknowns on the torso surface (observation locations) and $\mathbf{x}(t)$ is the cardiac source or source formulation. The function $A$, therefore, represents how source potentials are to be mapped to the observation field and is dependent on the choice of source model, the solution approach (\ie{} FEM/BEM), and relevant torso specific requirements such as conductivities and geometry.
8
8
9
9
The two most common source formulation models used in cardiac forward problems are cardiac potentials and activation times. The use of cardiac potentials is arguably a more intuitive formulation in that it is typically potentials that are recorded from cardiac-specific electrodes. Activation times must be {\em derived} from recorded signals and are, therefore, one step removed from the original recordings. In terms of abbreviated physiology, cardiac potentials relate the interaction of cardiac cells to changes in the extracellular potential fields of the myocardium. These extracellular cardiac potentials are then projected to the torso surface. The activation-time-based source formulation, on the other hand, deals with the fact that when inactive and active tissues exist in close proximity, a source much like a dipole or layer of dipoles can be generated that is representative of the propagating activation wavefront, which then projects to the torso surface. Both of these source models contain several assumptions, but each provides a generally accurate model that can be computationally reasonable.
10
10
@@ -110,20 +110,20 @@ \section{Module Descriptions for Finite Element Solutions}
\caption{{\bf AddKnownsToLinearSystem Module.} The {\tt AddKnownsToLinearSystem} module recalibrates the stiffness matrix and RHS vector for a FE solution given known values in $\mathbf{x}$ and (optionally) $\mathbf{b}$.}
113
+
\caption{{\bf AddKnownsToLinearSystem Module.} The {\tt AddKnownsToLinearSystem} module recalibrates the stiffness matrix and RHS vector for a FE solution given known values in $\mathbf{x}(t)$ and (optionally) $\mathbf{y}(t)$.}
114
114
\label{fig:AddKnowns}
115
115
\end{center}
116
116
\vspace{-.25 in}
117
117
\end{figure}
118
118
119
119
{\tt AddKnownsToLinearSystem} makes it possible to add known values as boundary conditions
120
-
to the linear system $Ax=b$, where some values of
121
-
$\mathbf{x}$ are already known.
122
-
The module receives the stiffness matrix $\mathbf{A}$ along with an $\mathbf{x}$ matrix with known values imposed at the specific indices where data is known and $NaN$ values occupying the remaining vector entries.
120
+
to the linear system $\mathbf{y}(t) = \mathbf{A}\mathbf{x}(t)$, where some values of
121
+
$\mathbf{x(t)}$ are already known.
122
+
The module receives the stiffness matrix $\mathbf{A}$ along with an $\mathbf{x(t)}$ matrix with known values imposed at the specific indices where data is known and $NaN$ values occupying the remaining vector entries.
123
123
A right-hand-side (RHS) matrix may also be provided if any of the solution values are also known, but it is not required.
124
124
If an RHS field is not included then it is assumed that the vector contains all zeros. % | Is this true...it isn't NaNs?
125
125
Using the provided inputs, the module adjusts the linear system according to the known values.
126
-
This means that $\mathbf{A}$ and the RHS vector $\mathbf{b}$ are altered in such a way that the product of the new stiffness matrix and RHS $\mathbf{(A2)^{-1}} \mathbf{b2}$ (referring to Figure \ref{fig:AddKnowns}) will produce an $\mathbf{x}$ that contains the defined values at the specified locations.
126
+
This means that $\mathbf{A}$ and the RHS vector $\mathbf{y}(t)$ are altered in such a way that the product of the new stiffness matrix and RHS $\mathbf{(A2)^{-1}} \mathbf{b2}$ (referring to Figure \ref{fig:AddKnowns}) will produce an $\mathbf{x(t)}$ that contains the defined values at the specified locations.
127
127
128
128
%\newpage
129
129
\section{Example Networks for Boundary Element Solutions}
@@ -172,7 +172,7 @@ \section{Example Networks for Boundary Element Solutions}
172
172
\section{Example Networks for Finite Element Solutions}
173
173
174
174
There are two examples in the Fwd/Inv toolkit for calculating the potential-based forward problem using finite element method. The first example is a direct calculation of the projection of the cardiac potentials into the torso mesh, satisfying Laplace's equation, and from thence to the torso surface.
175
-
The second example involves the generation of the lead field matrix, or transfer matrix, that is then used to perform the forward calculation that very much resembles the $\mathbf{Ax=b}$ formulation seen in the BEM method above.
175
+
The second example involves the generation of the lead field matrix, or transfer matrix, that is then used to perform the forward calculation that very much resembles the $\mathbf{y}(t) = \mathbf{A}\mathbf{x}(t)$ formulation seen in the BEM method above.
176
176
177
177
\subsection{Potential Based Forward FEM Simulation: Laplacian Solve}
178
178
@@ -233,7 +233,7 @@ \subsection{Potential Based Forward FEM Simulation: Laplacian Solve}
233
233
\subsection{Potential Based Forward FEM Simulation: Lead Field Calculation}
234
234
235
235
The following example utilizes two networks in order to produce 1) a lead field matrix with which to solve
236
-
2) a traditional $\mathbf{Ax=b}$ forward solution.
236
+
2) a traditional $\mathbf{y}(t) = \mathbf{A}\mathbf{x}(t)$ forward solution.
237
237
Figure \ref{fig:FEMLead} shows a basic implementation of the finite element method used to calculate a lead field matrix and Figure \ref{fig:FEM_LeadNet} shows how that lead field matrix can be applied to generate a forward solution.
238
238
These networks also show the complete networks available in the Fwd/Inv toolkit in all their complexity.
239
239
Input meshes are segmentations that include multiple label masks (including one for the heart volume with a closed epicardium), which require manipulation prior to use.
As described in \autoref{sec:math:standardTikhonov}, Tikhonov regularization is a classical inverse method that solves the following least squares problem:
13
+
As described in Sec.~\ref{sec:math_tikhonov}, Tikhonov regularization is a classical inverse method that solves the following least squares problem:
14
14
\begin{center}
15
15
\begin{eqnarray}
16
16
min_{X} \| P (Y - A X) \|^{2}_{2} + \lambda^{2} \| RX \|^{2}_{2},
The solutions to the Tikhonov regularization problem depend on the selection of the regularization parameter ($\lambda$).
99
99
There are multiple approaches in the literature that allow for its selection.
100
-
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov}{{\tt SolveInverseProblemWithTikhonov}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in \autoref{sec:math:regparam}.
100
+
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov}{{\tt SolveInverseProblemWithTikhonov}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in Sec.~\ref{sec:math_regparam}.
101
101
These methods can be found by selecting the appropriate option in the drop-down menu within the ``Lambda Method'' panel.
The solutions to the TikhonovSVD regularization problem depend on the selection of the regularization parameter ($\lambda$).
169
169
There are multiple approaches in the literature that allow for its selection.
170
-
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php5/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonovSVD}{{\tt SolveInverseProblemWithTikhonovSVD}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in \autoref{sec:math:regparam}.
170
+
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php5/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonovSVD}{{\tt SolveInverseProblemWithTikhonovSVD}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in Sec.~\ref{sec:math_regparam}.
171
171
These methods can be found by selecting the appropriate option in the drop-down menu within the ``Lambda Method'' panel as done in \href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov}{{\tt SolveInverseProblemWithTikhonov}} (see \autoref{fig:tik_module_gui}).
The solutions to the TSVD regularization problem depend on the selection of the regularization parameter ($Q$).
239
239
There are multiple approaches in the literature that allow for its selection.
240
-
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php5/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTSVD}{{\tt SolveInverseProblemWithTSVD}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in \autoref{sec:math:regparam}.
240
+
\href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php5/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTSVD}{{\tt SolveInverseProblemWithTSVD}} is currently implemented so that the user can choose between a direct entry, selection using a slider and the L-curve method, described in Sec.~\ref{sec:math_regparam}.
241
241
These methods can be found by selecting the appropriate option in the drop-down menu within the ``Lambda Method'' panel as done in \href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov}{{\tt SolveInverseProblemWithTikhonov}} (see \autoref{fig:tik_module_gui}).
This implementation of the Isotropy Method has extra parameters that determine the operation of the Tikhonov inverse. These parameters are specific to the \href{http://scirundocwiki.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun:Reference:BioPSE:SolveInverseProblemWithTikhonov}{{\tt SolveInverseProblemWithTikhonov}} module and we refer the user to \autoref{sec:inverse:tikhonov} for more details.
decomposition (SVD) of the matrix $\mathbf{A}$. The SVD results in several factor matrices, from which one then obtains the inverse solution. The SVD approach is also implemented in SCIRun and will be described below.
466
467
467
468
\subsubsection{Choosing the regularization parameter:}
469
+
\label{sec:math_regparam}
468
470
469
471
Choosing an appropriate value as a regularization parameter is critical for achieving useful solutions.
470
472
The solution typically depends on it in a sensitive fashion, and good
0 commit comments