From 96d1fba00c2ae499056a81d430141d500d7695d8 Mon Sep 17 00:00:00 2001 From: Blaise Thompson 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') 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