Automatic chunkwise integration, model simplification, better datasets and evolution
We are happy to announce a new release of neurolib which brings us a lot closer to reaching one of our main milestones, the implementation of a multi-model Circuit π€―ππ.
Changes:
- This update brings Python 3.6-3.8 support (backwards compatibility)
- A new feature of all models called
autochunkcan integrate a model chunkwise by itself which makes model implementation a lot easier! If a model wants to use this feature, it has to specify a list of itsstate_vars(state variables), the name of the analogousinit_vars(initial values),output_varsfor automatic storing of the model results and optionally a `default_output. autochunkcan also integrate every model by a singledt. This is a necessary preparation for the upcomingCircuitclass.- With this update, every model can now also produce a BOLD signal. If the model is not a firing rate model (that produces outputs with a physcal unit of
Hz, namely spikes per second), it can specify an attributenormalize_bold_inputand the output will be normalized to a given range (given bynormalize_bold_input_max) and a BOLD signal will be computed. Seeneurolib.models.hopffor an example. - The DTI datasets can now be loaded with several normalization methods, if the appropriate information is provided in the dataset. The provided DTI matrices are produced using
FSL, from which we included thewaytotal.txt(number of valid fibers found) and thenvoxel.txtfile (number of voxels of the source region). - The evolutionary algorithm now allows you to register your own mating and mutation operators, making use of the simple interface that is provided by the
deappackage. - Got rid of 230 lines of code while the functionality increased. Yay!