Gai cốt truyện raster trăn

BBAmpPosts. 12Đã tham gia. Thứ sáu 26 Tháng ba 2010 2. 36 giờ chiều

  • Trích dẫn

bởi BBAmp » Thứ 5 ngày 28 tháng 10 năm 2010 12. 26 giờ chiều

Xin chào,

Có thể tạo biểu đồ raster của mạng lưới tế bào bằng cách sử dụng pylab giống như cách tôi có thể ghi và tạo biểu đồ điện thế màng của tế bào không?

I've tried following the syntax used in the NEURON documentation to the best of my ability:

Mã.

tobj = h.NetCon[h.PM[0].soma[.5]._ref_v, h.nil]
tobj.threshold = -65
tobj.record[vectemp]

PM[0] is a neuron created in NEURON.

I don't get any error messages but if I try to plot either tobj or the vecotor 'vectemp' I get a blank graph in pylab.

Any help is appreciated,
-Youngmin

tedQuản Trị TrangBài Viết. 6069Đã tham gia. Thứ 4 ngày 18 tháng 5 năm 2005 4. 50 chiềuĐịa điểm. Trường Đại học Y Yale Liên hệ

Trang mạng

  • Trích dẫn

bởi ted » Thứ Sáu, ngày 05 tháng 11 năm 2010 9. 33 giờ chiều

Khi xem lại câu hỏi của bạn, tôi nghĩ điều đầu tiên cần tìm hiểu là liệu vectemp có thực sự nắm bắt được thời gian tăng đột biến hay không và nếu không thì tại sao lại không.

Tôi không biết liệu pylab có tích hợp biểu đồ raster hay không, nhưng liệu nó có chức năng vẽ biểu đồ đánh dấu như ". " tại một vị trí xác định trên biểu đồ, sẽ dễ dàng tạo biểu đồ raster của riêng bạn.

BBAmpPosts. 12Đã tham gia. Thứ sáu 26 Tháng ba 2010 2. 36 giờ chiều

  • Trích dẫn

bởi BBAmp » Thứ ba ngày 16 tháng 11 năm 2010 7. 03 giờ chiều

Xin chào,

Cảm ơn bạn đã trả lời. Tôi đã thực hiện một cách tiếp cận tương tự với những gì bạn đề xuất và tìm ra điều gì sai.

Dự án của tôi hiện liên quan đến việc thực hiện mô phỏng được mã hóa hoàn toàn bằng NEURON và vẽ biểu đồ tất cả đầu ra bằng python. Hóa ra tôi đang trỏ đối tượng netcon tới h. BUỔI CHIỀU. soma[. 5]. _ref_v [trong đó PM là danh sách các nơ-ron được tạo trong NEURON] không ghi lại bất cứ thứ gì vì đối tượng netcon [trăn] được trỏ đến một ô [NEURON]. Đó là lý do tại sao vectơ trống. Nó sẽ ghi lại một cái gì đó nếu tế bào thần kinh được tạo trong python.

Nếu bất kỳ ai đang cố vẽ biểu đồ mô phỏng được mã hóa hoàn toàn bằng NEURON, hãy đảm bảo bạn tạo đối tượng netcon, ghi lại các sự kiện vào vectơ hoàn toàn bằng NEURON, SAU ĐÓ gọi các vectơ từ Python. Để tạo biểu đồ raster của dữ liệu bằng pylab, chỉ cần vẽ biểu đồ phân tán của vectơ. Bạn cũng có thể thay đổi các điểm đánh dấu ô thành hình vuông, hình tròn, hình tam giác, v.v.

Nếu nơ-ron của bạn đã được khởi tạo trong python, thì cú pháp trong bài đăng đầu tiên của tôi sẽ hoạt động tốt.

Tiến sĩ PI của tôi. Thomas đã liên hệ với Tom McTavish, người sẽ sớm đưa ra một gói sơ đồ raster gọn gàng dành riêng cho NEURON/Python trên một kho lưu trữ. Sử dụng gói của anh ấy, bạn sẽ có thể vẽ các thanh dọc để đánh dấu thời gian tăng đột biến mà pylab không thể làm được.

Tôi sẽ sớm viết một tài liệu chi tiết hơn về các bước tôi đã thực hiện để tạo các biểu đồ raster trong python [nói chung và không chỉ cụ thể cho vấn đề của tôi ở đây]. Tôi sẽ đăng tài liệu ở đây sau khi nó được viết.

BBAmpPosts. 12Đã tham gia. Thứ sáu 26 Tháng ba 2010 2. 36 giờ chiều

  • Trích dẫn

bởi BBAmp » Thứ 5 ngày 18 tháng 11 năm 2010 12. 48 giờ chiều

Tài liệu này CHỈ dành để vẽ sơ đồ raster. Vui lòng tham khảo tài liệu trực tuyến về pylab, NEURON và Python để tìm hiểu thêm về cách vẽ dữ liệu NEURON/Python.


