diff --git a/docs/generalPurposeProcesses.md b/docs/generalPurposeProcesses.md
index 1dcd4f26..36ef98ef 100644
--- a/docs/generalPurposeProcesses.md
+++ b/docs/generalPurposeProcesses.md
@@ -1,4 +1,3 @@
-
# Section G: General purpose processes
## Forward model inversion
@@ -7,10 +6,10 @@
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.MI1.001 | Analytical inversion | -- | -- | This method is used when the solution of the model inversion is well-defined and the model parameters of interest can be calculated analytically. **Input:** [Forward model (M.GF1.001)](perfusionModels.md#Forward model), [Static model parameters (Q.AI1.001)](quantities.md#AI_SMP){:target="_blank"}, [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] **Output**: [[Model parameters (Q.OP1.001)](quantities.md#AI_MP){:target="_blank"}] | -- |
-| G.MI1.002 | Optimization | Model fitting | -- | Inversion of a forward model by iteratively adjusting the set of model parameters in order to minimize a similarity measure between the data and the model. **Input:** Optimizer (select from [optimizers](#Optimizers)) **Output**: [[Estimated model parameters (Q.OP1.003)](quantities.md#EMP){:target="_blank"}] | -- |
-| G.MI1.003 | Deconvolution | -- | -- | Method which can be used when a model is given as a convolution $h(x) = f(x) \ast g(x)$ with known $h(x)$ and $f(x)$ to determine $g(x)$. **Input:** Deconvolution method (select from [deconvolution methods](#Deconvolution methods)) **Output**: [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x] | -- |
-| G.MI1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.MI1.001 | Analytical inversion | -- | -- | This method is used when the solution of the model inversion is well-defined and the model parameters of interest can be calculated analytically. **Input:** [Forward model (M.GF1.001)](perfusionModels.md#Forward model), [Static model parameters (Q.AI1.001)](quantities.md#AI_SMP){:target="_blank"}, [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] **Output**: [[Model parameters (Q.OP1.001)](quantities.md#AI_MP){:target="_blank"}] | -- |
+| G.MI1.002 | Optimization | Model fitting | -- | Inversion of a forward model by iteratively adjusting the set of model parameters in order to minimize a similarity measure between the data and the model. **Input:** Optimizer (select from [optimizers](#Optimizers)) **Output**: [[Estimated model parameters (Q.OP1.003)](quantities.md#EMP){:target="_blank"}] | -- |
+| G.MI1.003 | Deconvolution | -- | -- | Method which can be used when a model is given as a convolution $h(x) = f(x) \ast g(x)$ with known $h(x)$ and $f(x)$ to determine $g(x)$. **Input:** Deconvolution method (select from [deconvolution methods](#Deconvolution methods)) **Output**: [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x] | -- |
+| G.MI1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
## Optimization
@@ -20,20 +19,20 @@
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.OP1.001 | Levenberg-Marquardt | -- | LM | An algorithm that interpolates between the Gauss-Newton algorithm and the method of gradient descent. **Input:** Cost function (select from [cost functions](#Cost functions)), [Initial model parameters (Q.OP1.006)](quantities.md#MP_init){:target="_blank"} *Optional:* [Model parameter lower bounds (Q.OP1.007)](quantities.md#MP_L){:target="_blank"}, [Model parameter upper bounds (Q.OP1.008)](quantities.md#MP_U){:target="_blank"}, [Data weights (Q.OP1.009)](quantities.md#Weights){:target="_blank"}, [Maximum number of iterations (Q.OP1.010)](quantities.md#N_iter_max){:target="_blank"}, [Convergence threshold (Q.OP1.011)](quantities.md#ConvThresh){:target="_blank"} **Output**: [Estimated model parameters (Q.OP1.003)](quantities.md#EMP){:target="_blank"}, [Cost value minimum (Q.OP1.005)](quantities.md#CostValue_min){:target="_blank"} | -- |
-| G.OP1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.OP1.001 | Levenberg-Marquardt | -- | LM | An algorithm that interpolates between the Gauss-Newton algorithm and the method of gradient descent. **Input:** Cost function (select from [cost functions](#Cost functions)), [Initial model parameters (Q.OP1.006)](quantities.md#MP_init){:target="_blank"} *Optional:* [Model parameter lower bounds (Q.OP1.007)](quantities.md#MP_L){:target="_blank"}, [Model parameter upper bounds (Q.OP1.008)](quantities.md#MP_U){:target="_blank"}, [Data weights (Q.OP1.009)](quantities.md#Weights){:target="_blank"}, [Maximum number of iterations (Q.OP1.010)](quantities.md#N_iter_max){:target="_blank"}, [Convergence threshold (Q.OP1.011)](quantities.md#ConvThresh){:target="_blank"} **Output**: [Estimated model parameters (Q.OP1.003)](quantities.md#EMP){:target="_blank"}, [Cost value minimum (Q.OP1.005)](quantities.md#CostValue_min){:target="_blank"} | -- |
+| G.OP1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
### Cost functions
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.OP2.001 | Non-linear least squares | -- | NLLS | $\lVert f(\phi, \theta; x) - y(x) \rVert_{2}^{2}$ , where $f$ is a forward model describing the data, $x$ is the data grid, $y(x)$ is the measured data and $\lVert \rVert_2$ is the L2-norm. The forward model is non-linear in the model parameters. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [Forward model (M.GF1.001)](perfusionModels.md#Forward model){:target="_blank"}, [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [$\theta$ (Q.OP1.002)](quantities.md#SMP){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
+| G.OP2.001 | Non-linear least squares | -- | NLLS | $\lVert f(\phi, \theta; x) - y(x) \rVert_{2}^{2}$ , where $f$ is a forward model describing the data, $x$ is the data grid, $y(x)$ is the measured data and $\lVert \rVert_2$ is the L2-norm. The forward model is non-linear in the model parameters. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [Forward model (M.GF1.001)](perfusionModels.md#Forward model){:target="_blank"}, [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [$\theta$ (Q.OP1.002)](quantities.md#SMP){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
| G.OP2.002 | Linear least squares | -- | LLS | $\lVert A\phi - y(x) \rVert_2^2$ , where $x$ is the data grid, $y(x)$ is the measured data and $\lVert \rVert_2$ is the L2-norm. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [ $\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
-| G.OP2.003 | Standard-Form Tikhonov | -- | SFT | $\lVert A\phi - y(x) \rVert_2^2 + \lambda^2 \lVert Ix \rVert_2$ , where $x$ is the data grid, $y(x)$ is the measured data , $\lVert \rVert_2$ is the L2-norm and $L$ is the identity matrix (same dimensions as $A$). **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"}, [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
-| G.OP2.004 | Generalized cross validation | -- |GCV | $\frac{\lVert A\phi_\lambda - y(x) \rVert_2^2}{trace\left( I-AA_\lambda^\zeta \right)^2}$, where $x$ is the data grid, $y(x)$ is the measured data, $\lVert \rVert_2$ is the L2-norm, $I$ is the identity matrix of the same dimensions as $A$, $\phi_\lambda$ is the solution of the matrix equation obtained from the SVD for a certain regularization parameter $\lambda$ and $A^\zeta_\lambda$ is defined by the relationship $\phi_\lambda=A_{\lambda}^{\zeta}y(x)$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"}, [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
+| G.OP2.003 | Standard-Form Tikhonov | -- | SFT | $\lVert A\phi - y(x) \rVert_2^2 + \lambda^2 \lVert Ix \rVert_2$ , where $x$ is the data grid, $y(x)$ is the measured data , $\lVert \rVert_2$ is the L2-norm and $L$ is the identity matrix (same dimensions as $A$). **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"}, [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
+| G.OP2.004 | Generalized cross validation | -- |GCV | $\frac{\lVert A\phi_\lambda - y(x) \rVert_2^2}{trace\left( I-AA_\lambda^\zeta \right)^2}$, where $x$ is the data grid, $y(x)$ is the measured data, $\lVert \rVert_2$ is the L2-norm, $I$ is the identity matrix of the same dimensions as $A$, $\phi_\lambda$ is the solution of the matrix equation obtained from the SVD for a certain regularization parameter $\lambda$ and $A^\zeta_\lambda$ is defined by the relationship $\phi_\lambda=A_{\lambda}^{\zeta}y(x)$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"}, [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
| G.OP2.005 | L-curve | -- |LC | $\frac{\hat{\rho^\prime}\hat{\eta^{\prime\prime}} - \hat{\rho^{\prime\prime}}\hat{\eta^\prime}}{\left( (\hat{\eta^\prime})^2 + (\hat{\rho^\prime})^2 \right)^{3/2}}$, where $\phi_\lambda$ is the solution of the matrix equation obtained from the SVD for a certain regularization parameter $\lambda$, $\rho(\lambda) = \lVert A\phi_\lambda - y(x) \rVert_2$ and $\eta(\lambda) = \lVert \phi_\lambda \rVert_2$, $\hat{\rho} = ln(\rho)$, $\hat{\eta} = ln(\eta)$ and $\prime$ and $\prime\prime$ are the derivatives with respect to $\lambda$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"}, [*A* (Q.OP1.012)](quantities.md#A){:target="_blank"}, [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output**: [Cost value (Q.OP1.004)](quantities.md#CostValue){:target="_blank"} | -- |
-| G.OP2.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.OP2.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
### Regularization parameter
@@ -42,8 +41,8 @@
| -- | -- | -- | -- | -- | -- |
| G.OP3.001 | Fixed | -- | -- | A fixed value of $\lambda$ , rather than a determined value is assumed. **Input:** [$\lambda_{fixed}$ (Q.OP1.015)](quantities.md#Lambda_fixed){:target="_blank"} **Output:** [$\lambda$ (Q.OP1.013)](quantities.md#Lambda){:target="_blank"} | -- |
| G.OP3.002 | Generalized Cross Validation | -- | GCV | $\lambda$ is determined by minimizing the generalized cross validation cost function with respect to $\lambda$. **Input:** Optimizer (select from [optimizers](#Optimizers)) with a [GCV cost function (G.OP2.004)](#GCV) and [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"} = [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"} **Output:** [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"}| -- |
-| G.OP3.003 | L-Curve criterion | -- | LCC | $\lambda$ is determined by minimizing the L-curve cost function with respect to $\lambda$. **Input:** Optimizer (select from [optimizers](#Optimizers)) with a [L-curve cost function (G.OP2.005)](#LC) and [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"} = [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"}. **Output:** [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"}| -- |
-| G.OP3.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.OP3.003 | L-Curve criterion | -- | LCC | $\lambda$ is determined by minimizing the L-curve cost function with respect to $\lambda$. **Input:** Optimizer (select from [optimizers](#Optimizers)) with a [L-curve cost function (G.OP2.005)](#LC) and [$\phi$ (Q.OP1.001)](quantities.md#MP){:target="_blank"} = [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"}. **Output:** [$\lambda$(Q.OP1.013)](quantities.md#Lambda){:target="_blank"}| -- |
+| G.OP3.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
## Deconvolution
@@ -52,28 +51,28 @@
| -- | -- | -- | -- | -- | -- |
| G.DE1.001 | Discretization method | -- | -- | Method to transfer continuous models, functions and equations into discrete counterparts. Select from [Discretization methods](#Discretization methods).| -- |
| G.DE1.002 | Regularization method | -- | -- | Method to control an excessively fluctuating function such that the coefficients do not take extreme values. This is done by adding an additional penalty term in the cost function. Select a regularized cost function from [Cost functions](#Cost functions).| -- |
-| G.DE1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.DE1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
### Deconvolution methods
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.DE2.001 | Singular Value Decomposition | -- | SVD | Algebraic deconvolution of $h(x) = f(x) \ast g(x)$ with $f(x)$ and $h(x)$ sampled at discrete points $[f(x), x]$ and $[g(x), x]$. The convolution equation is discretized according to a given discretization method and the resulting matrix equation is solved as a regularized least-squares problem with a given regularization method. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [f(x), x], [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x], Discretization method (select from [discretization methods](#Discretization methods) ), [Regularization method](#Regularization method) **Output**: [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x] | -- |
-| G.DE2.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.DE2.001 | Singular Value Decomposition | -- | SVD | Algebraic deconvolution of $h(x) = f(x) \ast g(x)$ with $f(x)$ and $h(x)$ sampled at discrete points $[f(x), x]$ and $[g(x), x]$. The convolution equation is discretized according to a given discretization method and the resulting matrix equation is solved as a regularized least-squares problem with a given regularization method. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [f(x), x], [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x], Discretization method (select from [discretization methods](#Discretization methods) ), [Regularization method](#Regularization method) **Output**: [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] = [g(x), x] | -- |
+| G.DE2.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
### Discretization methods
In this group, the following notation is assumed for all functions $f$: $f_n = f(x_n)$, $g_i^- = (2g_i + g_{i-1})/6$, $g_i^+ = (2g_i + g_{i+1})/6$ and $g_i^\pm = g_i^+ + g_i^-$.
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.DI1.001 | Numerical convolution (first order)| -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot \sum_{i=0}^{n} (g_i\cdot h_{n-i})$ | -- |
-| G.DI1.002 | Block-circulant | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot(g_0h_n+g_1h_{n-1}+...+g_Nh_{n-N})$ . This requires $h_i$ to be pre-padded with *N* zeros such that $h_{i < 0} = 0$.| Wu 2004 |
-| G.DI1.003 | Volterra linear | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot (h_0g_n^+ +\sum_{i=1}^{n-1}h_{n-i}g_i^{\pm}+h_ng_0^+)$| Sourbron 2003 |
-| G.DI1.004 | Singular | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot(\sum_{i=-\infty }^{+\infty }h_{n-i}g_i^\pm )$. It is assumed that $g_i^\pm = 0$ for $i < 0$ and there is an index $k$ such that $h_n = 0$ for $n <- k$. | Ostergaard 1996 |
-| G.DI1.005 | Hybrid | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \frac{\Delta x}{2}\cdot(\sum_{i=-\infty }^{+\infty}h_{n-i}(g_{i-1}+g_i))$. | Willats 2006 |
-| G.DI1.006 | Exponential convolution | --| --| Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_{i+1}=e^{-x_i}f_i+g_iE_0(x_i)+a_i^\prime TE_1(x_i)$ with $x_i=\frac{t_{i+1}-t_i}{T}; a'_i=\frac{a_{i+1}-a}{t_{i+1}-t_i};\ E_0(x) = 1-e^{-x};\ E_1(x)=x-E_0(x)$. | Flouri 2016 |
-| G.DI1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
+| G.DI1.001 | Numerical convolution (first order)| -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot \sum_{i=0}^{n} (g_i\cdot h_{n-i})$ | -- |
+| G.DI1.002 | Block-circulant | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot(g_0h_n+g_1h_{n-1}+...+g_Nh_{n-N})$ . This requires $h_i$ to be pre-padded with *N* zeros such that $h_{i < 0} = 0$.| [Wu et al. 2003](https://doi.org/10.1002/mrm.10522){target="_blank"} |
+| G.DI1.003 | Volterra linear | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot (h_0g_n^+ +\sum_{i=1}^{n-1}h_{n-i}g_i^{\pm}+h_ng_0^+)$| [Sourbron et al. 2007](https://doi.org/10.1002/mrm.21182){target="_blank"} |
+| G.DI1.004 | Singular | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \Delta x\cdot(\sum_{i=-\infty }^{+\infty }h_{n-i}g_i^\pm )$. It is assumed that $g_i^\pm = 0$ for $i < 0$ and there is an index $k$ such that $h_n = 0$ for $n <- k$. | [Ostergaard et al. 1996](https://doi.org/10.1002/mrm.1910360510){target="_blank"} |
+| G.DI1.005 | Hybrid | -- | -- | Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_n = \frac{\Delta x}{2}\cdot(\sum_{i=-\infty }^{+\infty}h_{n-i}(g_{i-1}+g_i))$. | [Willats et al. 2006](https://doi.org/10.1002/mrm.20760){target="_blank"} |
+| G.DI1.006 | Exponential convolution | --| --| Convolutions $f(x)=g(x) \ast h(x)$ are calculated as $f_{i+1}=e^{-x_i}f_i+g_iE_0(x_i)+a_i^\prime TE_1(x_i)$ with $x_i=\frac{t_{i+1}-t_i}{T}; a'_i=\frac{a_{i+1}-a}{t_{i+1}-t_i};\ E_0(x) = 1-e^{-x};\ E_1(x)=x-E_0(x)$. | [Flouri et al. 2016](https://doi.org/10.1002/mrm.25872){target="_blank"} |
+| G.DI1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
@@ -83,18 +82,18 @@ General processes applied to a given data set, e.g. processes to derive descript
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
| G.CD1.001 | Calculate value at data grid point | -- | Calc $f(x_i)$ | This process returns the data value $f(x_i)$ at the data grid point $x_i$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [*i* (Q.GE1.003)](quantities.md#index){:target="_blank"} **Output**: [$f(x_i)$ (Q.CD1.001)](quantities.md#f(x_i)){:target="_blank"} | -- |
-| G.CD1.002 | Calculate maximum of data | -- | Calc $f_{max}$ | This process returns the maximum data value $f_{max}$ . **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [ $f_{max}$ (Q.CD1.002)](quantities.md#f_max){:target="_blank"} | --|
+| G.CD1.002 | Calculate maximum of data | -- | Calc $f_{max}$ | This process returns the maximum data value $f_{max}$ . **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [ $f_{max}$ (Q.CD1.002)](quantities.md#f_max){:target="_blank"} | --|
| G.CD1.003 | Calculate data grid point of maximum data value | -- | Calc $x_{max}$ | This process returns the data grid point at which the maximum of a given data set occurs. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] **Output**: [$x_{max}$ (Q.CD1.003)](quantities.md#x_max){:target="_blank"} | -- |
-| G.CD1.004 | Calculate minimum of data | -- | Calc $f_{min}$ | This process returns the minimum data value $f_{min}$ . **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [$f_{min}$ (Q.CD1.004)](quantities.md#f_min){:target="_blank"} | --|
+| G.CD1.004 | Calculate minimum of data | -- | Calc $f_{min}$ | This process returns the minimum data value $f_{min}$ . **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [$f_{min}$ (Q.CD1.004)](quantities.md#f_min){:target="_blank"} | --|
| G.CD1.005 | Calculate data grid point of minimum data value | -- | Calc $x_{min}$ | This process returns the data grid point at which the minimum of a given data set occurs. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] **Output**: [$x_{min}$ (Q.CD1.005)](quantities.md#x_min){:target="_blank"} | -- |
| G.CD1.006 | Calculate value of final data point | -- | Calc $f_{fin}$ | This process returns the value of the data at the final data grid point. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}] **Output**: [$f_{fin}$ (Q.CD1.006)](quantities.md#f_fin){:target="_blank"} | -- |
| G.CD1.007 | Calculate final data grid point | -- | Calc $x_{fin}$ | This process returns the last data grid point of a given data grid. **Input:** [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"} **Output**: [$x_{fin}$ (Q.CD1.007)](quantities.md#x_fin){:target="_blank"} | -- |
-| G.CD1.008 | Calculate maximum deviation from baseline | --| Calc $\Delta f_{BL,max}$ | This process returns the maximum absolute deviation of a given data set and baseline. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Baseline value (Q.BL1.001)](quantities.md#f_BL){:target="_blank"} **Output**: [$\Delta f_{BL,max}$ (Q.CD1.008)](quantities.md#maxDev){:target="_blank"} | -- |
-| G.CD1.009 | Derivative at data grid point | -- | Calc $\frac{df(x_i)}{dx}$ | This process returns the value of the derivative of a given data set at the data grid point xi. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [i (Q.GE1.003)](quantities.md#index){:target="_blank"} **Output**: [$\frac{df(x_i)}{dx}$ (Q.CD1.009)](quantities.md#Deriv){:target="_blank"} | -- |
-| G.CD1.010 | Calculate time to peak | -- | Calc $TTP$ | This process returns the time to peak for a given bolus arrival time and data grid point of maximum value. **Input:** [$x_{max}$ (Q.CD1.003)](quantities.md#x_max){:target="_blank"}, [$BAT$ (Q.BA1.001)](quantities.md#BAT){:target="_blank"} **Output**: [$TTP$ (Q.CD1.010)](quantities.md#TTP){:target="_blank"} | -- |
-| G.CD1.011 | Calculate wash-in slope | -- | Calc $WIS$ | This process returns the wash-in-slope for a given baseline, maximum value and time to peak of a data set. **Input:** [$f_{max}$ (Q.CD1.002)](quantities.md#f_max){:target="_blank"}, [$f_BL$ (Q.BL1.001)](quantities.md#f_BL), [$TTP$ (Q.CD1.010)](quantities.md#TTP){:target="_blank"} **Output** : [$WIS$ (Q.CD1.011)](quantities.md#WIS){:target="_blank"} | -- |
+| G.CD1.008 | Calculate maximum deviation from baseline | --| Calc $\Delta f_{BL,max}$ | This process returns the maximum absolute deviation of a given data set and baseline. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Baseline value (Q.BL1.001)](quantities.md#f_BL){:target="_blank"} **Output**: [$\Delta f_{BL,max}$ (Q.CD1.008)](quantities.md#maxDev){:target="_blank"} | -- |
+| G.CD1.009 | Derivative at data grid point | -- | Calc $\frac{df(x_i)}{dx}$ | This process returns the value of the derivative of a given data set at the data grid point xi. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [i (Q.GE1.003)](quantities.md#index){:target="_blank"} **Output**: [$\frac{df(x_i)}{dx}$ (Q.CD1.009)](quantities.md#Deriv){:target="_blank"} | -- |
+| G.CD1.010 | Calculate time to peak | -- | Calc $TTP$ | This process returns the time to peak for a given bolus arrival time and data grid point of maximum value. **Input:** [$x_{max}$ (Q.CD1.003)](quantities.md#x_max){:target="_blank"}, [$BAT$ (Q.BA1.001)](quantities.md#BAT){:target="_blank"} **Output**: [$TTP$ (Q.CD1.010)](quantities.md#TTP){:target="_blank"} | -- |
+| G.CD1.011 | Calculate wash-in slope | -- | Calc $WIS$ | This process returns the wash-in-slope for a given baseline, maximum value and time to peak of a data set. **Input:** [$f_{max}$ (Q.CD1.002)](quantities.md#f_max){:target="_blank"}, [$f_BL$ (Q.BL1.001)](quantities.md#f_BL), [$TTP$ (Q.CD1.010)](quantities.md#TTP){:target="_blank"} **Output** : [$WIS$ (Q.CD1.011)](quantities.md#WIS){:target="_blank"} | -- |
| G.CD1.012 | Calculate wash-out slope | -- | Calc $WOS$ | This process returns the wash-out-slope for a given maximum value, final data value and the data grid points of the maximum and final data value of a data set. **Input:** [$f_{max}$ (Q.CD1.002)](quantities.md#f_max){:target="_blank"}, [$f_{fin}$ (Q.CD1.006)](quantities.md#f_fin){:target="_blank"}, [$x_{max}$ (Q.CD1.003)](quantities.md#x_max), [$x_{fin}$ (Q.CD1.007)](quantities.md#x_fin){:target="_blank"} **Output**: [$WOS$ (Q.CD1.012)](quantities.md#WOS){:target="_blank"}| -- |
-| G.CD1.013 | Calculate area under curve | -- | Calc $AUC_{x_{start}, x_{end}}$ | This process returns the integral of data on a data grid in between a range of data grid points $x_{start}$ and $x_{end}$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [[$x_{start}$ (Q.GE1.013)](quantities.md#x_start){:target="_blank"}, [$x_{end}$ (Q.GE1.014)](quantities.md#x_end)] **Output**: [$AUC_{x_{start}, x_{end}}$ (Q.CD1.013)](quantities.md#AUC){:target="_blank"} | -- |
+| G.CD1.013 | Calculate area under curve | -- | Calc $AUC_{x_{start}, x_{end}}$ | This process returns the integral of data on a data grid in between a range of data grid points $x_{start}$ and $x_{end}$. **Input:** [[Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Data grid (Q.GE1.001)](quantities.md#DataGrid){:target="_blank"}], [[$x_{start}$ (Q.GE1.013)](quantities.md#x_start){:target="_blank"}, [$x_{end}$ (Q.GE1.014)](quantities.md#x_end)] **Output**: [$AUC_{x_{start}, x_{end}}$ (Q.CD1.013)](quantities.md#AUC){:target="_blank"} | -- |
| G.CD1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
@@ -112,10 +111,10 @@ Processes related to segmentation are listed in this section.
### Segmentation methods
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
-| G.SE2.001 | Freehand | -- | -- | Manual freehand drawing of contours. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | --|
+| G.SE2.001 | Freehand | -- | -- | Manual freehand drawing of contours. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | --|
| G.SE2.002 | Threshold | -- | -- | This method selects all input data with values in a specified range between lower and upper threshold. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Lower threshold (Q.GE1.010)](quantities.md#L){:target="_blank"}, [Upper threshold (Q.GE1.011)](quantities.md#U){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | -- |
-| G.SE2.003 | Region growing | -- | -- | This method grows a region from selected seeds with values between the lower and upper value threshold in the neighborhood of the seeds. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Seeds (Q.SE1.004)](quantities.md#Seeds){:target="_blank"}, [Lower threshold (Q.GE1.010)](quantities.md#L){:target="_blank"}, [Upper threshold (Q.GE1.011)](quantities.md#U){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | -- |
-| G.SE2.004 | *K*-means clustering | -- | -- | This method partitions the input data in a number of clusters using the *K*-means clustering algorithm and selects the cluster with the ith index as binary mask. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Number of *K*-Means clusters (Q.SE1.005)](quantities.md#N_kMeans){:target="_blank"}, [*i* (Q.GE1.003)](quantities.md#index){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | -- |
+| G.SE2.003 | Region growing | -- | -- | This method grows a region from selected seeds with values between the lower and upper value threshold in the neighborhood of the seeds. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Seeds (Q.SE1.004)](quantities.md#Seeds){:target="_blank"}, [Lower threshold (Q.GE1.010)](quantities.md#L){:target="_blank"}, [Upper threshold (Q.GE1.011)](quantities.md#U){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | -- |
+| G.SE2.004 | *K*-means clustering | -- | -- | This method partitions the input data in a number of clusters using the *K*-means clustering algorithm and selects the cluster with the ith index as binary mask. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, [Number of *K*-Means clusters (Q.SE1.005)](quantities.md#N_kMeans){:target="_blank"}, [*i* (Q.GE1.003)](quantities.md#index){:target="_blank"} **Output**: [Binary mask (Q.SE1.001)](quantities.md#BinMask){:target="_blank"} | -- |
| G.SE2.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
@@ -148,16 +147,4 @@ Uncertainty estimation and statistics processes
| Code | OSIPI name| Alternative names|Notation|Description|Reference|
| -- | -- | -- | -- | -- | -- |
| G.AV1.001 | Calculate Average | -- | CalcAverage | This process returns the average of input data according to a specified averaging method. **Input:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}, Averaging method (select from [uncertainty estimation and statistics processes](#Uncertainty estimation and statistics processes)) e.g. [Calc $\bar{x}$ (G.US1.001)](#CalcMeanSample) **Output:** [Data (Q.GE1.002)](quantities.md#Data){:target="_blank"}| -- |
-| G.AV1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
-
-
-
-
-
-
-
-
-
-
-
-
+| G.AV1.999 | Method not listed | -- | -- |This is a custom free-text item, which can be used if a method of interest is not listed. Please state a literature reference and request the item to be added to the lexicon for future usage. | -- |
\ No newline at end of file