From c2a08c2b580ddf5002012d6149b9ff7a4e20a00e Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Mon, 26 Feb 2018 10:27:18 -0600 Subject: 2018-02-26 10:27 --- introduction/chapter.tex | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'introduction') diff --git a/introduction/chapter.tex b/introduction/chapter.tex index 3424a35..81a6b97 100644 --- a/introduction/chapter.tex +++ b/introduction/chapter.tex @@ -8,5 +8,42 @@ \section{The CMDS Instrument} +From an instrumental perspective, MR-CMDS is a problem of calibration and coordination. % +Within the Wright Group, each of our two main instruments are composed of roughly ten actively +moving component hardwares. % +Many of these components are purchased directly from vendors such as SpectraPhysics, National +Instruments, Horiba, Thorlabs, and Newport. % +Others are created or heavily modified by graduate students. % +The Wright Group has always maintained custom acquisition software packages which control the +complex, many-stepped dance that these components must perform to acquire MR-CMDS spectra. % + \section{Scientific Software} +When I joined the Wright Group, I saw that acquisition software was a real barrier to experimental +progress and flexibility. % +Graduate students had ideas for instrumental enhancements that were infeasible because of the +challenge of incorporating the new components into the existing software ecosystem. % +At the same time, students were spending much of their time in lab repeatedly calibrating optical +parametric amplifiers by hand, a process that sometimes took days. % +I chose to spend a significant portion of my graduate career focusing on solving these problems +through software development. % +At first, I focused on improving the existing LabVIEW code. % +Eventually, I developed a vision for a deeply modular acquisition software that could not be +practically created with LabVIEW. % +Using Python and Qt, I created a brand new acquisition software PyCMDS: built from the ground up to +fundamentally solve historical challenges in the Group. % +PyCMDS offers a modular hardware model that can ``re-configure'' itself to flexibly control a +variety of component hardware configurations. % +This has enabled graduate students to add and remove hardware whenever necessary, without worrying +about a heavy additional programming burden. % +PyCMDS is now used to drive both MR-CMDS instruments in the Group, allowing for easy sharing of +component hardware and lessening the total amount of software that the Group needs to maintain. % +Besides being more flexible, PyCMDS solves a number of other problems. % +It offers fully automated strategies for calibrating component hardwares, making calibration less +arduous and more reproducible. % +It offers more fine-grained control of data acquisition and timing, enabling more complex +algorithms to quickly acquire artifact-free results. % +In conjunction with other algorithmic and hardware improvements that I have made, PyCMDS has +decreased acquisition times by up to two orders of magnitude. % +A companion software, WrightTools (which I also created), solves some of the processing and +representation challenges of multidimensional data. % \ No newline at end of file -- cgit v1.2.3