1. Biểu đồ Raster Python cho Mô phỏng NEURON/Python
Phần này giả định rằng tất cả các ô và tham số của bạn đã được khởi tạo trong Python.

2. Biểu đồ Raster Python cho mô phỏng NEURON
Phần này giả định rằng tất cả các ô và tham số của bạn đã được khởi tạo trong NEURON.


1. Biểu đồ Raster Python cho Mô phỏng NEURON/Python

Mã.

import neuron, matplotlib.pylab as mp

h = neuron.h
Section = h.Section

list_of_cells = [] #this list will contain all the cells

for i in range[50]: #assuming you want 50 cells in the population.
	list_of_cells.append[Section[]] #append the list with NEURON sections [equivalent to creating a cell]


# here you will have to specify cell parameters, network connectivity, import mechanisms, etc.


#create vectors that will record data for the raster plot:
tvec = h.Vector[] #time
idvec = h.Vector[] #cell number


recording_netcon = h.NetCon[list_of_cells[i].soma[.5]._ref_v, h.nil, sec=list_of_cells[i].soma[.5]]
recording_netcon.threshold = -10 #set threshold to a value of your choice
recording_netcon.record[tvec, idvec, i]

h.load_file['stdrun.hoc']
h.tstop = 100 #simulation time in ms
h.run[] #run the simulation

#once the simulation is finished, plot using matplotlib:

#you may add titles, axis labels, legends, etc. as well.  The how-to is in the pylab documentation
mp.figure[1] #to change the size of the plot use: mp.figure[1, figsize=[20,20]]
mp.scatter[tvec, idvec, c='b', marker='+'] #you can change the color and marker according to the pylab documentation
mp.savefig['screenshots/raster_plot.png'] #this will save the plot - comment out if this is not needed

mp.draw[] 
mp.show[] #this allows you to view the plot - comment out if this not needed
mp.close[]



2. Biểu đồ Raster Python cho mô phỏng NEURON



Giả sử các ô của bạn đã được thêm vào danh sách có tên 'list_of_cells' và các ô đã được khởi tạo phù hợp với các thuộc tính mong muốn. Sau đó, bạn phải ghi lại hoàn toàn các chuyến tàu tăng đột biến trong NEURON bằng cú pháp sau.

Mã.

tvec = new Vector[]
idvec = new Vector[]

proc preprasterplot2[] {
     for i=0, list_of_cells.count[]-1 {
	 list_of_cells.object[i].soma netcon = new NetCon[&v[0.5], nil, -10, 1, 0]    
	 netcon.record[tvec, idvec, i+1]      
     } 

Giả sử mã này được lưu vào tệp có tên 'neuron. hoc'

Tạo tệp python trong cùng thư mục với 'neuron. hoc' với đoạn mã sau.

Mã.

import neuron, matplotlib.pylab as mp

h = neuron.h
Section = h.Section

h.load_file['neuron.hoc']

h.load_file['stdrun.hoc']
h.tstop = 100 #time of simulation in ms
h.run[] #run the simulation

#now the plotting code:
mp.figure[1] # to increase the size of the graph use: mp.figure[1, figsize=[20,20]]
mp.scatter[h.tvec, h.idvec, c='b', marker='+']

mp.savefig['screenshots/raster_plot.png'] #saves the plot – comment if this is not needed
mp.draw[]
mp.show[] #displays the plot immediately after the simulation is over – comment if this is not needed
mp.close[]

wwlyttonBài viết. 66Tham gia. Thứ tư 18 tháng năm 2005 10. 37pmLiên hệ

Trang mạng

  • Trích dẫn

bởi wwlytton » Thứ Sáu ngày 18 tháng 2 năm 2011 6. 59 giờ chiều

savefig cho pylab. scatter[] hoặc sơ đồ đường kẻ hoạt động từ python gốc nhưng dường như không hoạt động từ trình thông dịch python khi sử dụng 'nrniv -python'

import pylab
pylab. phân tán[[5,3,4],[1,7,8]]
pylab. savefig["ff. png"] # tạo lỗi 'libpng. lỗi zlib' trong nrniv
pylab. savefig["ff. svg"] # hoạt động
pylab. savefig["ff. pdf"] # không có lỗi nhưng tệp pdf hợp lệ trống
pylab. savefig["ff. ps"] # hoạt động
pylab. savefig["ff. eps"] # hoạt động
pylab. show[] # hoạt động

sau đây là các định dạng được cho là được hỗ trợ.
# Định dạng được hỗ trợ. emf, eps, pdf, png, ps, raw, rgba, svg, svgz

Lưu vào. png hoạt động khi chạy trực tiếp trình thông dịch python [và sau đó là 'nhập nơ-ron']

Chủ Đề