aboutsummaryrefslogtreecommitdiff
path: root/processing
diff options
context:
space:
mode:
authorBlaise Thompson <blaise@untzag.com>2018-03-13 09:39:20 -0500
committerBlaise Thompson <blaise@untzag.com>2018-03-13 09:39:20 -0500
commit49238f14e2eca3565c24b26c4bdd76c49fe35018 (patch)
tree70e325f130422cf725f2621746e35f5af48a14d8 /processing
parent86dcec5fc7fb9d6a8b5d4617d5eecaa1e59c0fb4 (diff)
2018-03-13 09:39
Diffstat (limited to 'processing')
-rw-r--r--processing/chapter.tex36
1 files changed, 27 insertions, 9 deletions
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} % ==============================================================================