Technical question on Netcon and List garbage collection

Moderator: wwlytton

Post Reply
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Technical question on Netcon and List garbage collection

Post by Raj »

I have an adapted version of spikeplot, for use with my own network generating code. It works well unless I start using the same cells twice in different spikeplots. The ability to have several plots at the same is desirable to have if you want to produce a variety of plots for a presentation or paper.

As relevant objects are hidden in objects there should be no sharing of netcon objects between two spikeplot templates, however only the spikeplot last updated will show the spikes. So, apparently the data hiding is somewhere broken.

All this I can understand if something goes wrong with the NetCon(source,nil) construction and NetCon refence count (if it has such a thing).

I hope someone has some insight on this and maybe a suggestion for a workaround?
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

It never hurts to read the quick reference again.

Post by Raj »

On next thought the problem might reside in using NetCon record method:
Quick Reference wrote:The source will continue to record events until record is called with another netcon connecting to the source or until the vec is destroyed.
I'm still open to workarounds.
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Post by ted »

The easiest way to generate raster plots of spike times is to capture the
times to Vectors with NetCon.record(), then use Vector.mark() to make
the graph during postprocessing (i.e. after the simulation is complete). If
there are many spike trains to record, managing all the Vectors and NetCons
can be made easier by using Lists. The administrative aspects of recording
spike times in a parallel computing environment, where the network model
is distributed over multiple CPUs, can be handled by the
ParallelNetManager class's spike_record and want_all_spikes methods--see
http://www.neuron.yale.edu/neuron/stati ... NetManager
Model implementations that use the ParallelNetManager will also run without
modification on standalone, single-CPU machines, but documentation and
examples of how to use the ParallelNetManager are still under development.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Post by Raj »

The easiest way to generate raster plots of spike times is to capture the
times to Vectors with NetCon.record(), then use Vector.mark() to make
the graph during postprocessing (i.e. after the simulation is complete).
Yes, that is the way it is solved in spikeplt.hoc and which I use because I derived my solution from spikeplt.hoc.

I am corresponding with Michael Hines about a 3GL solution. I'll come back to this topic when we find the 3GL solution is functional and robust.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Groningen, The Netherlands
Contact:

Post by Raj »

Screenshot of the new spikeplot with multiple views on the same data (see the names of cells at the top right of each plot) , which becomes possible after the 3GL enhancement.
Image
Post Reply