nipymc
nipymc copied to clipboard
Implement validation routines that operate on the full design matrix
Currently we represent the design matrices for each term added to the model as its own array, but we don't have a single representation of all variables in a single design matrix. This makes it hard to apply most validations (e.g., to test for rank deficiency), and is also generally clunky. We should probably move to an architecture that has a separate DesignMatrix class, with each BayesianModel class collecting all DesignMatrix classes. Then we can implement a finalize() call that concatenates all DMs, runs a series of validations, applies convolution, etc. This will also make it easier to abstract the fMRI-specific parts of the package into separate classes so that nipymc can inherit from psypymc.