From 14bc9be2a66cba11f88c87a3aebc93d142b19743 Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Sun, 15 Apr 2018 18:02:35 -0500 Subject: 2018-04-15 18:02 --- processing/chapter.tex | 84 +++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) (limited to 'processing') diff --git a/processing/chapter.tex b/processing/chapter.tex index f201721..0d2e6ae 100644 --- a/processing/chapter.tex +++ b/processing/chapter.tex @@ -71,7 +71,7 @@ WrightTools is a moderately complex piece of software ($\sim$10,000 source lines important to keep the package internally organized so that users are able to use the pieces they need without feeling overwhelmed by the full complexity. % For organizational purposes, WrightTools is designed in a nested, hierarchical manner through heavy -use of object oriented programming (see section ...). % +use of object oriented programming (see \autoref{sof:sec:oop}). % In this introductory section, I wish to describe the overall structure of WrightTools, without going into too much detail. % In this way the reader can have some context in the sections below, where I describe some crucial @@ -100,7 +100,7 @@ Attributes are not interactive, they are simply pieces of attached information t accessed. % For example, \python{wt.__version__} as used in the code fragment above. % Classes are instructions for construction of particular custom object types, and can be -instantiated (see section ...). % +instantiated (see \autoref{sof:sec:oop}). % We'll talk extensively about the five main WrightTools classes: \python{Axis}, \python{Collection}, \python{Channel}, \python{Data}, and \python{Variable}, in the coming pages. % @@ -120,7 +120,7 @@ WrightTools is designed around a universal ``wt5'' file format. % wt5 files are simply extensions of the hdf5 format, with some additional requirements applied to their internal structure. % This puts wt5 files in the same category as other domain-specific heirarchial data formats (see -section ...). % +\autoref{sof:sec:hdf}). % One of the most important features of the HDF5 paradigm is the ability to access portions of the multidimensional arrays at a time. % WrightTools takes full advantage of this, such that the WrightTools package is simply an @@ -134,23 +134,23 @@ There are two classes which are top-level components of the WrightTools package: interfacing to the stored multidimensional arrays that constitute the CMDS datasets. % \python{Data} can be instantiated directly, but typically is instantiated by helper functions within the \python{data} subpackage, or by the \python{open} function. % -See section ... for more information. % +See \autoref{pro:sec:creating_data} for more information. % \python{Collection} is a container class, charged with storing groups of data objects and other collection objects---empowering users to organize their datasets into clearly structured and well labeled hierarchies within the wt5 file. % -See section ... for more information about \python{Collection}. % +See \autoref{pro:sec:collection} for more information about \python{Collection}. % The \python{artists} subpackage contains all of the tools needed to plot \python{Data} objects. % There are ``quick'' artist functions made primarily for use in interactive plotting, and a larger, more flexable set of classes and functions that can be used to construct more elaborate figures. % -See section ... for more information. % +See \autoref{pro:sec:artists} for more information. % The \python{fit} subpackage is an interface which endeavors to make fitting multidimensional \python{Data} objects as easy as possible. % Towards this end, the \python{fit} subpackage takes a unique approach of dimensionality reduction via fitting. % -See section .. for more information. % +See \autoref{pro:sec:fit} for more information. % The \python{datasets} subpackage is simply a python interface to the set of raw data that is distributed within WrightTools. % @@ -167,7 +167,8 @@ using datasets that are guaranteed to be on every machine. % The \python{diagrams} subpackage is a small set of tools used for drawing diagrams, with a focus on diagrams commonly required by CMDS practitioners. % -Currently \python{diagrams} can draw WMELs [CITE] and delay space labels (see figure ...). % +Currently \python{diagrams} can draw WMELs \cite{LeeDuckhwan1985a} and delay space labels (see +\autoref{pps:fig:delay_space} for an example). % \python{diagrams} interfaces well with artists since they both are built on top of matplotlib, so it is easy for WrightTools users to draw diagrams in the same figure as other elements. % @@ -200,20 +201,20 @@ As examples: \begin{table} \begin{tabular}{c | c | l} & type & description \\ \hline - \texttt{Collection} & class & DESCRIPTION TODO \\ \hline - \texttt{Data} & class & DESCRIPTION TODO \\ \hline - \texttt{artists} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{collection} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{data} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{datasets} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{diagrams} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{exceptions} & module & DESCRPTION TODO \\ \hline - \texttt{fit} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{kit} & subpackage & DESCRIPTION TODO \\ \hline - \texttt{open} & module & DESCRIPTION TODO \\ \hline - \texttt{units} & module & DESCRIPTION TODO \\ \hline + \texttt{artists} & subpackage & Plotting and figure generation. \\ \hline + \texttt{Collection} & class & Nestable container for data objects. \\ \hline + \texttt{collection} & subpackage & Collection creation functions. \\ \hline + \texttt{Data} & class & Central multidimensional dataset class. \\ \hline + \texttt{data} & subpackage & Data creation functions. \\ \hline + \texttt{datasets} & subpackage & Raw data for examples, testing. \\ \hline + \texttt{diagrams} & subpackage & Draw diagrams. \\ \hline + \texttt{exceptions} & module & WrightTools exception and warning types. \\ \hline + \texttt{fit} & subpackage & Fit data objects. \\ \hline + \texttt{kit} & subpackage & Small useful functions and classes. \\ \hline + \texttt{open} & module & Universal wt5 file open function. \\ \hline + \texttt{units} & module & Unit handling and conversion. \\ \hline \end{tabular} - \caption[Components of WrightTools]{ + \caption[Components of WrightTools.]{ Key components of WrightTools, lexicographically listed. } \label{pro:tab:wt} @@ -243,7 +244,7 @@ Variables contain all of the information about where every piece of hardware was in the multidimensional dataset, but most of the time users only want to work with data as parameterized by a few key variables. % Crucially, the exact choice of parameterization may be context dependent, or multiple -parameterizations may be desirable. [CITE NEFF-MALLON] % +parameterizations may be desirable. \cite{NeffMallonNathanA2017a} % Axes, instances of the WrightTools \python{Axis} class, are easy to use parameterized interfaces to the variable arrays. % Axes do not contain any \emph{new} information, they simply contain expressions which describe how @@ -269,30 +270,30 @@ shape of the data object, by slicing, interpolation, or both. % \texttt{convert} & method & Convert all axes of a certain kind. \\ \hline \texttt{create\_channel} & method & Create a new channel. \\ \hline \texttt{create\_variable} & method & Create a new variable. \\ \hline - \texttt{fullpath} & attribute & \\ \hline + \texttt{fullpath} & attribute & External and internal path to data. \\ \hline \texttt{get\_nadir} & method & Get the coordinates, in units, of the minimum of a channel. \\ \hline \texttt{get\_zenith} & method & Get the coordinates, in units, of the maximum of a channel \\ \hline \texttt{heal} & method & Remove nans from channel using interpolation. \\ \hline - \texttt{kind} & attribute & \\ \hline + \texttt{kind} & attribute & Instrumental origin of data. \\ \hline \texttt{level} & method & Subtract the average value of npts at the edge of a given axis. \\ \hline \texttt{map\_variable} & method & Map points of a variable to new points using linear interpolation. \\ \hline - \texttt{natural\_name} & attribute & \\ \hline - \texttt{ndim} & attribute & \\ \hline - \texttt{offset} & method & Offset one variable based on another variables''''' values. \\ \hline - \texttt{print\_tree} & method & \\ \hline - \texttt{remove\_channel} & method & \\ \hline - \texttt{remove\_variable} & method & \\ \hline - \texttt{rename\_channels} & method & \\ \hline - \texttt{shape} & attribute & \\ \hline + \texttt{natural\_name} & attribute & Natural name. \\ \hline + \texttt{ndim} & attribute & Number of dimensions. \\ \hline + \texttt{offset} & method & Offset one variable based on another variables values. \\ \hline + \texttt{print\_tree} & method & Print a pretty tree including all contents. \\ \hline + \texttt{remove\_channel} & method & Remove a channel. \\ \hline + \texttt{remove\_variable} & method & Remove a variable. \\ \hline + \texttt{rename\_channels} & method & Rename (multiple) channel(s). \\ \hline + \texttt{shape} & attribute & Shape of data. \\ \hline \texttt{share\_nans} & method & Share not-a-numbers between all channels. \\ \hline - \texttt{size} & attribute & \\ \hline + \texttt{size} & attribute & Number of pixels in entire data shape. \\ \hline \texttt{smooth} & method & Smooth a channel using an n-dimensional Kaiser window. \\ \hline - \texttt{source} & attribute & \\ \hline + \texttt{source} & attribute & File of origin. \\ \hline \texttt{split} & method & Split the data along a given axis, in units. \\ \hline \texttt{transform} & method & Transform the data. \\ \hline - \texttt{units} & attribute & \\ \hline - \texttt{variable\_names} & attribute & \\ \hline - \texttt{variables} & attribute & \\ \hline + \texttt{units} & attribute & Tuple of units for each axis. \\ \hline + \texttt{variable\_names} & attribute & Variable names. \\ \hline + \texttt{variables} & attribute & Variable objects. \\ \hline \texttt{zoom} & method & Zoom the data using spline interpolation of the requested order. \\ \hline \end{tabular} \caption[Attributes and methods of Data.]{ @@ -416,7 +417,7 @@ Section ... decribes the \python{Axis} class in greater detail. % \label{pro:tab:axis} \end{table} -\section{Creating a data object} % =============================================================== +\section{Creating a data object} \label{pro:sec:creating_data} % ================================= WrightTools data objects are capable of storing arbitrary multidimensional spectra, but how can w actually get data into WrightTools? % @@ -510,7 +511,7 @@ WrightTools. % \label{pro:tab:from_functions} \end{table} -\section{Collections} % ========================================================================== +\section{Collections} \label{pro:sec:collection} % =============================================== The WrightTools \python{Collection} class is a container class meant to organize the contents of the wt5 file. % @@ -577,8 +578,7 @@ Users can configure which files are routed to which from-function. % % TODO (also document on wright.tools) -\clearpage -\section{Visualizing a data object} % ============================================================ +\section{Visualizing a data object} \label{pro:sec:artists} % ==================================== After importing and manipulating data, one typically wants to create a plot. % The artists sub-package contains everything users need to plot their data objects. % @@ -1015,7 +1015,7 @@ To do this, the variable and channel names must agree. % \label{pro:fig:join_example} \end{figure} -\section{Fitting} % ============================================================================== +\section{Fitting} \label{pro:sec:fit} % ========================================================== Like the rest of WrightTools, the \python{fit} sub-package is made to play as nicely as possible with high-dimensional data. % -- cgit v1.2.3