calibcant/procedure.tex: Add a calibcant/pyafm stack figure
authorW. Trevor King <wking@tremily.us>
Tue, 14 May 2013 03:24:20 +0000 (23:24 -0400)
committerW. Trevor King <wking@tremily.us>
Tue, 14 May 2013 03:24:20 +0000 (23:24 -0400)
Make the parallel with the stack used by unfold-protein painfully
obvious by duplicating the figure with a differend greyed-out brain
module.

src/calibcant/procedure.tex

index 840db0abcfa65bb5e12da587ee959e911005a578..2b3f61e61ae6e7773f00f62851df39eb7f1a1f48 100644 (file)
@@ -7,7 +7,72 @@ buffer temperature $T$ with a thermocouple, and measuring thermal
 vibration when the tip is far from the surface to extract the fit
 parameters $G_{1f}$, $f_0$, and $\beta_f$.  I've written the
 \calibcant\ package to carry out this calibration procedure, building
-on packages in the \pyafm\ stack (\cref{fig:pyafm:stack}).
+on packages in the \pyafm\ stack (\cref{fig:calibcant:stack}).
+
+\begin{figure}
+  \begin{tikzpicture}[decoration={
+      markings,%  switch on markings
+      mark=%  add a mark for screw threading
+        between positions 0 and 1 step 1pt
+        with
+        {
+          \draw (0, 2pt) -- (1pt, -2pt);
+        }
+      }
+      ]
+    \tikzstyle{every node}=[text depth=0pt, rounded rectangle,
+      draw=blue!50, very thick, minimum height=1.7em]
+    \node[shape=rectangle,draw=none,inner sep=0]
+      (image) at (0,0) {
+      \asyinclude{figures/schematic/afm}};
+    \node[shape=rectangle,draw=black, semithick]
+      (daq) at ($(image.south west) + (-0.5, -1)$) {DAQ card};
+    \node[shape=rectangle,draw=black, semithick]
+      (motor) at ($(image.south) + (0, -1)$) {motor};
+    %\draw[
+    \coordinate (thermocouple) at ($(image.west) + (1, -4pt)$);
+    \node (pycomedi) at ($(daq) + (-5,0)$) {pycomedi};
+    \node (pypiezo) at ($(pycomedi) + (0,1)$) {pypiezo};
+    \node (pyafm) at ($(pypiezo) + (0,1)$) {pyafm};
+    \node[black!20] (unfold-protein) at ($(pyafm) + (0,1)$) {unfold-protein};
+    \node (stepper) at ($(pycomedi) + (2,1)$) {stepper};
+    \node (pypid) at ($(stepper) + (2,0)$) {pypid};
+    \node (h5config) at ($(pycomedi) + (-3,0)$) {h5config};
+    \node (calibcant) at ($(unfold-protein) + (-3,0)$) {calibcant};
+    \draw (pypiezo) -- (pyafm);
+    \draw (stepper) -- (pyafm);
+    \draw (pypid) -- (pyafm);
+    \draw[black!20] (pyafm) -- (unfold-protein);
+    \draw (h5config) -- (pypiezo);
+    \draw (h5config) -- (pyafm);
+    \draw[black!20] (h5config) -- (unfold-protein);
+    \draw (pyafm) -- (calibcant);
+    \draw (h5config) -- (calibcant);
+    \draw[purple] (pypid) -- (thermocouple);
+    % begin thermometer symbol
+    \draw[blue!20, line width=4pt, cap=round]
+      (thermocouple) -- ($(thermocouple) + (0,12pt)$);
+    \fill[blue!20] (thermocouple) circle (5pt);
+    \draw[red, line width=2pt, cap=butt]
+      (thermocouple) -- ($(thermocouple) + (0,8pt)$);
+    \fill[red] (thermocouple) circle (4pt);
+    % end thermometer symbol
+    % begin motor screw
+    \draw[black!20, line width=4pt]
+      (motor) -- (image.south);   % shaft with decoration threads
+    \draw[black, decorate, ultra thin]
+      (motor) -- (image.south);   % shaft with decoration threads
+    % end motor screw
+    \draw[red]
+      (pypiezo) -- (pycomedi) -- (daq) -- ($(image.south) + (-6pt, 0)$);
+    \draw[red, line width=2pt] (pycomedi) -- (daq);
+    \draw[blue] (stepper) -- (pycomedi) -- (daq) -- (motor);
+  \end{tikzpicture}
+  \caption{Dependency graph for \calibcant, which shares the
+    \pyafm\ stack with \unfoldprotein.  Only the ``brain'' module
+    changed with respect to
+    \cref{fig:pyafm:stack}.\label{fig:calibcant:stack}}
+\end{figure}
 
 \subsection{Photodiode calibration}
 \label{sec:calibcant:bump}