-
logging module + log file, beware only import/manipulate logging module for our module
-
change logging to load config from file -> here take care not to overwrite existing loggers
-
use python 3.5 for development and minimal reqs check matplotlib
-
test suite to check min dependencies through to latest
-
import modules into _variables? No: check what numpy does via all
-
check that input_handler is fast when getting data in the right format. Yeah: checked 1k trials with length 1e6 in the right format 100 times in 60sec
-
add date to log file
-
draw fits behind coefficients but in legend data still first, matplotlib z-index? For dense/heavily fluctuating data, better fits in front
-
add all function arguments to log/resulting container
-
ask Jens to link our repo from nat comm url
-
How do we want to seed the rng per default?
-
Disentangle spaghetti code, probably along with all fix
-
log.status or log.progress that does not appear in files. maybe we can have this guy as console logger only with \r by default!
-
custom Fitfunction crashes fit due to call for default args?
-
Outputhandler rasterization and upper limit for exported stuff -> timeseries plots easily grow to hundreds of mb
-
try abs exp amplitude-> always positive without bounds
-
check if integrated autocorrelation time works, too -> only m < 1
-
sometimes saving from outputhandler crops labels -> tight_layout(), but this shoud only take place if external figure was not provided.
-
bug: calling coefficients with steps=np.arange(0,2000,10) crashes 0 -> invalid step
-
bug: breaking printout (probably \r if is not reset)
-
bug: crash on import if logfile cannot be overwritten.
-
bug: crash if no fit converges is inconvenient when running scripts
-
bug: wrapper crashes if substract trial average is used on activity of integers
-
important: set decent default maxstep for coefficients. at the moment it is 1500
-
check if inputhandler changes passed arrays in place or returns a copy
-
python deconstructor to close figures when outputhandler variables are overwritten.
- Note: OutputHandler create a huge amount of figures when scripted (and matplotlib interactive is true). Kindoff solved via deconstructor.
>>> import matplotlib
>>> matplotlib.use('Agg')
>>> mre.plt.close('all')
>>> mre.plt.close(2) # figure 2
- handling different trial lentgh: input_handler on each file. then v-stack
- Customizing plots, Rasterization, axis label, size, logscale
- propper required argument printout + errors with confusing stack traces in the right place
- less args
- plot
- replace member samples with bootsamples and trials; kept samples for now
- previous point has to change a bit more:
- trials -> trialcr: list of CoefficientResults 'cr';
- trialactivites: list of mean trial activities, always length 'numtrials'
- bootsamples -> bootstrapcr: list of 'cr'
- ndarray behaves a bit weird when adding objects (e.g. prints the sub arrays of the contained 'cr')
- this should allow to fit() and plot on resampled data and individual trials
- maybe drop 'namedtuple' inheritence for cr and fr, some functions we take over dont work well.
- reimplement useful ones _asdict (if child != None)
- _fields
- _index? no!
- function call parameters as dict in result of wrapper, coefficients and fit
- coefficients(): bootstrap for ts method, too
- just do the bootstrapping for coefficients and make bs of fit optional (fitting takes ages) fit use numboots from wrapper, if none only do bs for ceoffs
- numboot doesnt do anything so far
- results file mit function pars of all called steps
- target dir optional and how to deal with log file/console/function isolated?
- remove mean trial activity plot and 'average' if only a single trial
- adaptive maxfev in fit()
- loglevel argument should be the console handler, i would say. we have a default log file anyway.
- plot zorder is hardcoded, check if args set. removed shaded areas of fits
- add qunatil labels to fit results -> use 25% for fiterr instead of variance
- single trial | trial structure
- sm | ts
- numboots = 0 | > 0