%!TEX root = report.tex % \chapter{The Diderot Basis Environment} \label{chap:basis} % polymorphic function \newcommand{\PFNSPEC}{\item[\normalfont{$\mathtt{#1} : (#2) #3 \rightarrow #4$}]\mbox{}\\} \newcommand{\FNSPEC}{\item[\normalfont{$\mathtt{#1} : #2 \rightarrow #3$}]\mbox{}\\} \newcommand{\imageTy}{\mkw{image}(#1)[#2]} \newcommand{\kernelTy}{\mkw{kernel\#}#2} \newcommand{\fieldTy}{\mkw{field\#}#1(#2)[#3]} \newcommand{\tensorTy}{\mkw{tensor}[#1]} \newcommand{\seqTy}{#1\mkw{\{}#2\mkw{\}}} \section{Overloaded operators} \section{Other operators} \section{Functions} \begin{description} \FNSPEC{atan2}{(\mkw{real},\,\mkw{real})}{\mkw{real}} returns the principal value of the arc tangent of $\frac{y}{x}$, using the signs of both arguments to determine the quadrant of the return value. \FNSPEC{CL}{\tensorTy{3,3}}{\mkw{real}} \PFNSPEC{convolve}{d,k,\sigma}{(\imageTy{d}{\sigma},\,\kernelTy{k})}{\fieldTy{k}{d}{\sigma}} \FNSPEC{cos}{\mkw{real}}{\mkw{real}} returns the cosine of its argument (measured in radians). \PFNSPEC{dot}{d}{(\tensorTy{d},\, \tensorTy{d})}{\mkw{real}} returns the dot product of two vectors. \FNSPEC{evals}{\tensorTy{3,3}}{\seqTy{\mkw{vec3}}{3}} \FNSPEC{evecs}{\tensorTy{3,3}}{\seqTy{\mkw{real}}{3}} \PFNSPEC{inside}{k,d,\sigma}{(\fieldTy{k}{d}{\sigma},\,\mkw{tensor}[d])}{\mkw{bool}} \PFNSPEC{load}{d,\sigma}{\mkw{string}}{\imageTy{d}{\sigma}} loads the named image file, which should be a Nrrd file. Note that this function may only be used in the global initialization part of a Diderot program. \FNSPEC{max}{(\mkw{real},\,\mkw{real})}{\mkw{real}} returns the minimum of its two arguments. \FNSPEC{min}{(\mkw{real},\,\mkw{real})}{\mkw{real}} returns the maximum of its two arguments. \FNSPEC{modulate}{(\mkw{tensor}[d],\,\mkw{tensor}[d])}{\mkw{tensor}[d]} \FNSPEC{pow}{(\mkw{real},\,\mkw{real})}{\mkw{real}} returns the first argument raised to the power of the second argument. \PFNSPEC{principleEvec}{d}{\mkw{tensor}[d,d]}{\mkw{tensor}[d]} \FNSPEC{sin}{\mkw{real}}{\mkw{real}} returns the sine of its argument (measured in radians). \FNSPEC{sqrt}{\mkw{real}}{\mkw{real}} returns the square root of its argument. \FNSPEC{tan}{\mkw{real}}{\mkw{real}} returns the tangent of its argument (measured in radians). \PFNSPEC{trace}{d}{\tensorTy{d,d}}{\mkw{real}} returns the \emph{trace} of a square matrix. \end{description}% \section{Kernels} Diderot knows about a number of standard convolution kernels, which are described in the following table: \begin{center} \begin{tabular}{r@{ \texttt{:} }lp{3.5in}} \multicolumn{2}{c}{\textbf{Specification}} & \textbf{Description} \\ \hline \texttt{bspln3} & \kw{kernel\#}\texttt{2} & cubic bspline reconstruction (does not interpolate) \\ \texttt{bspln5} & \kw{kernel\#}\texttt{4} & quintic bspline reconstruction (does not interpolate) \\ \texttt{ctmr} & \kw{kernel\#}\texttt{1} & Catmull-Rom interpolation \\ \texttt{tent} & \kw{kernel\#}\texttt{0} & linear interpolation \\ \hline \end{tabular}% \end{center}%
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: xttt{tent} & \kw{kernel\#}\texttt{0} & linear interpolation \\ \hline \end{tabular}% \end{center}%