Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] Diff of /trunk/doc/probe/paper.tex
 [diderot] / trunk / doc / probe / paper.tex

# Diff of /trunk/doc/probe/paper.tex

revision 273, Wed Aug 11 16:03:03 2010 UTC revision 274, Wed Aug 11 16:21:39 2010 UTC
# Line 66  Line 66
66  In the discussion below, we  use a number of notational conventions that are  In the discussion below, we  use a number of notational conventions that are
67  summarized in the following table:  summarized in the following table:
68  \begin{center}  \begin{center}
69    \begin{tabular}{cl}    \begin{tabular}{cp{4in}}
70      $V$ & the image data \\      $V$ & the image data \\
71      $F$ & the field reconstructed from $V$ \\      $F$ & the field reconstructed from $V$ \\
72      $\vecp$ & the position vector in field-space \\      $\vecp$ & the position vector in field-space \\
73      $\vecx$ & the position vector in image-space \\      $\vecx$ & the position vector in image-space \\
74      $\matM^{-1}$ & \\      $\matM^{-1}$ & homogeneous matrix that represents the transformation from world space to image space \\
75      $h$ & a piecewise polynomial convolution kernel \\      $h$ & a piecewise polynomial convolution kernel \\
76      $s$ & the support of $h$ \\      $s$ & the support of $h$ \\
77      $h_0,\,\ldots,h_{2s-1}$ & the polynomials that make up $h$ \\      $h_0,\,\ldots,h_{2s-1}$ & the polynomials that make up $h$ \\
# Line 279  Line 279
279    t = (double4)(f.z +1, f.z, f.z - 1, f.z - 2);    t = (double4)(f.z +1, f.z, f.z - 1, f.z - 2);
280    hz = a + t*(b + t*(c + t*d));    hz = a + t*(b + t*(c + t*d));
281
282    double vx = 0.0    double vy[4], vz[4];
283    for (int i = 1-s;  i < s;  i++) {    for (int i = 1-s;  i < s;  i++) {
double vy = 0.0
284      for (int j = 1-s;  j < s;  j++) {      for (int j = 1-s;  j < s;  j++) {
285        double4 v = (double4) (        double4 v = (double4) (
286            V[nx+i][ny+j][nz-1],            V[nx+i][ny+j][nz-1],
287            V[nx+i][ny+j][nz],            V[nx+i][ny+j][nz],
288            V[nx+i][ny+j][nz+1],            V[nx+i][ny+j][nz+1],
289            V[nx+i][ny+j][nz+2]);            V[nx+i][ny+j][nz+2]);
290        vy += dot(v, hz) * hy[j+s-1];        vz[j+s-1] += dot(v, hz);
291      }      }
292      vx += vx * hx[i+s-1];      vy[i+s-1] = dot((double4)(vz[0], vz[1], vz[2], vz[3]), hy);
293    }    }
294
295    return vx;    return dot((double4)(vy[0], vy[1], vy[2], vy[3]), hx);
296  }  }
297  \end{lstlisting}%  \end{lstlisting}%
298  \end{quote}%  \end{quote}%

Legend:
 Removed from v.273 changed lines Added in v.274