From 86dcec5fc7fb9d6a8b5d4617d5eecaa1e59c0fb4 Mon Sep 17 00:00:00 2001
From: Blaise Thompson <blaise@untzag.com>
Date: Mon, 12 Mar 2018 16:43:35 -0500
Subject: 2018-03-12 16:43

---
 processing/chapter.tex | 87 ++++++++++++++++++++++++++++++--------------------
 1 file changed, 53 insertions(+), 34 deletions(-)

(limited to 'processing/chapter.tex')

diff --git a/processing/chapter.tex b/processing/chapter.tex
index 9d50bac..a1967c9 100644
--- a/processing/chapter.tex
+++ b/processing/chapter.tex
@@ -2,6 +2,8 @@
 
 % TODO: cool quote, if I can think of one
 
+\clearpage
+
 From a data science perspective, CMDS has several unique challenges:
 \begin{ditemize}
   \item Dimensionality of datasets can typically be greater than two, complicating
@@ -27,52 +29,69 @@ each multidimensional (or one-dimensional) spectra.  %
 WrightTools is written in Python, and endeavors to have a ``pythonic'', explicit and ``natural''
 application programming interface (API).  %
 To use WrightTools, simply import:
-
-\begin{minted}{python}
-import numpy as np
- 
-def incmatrix(genl1,genl2):
-    m = len(genl1)
-    n = len(genl2)
-    M = None #to become the incidence matrix
-    VT = np.zeros((n*m,1), int)  #dummy variable
- 
-    #compute the bitwise xor matrix
-    M1 = bitxormatrix(genl1)
-    M2 = np.triu(bitxormatrix(genl2),1) 
- 
-    for i in range(m-1):
-        for j in range(i+1, m):
-            [r,c] = np.where(M2 == M1[i,j])
-            for k in range(len(r)):
-                VT[(i)*n + r[k]] = 1;
-                VT[(i)*n + c[k]] = 1;
-                VT[(j)*n + r[k]] = 1;
-                VT[(j)*n + c[k]] = 1;
- 
-                if M is None:
-                    M = np.copy(VT)
-                else:
-                    M = np.concatenate((M, VT), 1)
- 
-                VT = np.zeros((n*m,1), int)
- 
-    return M
-\end{minted}
+\begin{codefragment}{python}
+>>> import WrightTools as wt
+>>> wt.__version__
+3.0.0
+\end{codefragment}
+I'll discuss more about how exactly WrightTools packaging, distribution, and instillation works in
+\autoref{sec:processing_distbribution}.
+
+We can use the builtin Python function \mintinline{python}{dir} to interrogate the contents of the
+WrightTools package.  %
+\begin{codefragment}{python}
+>>> dir(wt)
+['Collection',
+ 'Data',
+ '__branch__',
+ '__builtins__',
+ '__cached__',
+ '__doc__',
+ '__file__',
+ '__loader__',
+ '__name__',
+ '__package__',
+ '__path__',
+ '__spec__',
+ '__version__',
+ '__wt5_version__',
+ '_dataset',
+ '_group',
+ '_open',
+ '_sys',
+ 'artists',
+ 'collection',
+ 'data',
+ 'diagrams',
+ 'exceptions',
+ 'kit',
+ 'open',
+ 'units']
+\end{codefragment}
+Many of these are dunder (double underscore) attributes---Python internals that are not normally
+used directly.  %
+The ten attributes that do not start with underscore are the public API that users of WrightTools
+typically use.  %
+Within the public API are two classes, \mintinline{python}{Collection} \&
+\mintinline{python}{Data}, which are the two main classes in the WrightTools object model.  %
+\mintinline{python}{Data} stores spectra directly as multidimensional arrays, and
+\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{Artists}  % ==============================================================================
 
+\subsection{Colormaps}  % -------------------------------------------------------------------------
 
+\subsection{Interpolation}  % ---------------------------------------------------------------------
 
 \section{Fitting}  % ==============================================================================
 
 
 
-\section{Distribution and licensing}  % ===========================================================
-
+\section{Distribution and licensing} \label{sec:processing_disbribution}  % =======================
 
 
 \section{Future directions}  % ====================================================================
\ No newline at end of file
-- 
cgit v1.2.3

