From 96d1fba00c2ae499056a81d430141d500d7695d8 Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Mon, 14 May 2018 10:31:46 -0500
Subject: 2018-05-14 10:31

---
 acquisition/chapter.tex | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

(limited to 'acquisition/chapter.tex')

diff --git a/acquisition/chapter.tex b/acquisition/chapter.tex
index 7fbd1e7..0a7d7b7 100644
--- a/acquisition/chapter.tex
+++ b/acquisition/chapter.tex
@@ -220,10 +220,10 @@ Under ``Status'', the loop time and scan index help users gauge the progress of
 In this case, the displayed pixel (index 6, 40) took 2.448 seconds to acquire.  %
 
 The other tabs are for more advanced interactions, and will be discussed further in future
-sections.  % 
+sections.  %
 The ``Program'' tab contains various rarely-needed displays and inputs to configure PyCMDS.  %
 The ``Hardware'' tab is where the advanced menu for each hardware appears
-(\autoref{acq:sec:hardware}).  % 
+(\autoref{acq:sec:hardware}).  %
 The ``Devices'' tab is where sensor settings live (\autoref{acq:sec:sensors}).  %
 The ``Autonomic'' tab is where users configure the autonomic system for active correction
 (\autoref{acq:sec:autonomic}).  %
@@ -246,7 +246,7 @@ This functionality has not yet been implemented.  %
 \begin{figure}
   \includegraphics[width=9in]{"acquisition/screenshots/004"}
   \caption[PyCMDS queue.]{
-    PyCMDS queue while acquiring data, on the ps system.  % 
+    PyCMDS queue while acquiring data, on the ps system.  %
   }
   \label{acq:fig:pycmds_queue_screenshot}
 \end{figure}
@@ -256,7 +256,7 @@ This functionality has not yet been implemented.  %
 \begin{figure}
   \includegraphics[width=9in]{"acquisition/screenshots/000"}
   \caption[PyCMDS while scanning.]{
-    PyCMDS scan tab while acquiring data, on the ps system.  % 
+    PyCMDS scan tab while acquiring data, on the ps system.  %
   }
   \label{acq:fig:pycmds_screenshot_during_scan}
 \end{figure}
@@ -385,7 +385,7 @@ Hardware  # implements basic thread control
 \end{codefragment}
 The powerful thing about this strategy is that the three driver-specific classes
 (\python{Homemade}, \python{Thorlabs}, and \python{Newport}) need only implement minimal
-driver-specific code, typically \python{start}, \python{set} and \python{close}.  % 
+driver-specific code, typically \python{start}, \python{set} and \python{close}.  %
 This means that code is more maintainable and less repeated.  %
 For example, when I added the autonomic system to PyCMDS, I edited the parent \python{Delay} class
 to respect a new method \python{set_offset}.  %
@@ -462,7 +462,7 @@ string corresponding to the name of the method you wish to run in the worker thr
 The \python{q} instance will hold the instruction until the \python{Driver} instance is ready, at
 which point \python{Driver.dequeue} will be called in the worker thread.  %
 There is no way for the driver to command hardware to do something in the main thread, but the
-driver can trigger signals like \python{update_ui} and modify Mutexes.  % 
+driver can trigger signals like \python{update_ui} and modify Mutexes.  %
 
 \begin{figure}
 	\includepython{"acquisition/parent_hardware.py"}
@@ -476,7 +476,7 @@ driver can trigger signals like \python{update_ui} and modify Mutexes.  %
 
 \begin{figure}
 	\includepython{"acquisition/driver.py"}
-  \caption[TODO]{
+  \caption{
     Parent class of all drivers.  %
   }
   \label{acq:fig:parent_driver_class}
@@ -666,7 +666,7 @@ Spectrometer driver instances require the following:
   \item \python{get_grating_details}
   \item \python{set_turret}
 \end{ditemize}
- 
+
 \autoref{acq:fig:spectrometer_advanced} is a screenshot of the MicroHR advanced menu on the
 fs system.  %
 Nothing can be changed in the advanced menu except the label, and the offset can be seen.  %
@@ -952,7 +952,7 @@ each pixel in turn.  %
 Written simply, it does the following:
 \begin{codefragment}{python}
 def ndindex(shape):
-    rs = [range(s) for s in shape]  
+    rs = [range(s) for s in shape]
     pools = map(tuple, rs)
     result = [[]]
     for pool in pools:
@@ -984,9 +984,9 @@ for idx in ndindex(shape):
   for hardware in hardwares:
       hardware.wait_until_still()
   for sensor in sensors:
-      sensor.read()    
+      sensor.read()
   for sensor in sensors:
-      sensor.wait_until_done() 
+      sensor.wait_until_done()
 \end{codefragment}
 The pattern is simple: launch hardware, wait for still, launch sensors, wait for done.  %
 The simplicity of this central loop truly shows the power of abstraction in PyCMDS.  %
@@ -1021,7 +1021,7 @@ The TUNE TEST module does a simple thing: it sets a chosen OPA to each of the po
 curve and does a monochromator scan of set width about that setpoint.  %
 In this way the tune (output color) agreement between the curve and the OPA can be determined.  %
 A new point curve with remapped colors is automatically created.  %
-% TODO: link to place in tuning chapter...
+See \autoref{cha:opa} for more information.  %
 
 \subsubsection{MOTORTUNE}
 
@@ -1111,7 +1111,7 @@ to get as much use as possible out of the available time.  %
 
 Currently spectral delay correction is done ``manually''.  %
 Relevant Wigner scans are taken using the SCAN module, processed using WrightTools, and generated
-coset files are manually applied in the autonomic menu.  % 
+coset files are manually applied in the autonomic menu.  %
 Ideally, ``check'' Wigners are then taken to verify the veracity of the corrections.  %
 In the future, it would be preferable to have a dedicated SDC module that did all of these things
 automatically.  %
-- 
cgit v1.2.3

