Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/pure-cfg/doc/report/basis.tex
ViewVC logotype

Annotation of /branches/pure-cfg/doc/report/basis.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 700 - (view) (download) (as text)

1 : jhr 326 %!TEX root = report.tex
2 :     %
3 :     \chapter{The Diderot Basis Environment}
4 :     \label{chap:basis}
5 :    
6 : jhr 699 % polymorphic function
7 : jhr 329 \newcommand{\PFNSPEC}[4]{\item[\normalfont{$\mathtt{#1} : (#2) #3 \rightarrow #4$}]\mbox{}\\}
8 :     \newcommand{\FNSPEC}[3]{\item[\normalfont{$\mathtt{#1} : #2 \rightarrow #3$}]\mbox{}\\}
9 : jhr 327 \newcommand{\imageTy}[2]{\mkw{image}(#1)[#2]}
10 :     \newcommand{\kernelTy}[2]{\mkw{kernel\#}#2}
11 :     \newcommand{\fieldTy}[3]{\mkw{field\#}#1(#2)[#3]}
12 : jhr 700 \newcommand{\tensorTy}[1]{\mkw{tensor}[#1]}
13 :     \newcommand{\seqTy}[2]{#1\mkw{\{}#2\mkw{\}}}
14 : jhr 327
15 : jhr 326 \section{Overloaded operators}
16 :    
17 :     \section{Other operators}
18 :    
19 :     \section{Functions}
20 :     \begin{description}
21 : jhr 699 \FNSPEC{atan2}{(\mkw{real},\,\mkw{real})}{\mkw{real}}
22 :     returns the principal value of the arc tangent of $\frac{y}{x}$,
23 :     using the signs of both arguments to determine the quadrant of the return
24 :     value.
25 : jhr 700 \FNSPEC{CL}{\tensorTy{3,3}}{\mkw{real}}
26 : jhr 327 \PFNSPEC{convolve}{d,k,\sigma}{(\imageTy{d}{\sigma},\,\kernelTy{k})}{\fieldTy{k}{d}{\sigma}}
27 :     \FNSPEC{cos}{\mkw{real}}{\mkw{real}}
28 : jhr 699 returns the cosine of its argument (measured in radians).
29 : jhr 700 \PFNSPEC{dot}{d}{(\tensorTy{d},\, \tensorTy{d})}{\mkw{real}}
30 :     returns the dot product of two vectors.
31 :     \FNSPEC{evals}{\tensorTy{3,3}}{\seqTy{\mkw{vec3}}{3}}
32 :     \FNSPEC{evecs}{\tensorTy{3,3}}{\seqTy{\mkw{real}}{3}}
33 : jhr 327 \PFNSPEC{inside}{k,d,\sigma}{(\fieldTy{k}{d}{\sigma},\,\mkw{tensor}[d])}{\mkw{bool}}
34 :     \PFNSPEC{load}{d,\sigma}{\mkw{string}}{\imageTy{d}{\sigma}}
35 : jhr 329 loads the named image file, which should be a Nrrd file.
36 :     Note that this function may only be used in the global initialization part of a Diderot
37 :     program.
38 : jhr 327 \FNSPEC{max}{(\mkw{real},\,\mkw{real})}{\mkw{real}}
39 : jhr 326 returns the minimum of its two arguments.
40 : jhr 327 \FNSPEC{min}{(\mkw{real},\,\mkw{real})}{\mkw{real}}
41 : jhr 326 returns the maximum of its two arguments.
42 : jhr 327 \FNSPEC{modulate}{(\mkw{tensor}[d],\,\mkw{tensor}[d])}{\mkw{tensor}[d]}
43 :     \FNSPEC{pow}{(\mkw{real},\,\mkw{real})}{\mkw{real}}
44 : jhr 326 returns the first argument raised to the power of the second argument.
45 : jhr 327 \PFNSPEC{principleEvec}{d}{\mkw{tensor}[d,d]}{\mkw{tensor}[d]}
46 :     \FNSPEC{sin}{\mkw{real}}{\mkw{real}}
47 : jhr 699 returns the sine of its argument (measured in radians).
48 :     \FNSPEC{sqrt}{\mkw{real}}{\mkw{real}}
49 :     returns the square root of its argument.
50 :     \FNSPEC{tan}{\mkw{real}}{\mkw{real}}
51 :     returns the tangent of its argument (measured in radians).
52 : jhr 700 \PFNSPEC{trace}{d}{\tensorTy{d,d}}{\mkw{real}}
53 :     returns the \emph{trace} of a square matrix.
54 : jhr 326 \end{description}%
55 :    
56 :     \section{Kernels}
57 :     Diderot knows about a number of standard convolution kernels, which are described in the
58 :     following table:
59 :     \begin{center}
60 :     \begin{tabular}{r@{ \texttt{:} }lp{3.5in}}
61 :     \multicolumn{2}{c}{\textbf{Specification}} & \textbf{Description} \\ \hline
62 :     \texttt{bspln3} & \kw{kernel\#}\texttt{2} & cubic bspline reconstruction (does not interpolate) \\
63 :     \texttt{bspln5} & \kw{kernel\#}\texttt{4} & quintic bspline reconstruction (does not interpolate) \\
64 : jhr 356 \texttt{ctmr} & \kw{kernel\#}\texttt{1} & Catmull-Rom interpolation \\
65 : jhr 326 \texttt{tent} & \kw{kernel\#}\texttt{0} & linear interpolation \\ \hline
66 :     \end{tabular}%
67 :     \end{center}%

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0