From 49238f14e2eca3565c24b26c4bdd76c49fe35018 Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Tue, 13 Mar 2018 09:39:20 -0500
Subject: 2018-03-13 09:39

---
 processing/chapter.tex | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

(limited to 'processing/chapter.tex')

diff --git a/processing/chapter.tex b/processing/chapter.tex
index a1967c9..9cd0954 100644
--- a/processing/chapter.tex
+++ b/processing/chapter.tex
@@ -17,14 +17,6 @@ WrightTools is a software package at the heart of all work in the Wright Group.
 
 % TODO: more intro
 
-\section{Data object model}  % ====================================================================
-
-WrightTools uses a programming strategy called object oriented programming (OOP).  %
-
-It contains a central data ``container'' that is capable of storing all of the information about
-each multidimensional (or one-dimensional) spectra.  %
-
-\subsubsection{Python interface}  % ---------------------------------------------------------------
 
 WrightTools is written in Python, and endeavors to have a ``pythonic'', explicit and ``natural''
 application programming interface (API).  %
@@ -78,8 +70,34 @@ Within the public API are two classes, \mintinline{python}{Collection} \&
 \mintinline{python}{Collection} stores \textit{groups} of data objects (and other collection
 objects) in a hierarchical way for internal organization purposes.  %
 
-\subsubsection{wt5 file format}  % ----------------------------------------------------------------
+\section{Data object model}  % ====================================================================
+
 
+WrightTools uses a programming strategy called object oriented programming (OOP).  %
+
+It contains a central data ``container'' that is capable of storing all of the information about
+each multidimensional (or one-dimensional) spectra: the \mintinline{python}{Data} class.  %
+It also defines a \mintinline{python}{Collection} class that contains data objects, collection
+objects, and other pieces of metadata in a hierarchical structure.  %
+Let's first discuss \mitinline{python}{Data}.
+
+All spectra are stored within WrightTools as multidimensional arrays.  %
+Arrays are containers that store many instances of the same data type, typically numerical
+datatypes.  %
+These arrays have some \mintinline{python}{shape}, \mintinline{python}{size}, and
+\mintinline{python}{size}.  %
+In the context of WrightTools, they can contain floats, integers, complex numbers and NaNs.  %
+
+The \mintinline{python}{Data} class contains everything that is needed to define a single spectra
+from a single experiment (or simulation).  %
+To do this, each data object contains several multidimensional arrays (typically 2 to 50 arrays,
+depending on the kind of data).  %
+There are two kinds of arrays, instances of \mintinline{python}{Variable} and
+\mintinline{python}{Channel}.  %
+Variables are coordinate arrays that define the position of each pixel in the multidimensional
+spectrum, and channels are each a particular kind of signal within that spectrum.  %
+Typical variables might be \mintinline{python}{[w1, w2, w3, d1, d2]}, and typical channels
+\mintinline{python}{[pmt, pyro1, pyro2, pyro3]}.  %
 
 \section{Artists}  % ==============================================================================
 
-- 
cgit v1.2.3

