Comments (5)
@cjayb thanks for giving this a try!
Interesting, it seems that the example is broken for me as well. So, to proceed I would actually try using git bisect
and find the rogue commit. Once we have the rogue commit, we can try to figure out what's wrong!
from hnn-core.
I made some progress, but hitting a wall & in need of some help!
I was able to produce similar L-shaped dipole plots for the gamma-example by setting 'T_pois': -1
, i.e., switching off the only input to the network. So the problem seems to be missing rhythmic (distal) input. Sure enough, the alpha-net
has no spiketimes
after execution (this line returns empty lists).
@jasmainak did you reproduce on Neuron 7.8.0? I tried to trace back to the earliest commits of hnn_core
, but the problem persisted. NB I still have a hard time accepting that this is an nrnpython
-problem, since the example works in hnn
-proper.
I've tried to compare the logic in network.py
, but get lost in the methods calls. Assuming nrnpython
is functional, there must be a difference in how hnn_core
and hnn
call it? And specifically something with the rhythmic inputs.
Also: WTF? At least it explains the kink in the plots at 37 ms :)
from hnn-core.
@cjayb don't go back too far in the commits either. Because it might have been broken during the refactor. This commit for instance works fine for me. Does it work for you? I'm on Neuron 7.7.2, yes I know shame on me ... I should update :)
I don't think it's an nrnpython problem but more a bug in hnn-core since the code paths of hnn and hnn-core have diverged even though they started from the same parent.
I've tried to compare the logic in network.py, but get lost in the methods calls.
you're not the only one ;-)
Assuming nrnpython is functional, there must be a difference in how hnn_core and hnn call it? And specifically something with the rhythmic inputs.
This is just exposing the fact that there aren't enough tests in either hnn or hnn_core. Otherwise things won't break so easily. I would really try to find the rogue commit. If you do git bisect, it will keep proposing you commits. In each commit, you can run the example and see if you get the right output. Once you identify the rogue commit, the job becomes really easy.
WTF? At least it explains the kink in the plots at 37 ms :)
agreed, wtf indeed! I'm not aware of the historical reasons why this exists. Let's maybe raise a different issue for this and start a discussion? at the very least, the params need to be exposed in the function
from hnn-core.
Well, git bisect
did the trick :) Not sure what the best way forward is regarding tests, but we can continue that discussion elsewhere. Feel quite strongly about refactoring being needed here, but not experienced enough in API design to dare to take a first stab.
FYI: I don't recommend updating! I spent hours fiddling with compilations of openmpi (4.0.3)
and nrn (7.7.2)
on macOS clang (1103.0.32.62)
and python=3.7
in a conda
environment. Ended up ditching the effort and sticking with NEURON (7.8.0)
from PyPi instead.
from hnn-core.
FWIW, neuron will soon come to pip so I'm hoping this will become smoother in the future
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.