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
autochunk
can 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_vars
for automatic storing of the model results and optionally a `default_output. autochunk
can also integrate every model by a singledt
. This is a necessary preparation for the upcomingCircuit
class.- 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_input
and the output will be normalized to a given range (given bynormalize_bold_input_max
) and a BOLD signal will be computed. Seeneurolib.models.hopf
for 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.txt
file (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
deap
package. - Got rid of 230 lines of code while the functionality increased. Yay!