diff options
Diffstat (limited to 'acquisition')
| -rw-r--r-- | acquisition/chapter.tex | 58 | 
1 files changed, 41 insertions, 17 deletions
| diff --git a/acquisition/chapter.tex b/acquisition/chapter.tex index d997e44..86c5c8c 100644 --- a/acquisition/chapter.tex +++ b/acquisition/chapter.tex @@ -11,7 +11,6 @@  \section{Introduction}  % =========================================================================
 -MR-CMDS instruments need to be capable of several different things.  %
  At its core, MR-CMDS is about delivering multiple pulses of light to a sample.  %
  The frequency and relative arrival time (delay) of each pulse must be scanned in the context of a
  basic multidimensional experiment.  %
 @@ -25,7 +24,7 @@ An automated monchromator is typically used to spectrally resolve or isolate out  Each of these features is an optomechanical device: a piece of hardware that must be controlled in
  the context of an MR-CMDS experiment.  %
 -A scan in MR-CMDS typically means going to a whole series of different positions.  %
 +A scan in MR-CMDS typically means sending hardware to a whole series of different positions.  %
  As an example, a three-dimensional ``movie'' might be collected in the following way:
  \begin{codefragment}{python, label=aqn:lst:psuedoaqn}
  w1_points = [14300, 14400, 14500, 14600, 14700]  # wn
 @@ -59,21 +58,35 @@ software must be built in an extendable way to accommodate the ever-changing har  configurations.  %
  In this chapter I describe how I built such an acquisition software, PyCMDS.  %
 +For context, some description of the acquisition software that PyCMDS replaced is warranted.  %
 +
 +On the ``ps table'' (focus on mixed vibrational-electronic spectroscopy of molecular systems),
 +PyCMDS replaces `ps\_control', an older acquisition software first developed in [YEAR] by Kent
 +Meyer [CITE].  %
 +ps\_control was very-much not modular, designed by generations of graduate students to get to
 +``minimum viable'' as quickly as possible.  %
 +When I joined the group, ps\_control had become unsustainable.  %
 +The ps table was being revamped with new hardware, and the old motherboard finally died, so new
 +software was desperately needed.  %
 +
 +On the ``fs table'' (focus on semiconductor photophysics), PyCMDS replaces `Control for Lots of
 +Research in Spectroscopy' (COLORS), developed by Schuyler Kain [CITE].  %
 +PyCMDS is, in many ways, inspired by COLORS.  %
 +Kain's design was modular in many ways.  %
 +Still, there were fundamental problems that COLORS could not address.  %
 +Chief among them was Kain's approach to the National Instruments DAQ card, which did not allow for
 +the flexibility required to introduce more interesting chopping schemes [SECTION].  %
 +
  PyCMDS is a unified software for controlling hardware and collecting data in the Wright Group.  %
 -It is written almost entirely in Python, with a graphical user interface (GUI) made using Qt.
 -[CITE]  %
 +It is written almost entirely in Python, with a graphical user interface (GUI) made using Qt
 +[CITE].  %
  It is cross-platform, with a core capable of running on Linux, Windows and macOS.  %
  It is open source, developed on GitHub. [CITE (GITHUB, PyCMDS)]  %
 -In the Wright Group, PyCMDS replaces the old acquisition softwares `ps control', written by
 -Kent Meyer, [CITE] and `Control for Lots of Research in Spectroscopy' (COLORS) written by Schuyler
 -Kain [CITE].  %
 -Today PyCMDS is used to drive both of the MR-CMDS instruments maintained by the Wright Group: the
 -``fs table'', focused on semiconductor photophysics, and the ``ps table'', focused on molecular
 -systems.  %
 -% BJT: consider giving more historical context re: COLORS, ps_control
 -
 -PyCMDS is best thought of as a central program with three kinds of modular ``plugins'' that can be
 -extended indefinitely:
 +Today PyCMDS is used to drive both the ps and fs tables.   %
 +
 +PyCMDS is best thought of as a core program with three kinds of modular ``plugins'' that can be
 +extended as needed.  %
 +The three plugin kinds are
  \begin{ditemize}
    \item Hardware: things that can be set to a position (\autoref{aqn:sec:hardware}).
    \item Sensors: things that can be used to measure a signal (\autoref{aqn:sec:sensors}).
 @@ -92,9 +105,13 @@ Besides the extendable modular pieces, the rest of PyCMDS is a mostly-static cod  modules and does the necessary things to handle display of information from, and communication
  between them.  %
 -% TODO: describe each of the sections of this chapter
 -
 -In designing PyCMDS, I was inspired by the nervous system...
 +PyCMDS offers many ways to interact with component hardwares.  %
 +Hardware can be set directly, or it can be moved in the context of a scan.  %
 +Less obviously, hardware must also move in the context of ``active correction'', such as spectral
 +delay correction.  %
 +I love to use the analogy of the nervous system when thinking of these two kinds of
 +instructions.  %
 +I have borrowed the terms ``autonomic'' and ``somatic'':
  \begin{dquote}
    The autonomic nervous system, which innervates primarily the smooth musculature of all organs,
 @@ -114,6 +131,13 @@ In designing PyCMDS, I was inspired by the nervous system...    \dsignature{W. J\"{a}nig, Autonomic Nervous System (1989) \cite{JanigW1989a}}
  \end{dquote}
 +Within PyCMDS, the autonomic system [SECTION] handles the ``reflex'' motion that is part of active
 +correction.  %
 +The somatic system [SECTION], on the other hand, handles the ``voluntary'' motion in the context of
 +acquiring a multidimensional scan.  %
 +
 +% BJT: consider a layout preview paragraph or two
 +
  \clearpage
  \section{Graphical user interface}  % =============================================================
 | 
