Closed essink closed 3 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?
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!
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...
Superseded by #57.
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:
python -m unittest lif_meanfield_tools.tests.integration.test_reproduce_Schuecker2015.SchueckerTestCase
python -m unittest lif_meanfield_tools.tests.integration.test_reproduce_Schuecker2015.SchueckerTestCase.test_frequencies
To re-generate the 'ground truth' data, the corresponding environment in the fixtures/make_Schuecker2015_data has to be used.