Release notes:
This release incorporates LFPykit (https://github.com/LFPy/LFPykit), and breaks backwards compatibility in certain cases as detalied here: (from https://github.com/LFPy/LFPy/pull/226#issue-496068806)
This release breaks backwards compatibility in some cases.
Major changes including API changes:
1. Built in forward-model codes are being replaced by those in LFPykit (https://github.com/LFPy/LFPykit, https://LFPykit.rtfd.io)
2. new linear forward model classes from `LFPykit.models`:
- `PointSourcePotential`
- `LineSourcePotential`
- `CurrentDipoleMoment`
- `LaminarCurrentSourceDensity`
- `VolumetricCurrentSourceDensity`
3. `LFPy.Cell.simulate()` and `LFPy.Network.simulate()` now accepts `probes=[<LFPykit.models.* like instance>, ...]` representing extracellular recording devices, current dipole moment calculations.
4. `Cell/Network.simulate()` arguments `electrode`, `dotprodcoeffs` and `rec_current_dipole_moment` have been replaced with single parameter `probes`.
5. if `Cell/Network.simulate(probes=[<instance>], to_memory=True)`, the simulated measurement is set as `<instance>.data`
7. `Network.simulate` now calls hidden class methods `Network._run_simulation` or `Network._run_simulation_with_probes` internally.
8. File format for simulating to file (`Cell/Network.simulate(probes=[<instance>], to_file=True)`) has been revised, each element in `probes` results it's own group named according to `<instance>.__class__.__name__<number>`
9. `Cell` attributes `ustart, umid, uend; u in {x, y, z}` has been replaced with ndarrays `{x, y, z}` of shape `(totnsegs, 2)`. To get to the mid point simply issue `u.mean(axis=-1)`.
10. `Cell` attribute `diam` is now renamed `d` (same as in `LFPykit.GeometryCell`)
11. Tests and examples have been adapted to accommodate above changes.
12. Much better agreement with the pep8 style guide.
13. lintly flake8 check is running for each PR.
14. Adds the `eegmegcalc.NYHeadModel` class from LFPykit
15. All forward models from either transmembrane currents or dipole moments are defined as part of LFPykit - class methods that depend on LFPy.Cell methods are added as part of LFPy (as not to introduce a circular dependency)
Changesets
This feature/bugfix release contains the following changesets since https://github.com/LFPy/LFPy/releases/tag/v2.1.2:
47ebf98 (HEAD -> master, tag: v2.2, origin/master, origin/HEAD) Prep release 2.2 (303)
4262d6d Found fix for segfault11. Removed use of finalizer. (301)
b7ffcf6 Delete Synapses onto Cell object after simulate call (298)
0d96868 Turn hoc list attributes into protected (297)
2dacb9b (HEAD -> master, tag: v2.2rc5, origin/master, origin/HEAD) prep 2.2rc5 release (294)
4a474a4 extended Network.connect() save_connections feature to include all synaptic info (293)
540f094 (origin/master, origin/HEAD) Add macOS to build recipe (291)
61441f5 stale after 90 days, close after 30 (290)
3d2c34e run builds on python3.9, removed 3.6 (288)
334688f call mknrndll on Windows if it is available (284)
b0f8207 extended conda install instructions (282)
4620e8c removed print statement (281)
c8c7ff4 run coveralls after tests (279)
536ae73 goodbye travis-ci and thanks for all the fish (277)
71d1a1b missed commit (275)
f954772 bump version (274)
7a3b612 (tag: v2.2rc3) bump version (again)
df1f553 added some test files to MANIFEST, bump version
df4658e (tag: v2.2rc2) added long_description_content_type for PyPI
fd65dbc don't build wheels (272)
7ca094b test travisCI.com (271)
018168b bump version (need to test pythonpublish action) (270)