INM-6 / lif_meanfield_tools

LIF Meanfield Tools
GNU General Public License v3.0
4 stars 7 forks source link

Feature/tests #34

Closed essink closed 3 years ago

essink commented 4 years ago

Up to now only the Schuecker test is running, but with quite substantial deviation for the transfer function at high frequencies.

I added an environment.yaml (without version specifications) which can be used to run the tests.

Example of how to execute test from module directory:

To re-generate the 'ground truth' data, the corresponding environment in the fixtures/make_Schuecker2015_data has to be used.

essink commented 4 years ago

Additional note: for both transfer function (ground truth and test) calculations the shift-method with the mpmath.pcfu() as parabolic cylinder function is used. Up to now I could not find any reason for the occurring deviations.

Possibilities: dtype of arrays, different versions of mpmath?

essink commented 4 years ago

The two tests confirm reproducibility of the Schuecker 2015 and Bos 2016 with the lif-meanfield-toolbox.

In the Bos case I added the Bos2016_publicated_and_converted_data.h5 (results.h5 from publication converted via the conversion script of the h5py_wrapper to ensure readability) as ground truth data and generate basically the same data plus some additional intermediate steps via the 'old' code -> Bos2016_data.h5.

In the Schuecker case I just generate ground truth data using 'old' code -> Schuecker2015_data.h5

We might need to adapt the .gitignore for users to actually see these datasets.

Please try to run the tests and check whether everything makes sense!

essink commented 4 years ago

The Bos test currently takes way too long, I guess the setUp() function is called before every single test...thus we are calculating the transfer_functions/power_spectra/eigenvalue_spectra once per test...

moritzlayer commented 3 years ago

Superseded by #57.