\chapter{Processing} % TODO: cool quote, if I can think of one From a data science perspective, CMDS has several unique challenges: \begin{ditemize} \item Dimensionality of datasets can typically be greater than two, complicating \textbf{representation}. \item Shape and dimensionality change... \item Data can be large (over one million points). % TODO: contextualize large (not BIG DATA) \end{ditemize} I have designed a software package that directly addresses these issues. % 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). % 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} \subsubsection{wt5 file format} % ---------------------------------------------------------------- \section{Artists} % ============================================================================== \section{Fitting} % ============================================================================== \section{Distribution and licensing} % =========================================================== \section{Future directions} % ====================================================================