diff options
-rw-r--r-- | dissertation.pdf | bin | 34299047 -> 34321654 bytes | |||
-rw-r--r-- | processing/chapter.tex | 36 |
2 files changed, 27 insertions, 9 deletions
diff --git a/dissertation.pdf b/dissertation.pdf Binary files differindex 3efe0c6..49de813 100644 --- a/dissertation.pdf +++ b/dissertation.pdf 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} % ==============================================================================
|