Comments (7)
I would start with a WIP pull request that makes netpyne
an optional dependency (nested import) and shows how you can obtain the same result (with a test).
However, even before spending too much time doing this, I would suggest writing an example. How do you expect the user to interact with these new capabilities? If they change the network, in what ways would they do it in the context of EEG/MEG signals?
from hnn-core.
This is more work than I plan on undertaking. Instead, I may first adopt some of the changes in PR #55 into the NetPyNE branch above.
If they change the network, in what ways would they do it in the context of EEG/MEG signals?
- performance: it would allow for reconfiguration of the network (e.g. synaptic weights) without tearing it down (necessary to avoid memory leaks) and rebuilding it
- it helps the HNN project goals by inferring a mechanistic understanding of EEG/MEG signals, not limited by the static network configuration used in HNN (and mne-python)
from hnn-core.
Oops, I meant mne-neuron instead of mne-python ^^
from hnn-core.
okay netpyne adoption is in my mental roadmap :) However, I don't want to rush it. Since the HNN code base is small it allows me to iterate fast, try things and learn more about Neuron. Adding a minimal GUI would not be that difficult (hopefully) once the code is a bit settled. In the meanwhile, I am hoping netpyne codebase improves a bit in terms of documentation / API etc. so one doesn't have to spend hours figuring out details of how it works.
from hnn-core.
Example of how this could look:
#93
This hides Neuron stuff inside of netpyne. Everything in hnn-core can be pickled, which makes it easier for joblibs and MPI to coexist.
Now network.py and cell.py just define the netpyne specification (not object-oriented) which is passed into netpyne. Work remains to make this more readable, and there are some questions about hard-coded values.
Note, several organizational splits:
- Moved spiking functions out of Net and into their own class Spike
- Moved simulation functions into simulation.py. These basically call netpyne simulation functions.
- MPI features/complexity in mpi.py. This is for advanced use cases on cluster compute systems.
from hnn-core.
maybe we need a netpyne coding sprint to understand and improve netpyne ... :)
from hnn-core.
True. I think that'd be very helpful...
from hnn-core.
Related Issues (20)
- BUG: MPI simulations break for `dt` of certain size HOT 1
- Upload data error - HNN gui HOT 2
- Clean up optimization API
- Improve error messages for adding drives
- rename simulate_dipole -> simulate HOT 3
- Proposed Enhancements for the Current GUI: A Refined Feature List HOT 1
- change name from calcium model to Kohl_2022 HOT 4
- [JOSS Review] HNN-core: A Python software for cellular and circuit-level interpretation of human MEG/EEG HOT 2
- [JOSS] Documentation HOT 1
- Optimization example error HOT 4
- Problems using non-'soma' values for record_isec argument in simulate_dipole() HOT 12
- [JOSS] Software Paper HOT 2
- pre-allocate arrays for storing continuous simulation data in network_builder.py
- issue with GUI install
- GUI does not show dipole plots HOT 2
- installation on m2 mac HOT 1
- [BUG] `plot_dipole` not showing in GUI with `matplotlib>=3.8.0` HOT 9
- tests: add axis data checks for all plots available in GUI HOT 2
- BUG: Deleting drives in GUI after file upload prevents loading of the same file HOT 1
- GUI callbacks error messages are not logged
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hnn-core.