aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaise Thompson <blaise@untzag.com>2018-04-11 14:49:11 -0500
committerBlaise Thompson <blaise@untzag.com>2018-04-11 14:49:11 -0500
commit8ced3240799b418e1fad1850f62e1f99d3373ea4 (patch)
treee5aa611e0fc7201dc5520289866fa7f916c88d4b
parente5e384c51df4a08b803ce6c1deec9c90775eefab (diff)
2018-04-11 14:49
-rw-r--r--acquisition/chapter.tex58
-rw-r--r--dissertation.tex20
-rw-r--r--todo.org52
-rw-r--r--todo.org_archive27
4 files changed, 103 insertions, 54 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} % =============================================================
diff --git a/dissertation.tex b/dissertation.tex
index a38db68..798d378 100644
--- a/dissertation.tex
+++ b/dissertation.tex
@@ -64,21 +64,21 @@ This dissertation is approved by the following members of the Final Oral Committ
\include{introduction/chapter}
\part{Background} \label{prt:background}
-\include{spectroscopy/chapter}
-\include{software/chapter} % sof
+%\include{spectroscopy/chapter}
+%\include{software/chapter} % sof
\part{Development} \label{prt:development}
-\include{processing/chapter} % pro
+%\include{processing/chapter} % pro
\include{acquisition/chapter} % acq
-\include{active_correction/chapter} % act
-\include{opa/chapter} % opa
-\include{mixed_domain/chapter}
+%\include{active_correction/chapter} % act
+%\include{opa/chapter} % opa
+%\include{mixed_domain/chapter}
\part{Applications} \label{prt:applications}
-\include{PbSe_susceptibility/chapter}
-\include{PbSe_global_analysis/chapter}
-\include{MX2/chapter}
-\include{PEDOT_PSS/chapter}
+%\include{PbSe_susceptibility/chapter}
+%\include{PbSe_global_analysis/chapter}
+%\include{MX2/chapter}
+%\include{PEDOT_PSS/chapter}
% appendix -----------------------------------------------------------------------------------------
diff --git a/todo.org b/todo.org
index 0f0687c..24fa962 100644
--- a/todo.org
+++ b/todo.org
@@ -1,9 +1,3 @@
-* DONE distribution section :processing:
- CLOSED: [2018-04-11 Wed 11:28]
-* DONE development history from github :processing:
- CLOSED: [2018-04-11 Wed 11:29]
-* DONE development section :processing:
- CLOSED: [2018-04-11 Wed 11:30]
* TODO headers :introduction:
* TODO cite important CMDS discoveries, reviews :introduction:
* TODO incorporate Nancy's comments :introduction:
@@ -14,26 +8,29 @@
* TODO verify light-matter interaction content :spectroscopy:
* TODO finish instrumentation section (darien) :spectroscopy:
* IDEA linear vs multidimensional figure :spectroscopy:
-* IDEA see Paul's dissertation re: loss of resonance advantage with very fast pulses :spectroscopy:
-* TODO more references for object oriented programming :software:
-* IDEA incorporate StoddenVictoria2016a :software:
-* IDEA incorporate idea "most people over-trust software" :software:
-* IDEA consider refactoring or expanding OOP section :software:
-* TODO summary paragraphs in introduction :processing:
-* TODO finish discussing interpolation types :processing:
+* IDEA see Paul's dissertation :spectroscopy:
+** re: loss of resonance advantage with very fast pulses
+* TODO more references for object oriented programming :sof:
+** in inbox
+* IDEA incorporate StoddenVictoria2016a :sof:
+* IDEA incorporate idea "most people over-trust software" :sof:
+* IDEA consider refactoring or expanding OOP section :sof:
+* TODO summary paragraphs in introduction :pro:
+* TODO finish discussing interpolation types :pro:
** TODO describe figure
-* TODO specialty artists :processing:
-* TODO artist API :processing:
-* TODO gotchas (figures from czech...) :processing:
-* TODO axes content :processing:
-* TODO level :processing:
-* TODO tables :processing:
-* TODO finish describing function objects :processing:
-* TODO describe continuous integration :processing:
-* TODO describe readthedocs documentation :processing:
-* TODO future directions :processing:
-* TODO figure captions :processing:
-* TODO flesh out introduction :acq:
+* TODO specialty artists :pro:
+* TODO artist API :pro:
+* TODO gotchas (figures from czech...) :pro:
+* TODO axes content :pro:
+* TODO level :pro:
+* TODO tables :pro:
+* TODO finish describing function objects :pro:
+* TODO describe continuous integration :pro:
+* TODO describe readthedocs documentation :pro:
+* TODO future directions :pro:
+* TODO figure captions :pro:
+* DONE flesh out introduction :acq:
+ CLOSED: [2018-04-11 Wed 14:48]
* TODO show queue figure in GUI section :acq:
* TODO parents _are_ virtual hardware :acq:
* TODO hardware advanced panel descriptions :acq:
@@ -47,12 +44,13 @@
* TODO introduction paragraphs :act:
* TODO spectral delay correction :act:
* TODO poynting correction :act:
-* IDEA excitation power correction :act:
* TODO chopping (minimal) :act:
* TODO fibrillation (minimal) :act:
* TODO conclusions :act:
* TODO figure captions :act:
+* IDEA excitation power correction :act:
+* IDEA 2D delay example from ps system :act:
* TODO insert content :PbSe:
* TODO insert content from SI :mixed_domain:
-* IDEA 2D delay example from ps system :active:
* TODO verify all references :polish:
+* TODO read through and make links where appropriate :polish:
diff --git a/todo.org_archive b/todo.org_archive
index 2949981..324681b 100644
--- a/todo.org_archive
+++ b/todo.org_archive
@@ -76,3 +76,30 @@ Archived entries from file /home/blaise/source/dissertation/todo.org
:ARCHIVE_CATEGORY: todo
:ARCHIVE_TODO: DONE
:END:
+
+* DONE distribution section :processing:
+ CLOSED: [2018-04-11 Wed 11:28]
+ :PROPERTIES:
+ :ARCHIVE_TIME: 2018-04-11 Wed 14:04
+ :ARCHIVE_FILE: ~/source/dissertation/todo.org
+ :ARCHIVE_CATEGORY: todo
+ :ARCHIVE_TODO: DONE
+ :END:
+
+* DONE development history from github :processing:
+ CLOSED: [2018-04-11 Wed 11:29]
+ :PROPERTIES:
+ :ARCHIVE_TIME: 2018-04-11 Wed 14:04
+ :ARCHIVE_FILE: ~/source/dissertation/todo.org
+ :ARCHIVE_CATEGORY: todo
+ :ARCHIVE_TODO: DONE
+ :END:
+
+* DONE development section :processing:
+ CLOSED: [2018-04-11 Wed 11:30]
+ :PROPERTIES:
+ :ARCHIVE_TIME: 2018-04-11 Wed 14:04
+ :ARCHIVE_FILE: ~/source/dissertation/todo.org
+ :ARCHIVE_CATEGORY: todo
+ :ARCHIVE_TODO: DONE
+ :END: