Skip to content

A repository to create a new interactive 3d GUI for compartmental neuron modeling tools like NEURON, Jaxley, and MOOSE.

License

Notifications You must be signed in to change notification settings

orrenravid1/CompartmentalNeuronGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CompartmentalNeuronGUI

A repository to create a new interactive 3d GUI for compartmental neuron modeling tools like NEURON, Jaxley, Arbor, and MOOSE. image image

Goal:

Provide a generic way for someone to swap out their compartmental neuron simulator, simulation setup, and add their own widgets and interactions to their visualization.

Current State:

Currently there is a functional demo both for the complex morphology of a single cell and the entire c elegans nervous system.

  • python examples/neuron/visualizer_example.py runs the complex morphology of a single cell demo
  • python examples/neuron/c_elegans_visualizer.py runs the whole c elegans nervous system morphology demo

Instructions

  1. Install neuron via pip install neuron on Unix or via an exe for Windows here: https://www.neuron.yale.edu/neuron/download

  2. Install as a package via pip install -e . in the root directory. NOTE: You must have Python 3.11 or higher.

  3. Run python examples/neuron/visualizer_example.py

  4. You can swap out the swc file being used by simply adding your swc file path instead of the one being used in the file.

  5. The demo will run a NEURON simulation where we load the morphology, add Hodgkin Huxley and passive dynamics, apply a number of current clamps over an 80 ms period

  6. a. You can update the experimental setup currently in the setup method. But this approach may be subject to change.

    b. The easy things to change currently are changing the mechanisms being added and point processes: IClamps, etc.

Controls

  1. You can interact by clicking on a section to watch its voltage trace
  2. You can rotate around by clicking and dragging LMB
  3. You can move around by pressing Shift and clicking and dragging LMB
  4. You can zoom either with the scroll wheel or clicking and dragging RMB
  5. Press Spacebar to restart the simulation.

Known issues:

  • PyOpenGL has a known bug affecting Instanced Rendering when using numpy>=2.3 so currently need to use numpy<2.3 for things to work. But a fix is in progress.

About

A repository to create a new interactive 3d GUI for compartmental neuron modeling tools like NEURON, Jaxley, and MOOSE.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages