/articles/toma

To get this branch, use:
bzr branch http://darksoft.org/webbzr/articles/toma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
\begin{algorithm}[htb]
\DontPrintSemicolon
\caption{\label{alg:stdalg} Standard implementation of the back-projection kernel}
%\begin{algorithmic}
%\KwIn {$\vdata{m}_g$ - a thread index in a computational grid as reported by CUDA or OpenCL frameworks; geometrical configuration including number of projections in data set - $n_p$, center of rotational axis - $v_a$; 2D texture mapped onto the sinogram and the parameters $\cmem{c}_*$ in the constant memory storing the per-projection correction for rotational axis and sine \& cosine of the projection angle }
\KwIn {\algsimpleinput}
\KwOut {Reconstructed slice $\gmem{\vfloat{r}}$}
\Begin {
	$\vfloat{r} \eq 0$ \;
% 	$\vdata{m}_g \eq \vdata{m}_b \vmul \vdata{n}_t + \vdata{m}_t$ \;
	$\vdata{f}_g \eq \vdata{m}_g - \vdata{v}_a$ \;
	\ForTo{p}{0}{n_p}{
    		$h \eq \cmem{c_a}[p] + \vx{f_g} \mul \cmem{c_c}[p] - \vy{f_g} \mul \cmem{c_s}[p]$ \;
		$\vfloat{r} \aeq $ \KwTex{$h + \fconst{0.5}$, $p + \fconst{0.5}$} \;
	}
	$\gmem{\vfloat{r}}[\vy{m_g},\vx{m_g}] \eq \vfloat{r}$  \;
}
\end{algorithm}