Wpiszmy nastepujący kod (plot_cell1.hoc): Geometria w NEURONIE Wpiszmy nastepujący kod (plot_cell1.hoc): Przyklad z The Neuron Book, Chapter 6 load_file("nrngui.hoc") /////// topology //////// NDEND = 10 create soma, apical, ap[NDEND], oblique[NDEND] access soma connect apical(0), soma(1) connect ap[0](0), apical(1) connect oblique[0](0), apical(1) for i=1,NDEND-1 { connect ap[i](0), ap[i-1](1) connect oblique[i](0), ap[i-1](1) } /////// geometry //////// soma { L = 30 diam = 30 } apical { L = 30 diam = 5 } for i=0,NDEND-1 { ap[i] { L = 15 diam = 2 } oblique[i] { L = 15+5*i diam = 1 }
Po wczytaniu do NEURONA i narysowaniu za pomoca Main Menu/Graph/ Shape plot (i po wybraniu opcji Shape style/Show diam) zobaczymy:
Aby uzyskać kontrolę nad wyglądem modelu musimy podać specyfikację geometrii 3D za pomocą poleceń pt3dadd(). pt3dadd(x,y,z,d) Add the 3d location and diameter point at the end of the current pt3d list. Assume that successive additions increase the arc length monotonically. When pt3d points exist in a section they are used to compute diam and L.
Wpiszmy nastepujący kod (plot_cell2.hoc): load_file("nrngui.hoc") /////// topology //////// NDEND = 10 create soma, apical, ap[NDEND], oblique[NDEND] access soma connect apical(0), soma(1) connect ap[0](0), apical(1) connect oblique[0](0), apical(1) for i=1,NDEND-1 { connect ap[i](0), ap[i-1](1) connect oblique[i](0), ap[i-1](1) } /////// geometry //////// forall pt3dclear() soma { pt3dadd(0, 0, 0, 30) pt3dadd(30, 0, 0, 30) apical { pt3dadd(30, 0, 0, 5) pt3dadd(60, 0, 0, 5) . . for i=0,NDEND-1 { ap[i] { pt3dadd(60+i*15, 0, 0, 2) pt3dadd(60+(i+1)*15, 0, 0, 2) } oblique[i] { pt3dadd(60+i*15, 0, 0, 1) pt3dadd(60+i*15, 15+5*i, 0, 1)
Main Menu/Graph/ Shape plot (i po wybraniu opcji Shape style/Show diam) zobaczymy:
Możemy też skorzystać ze współrzędnych względnych Możemy też skorzystać ze współrzędnych względnych. Współrzędne absolutne są podane tylko dla somy, dla pozostałych sekcji podajemy współrzedne względne (względem położenia ‘rodzica’) (plot_cell3.hoc): ////// geometry //////// forall pt3dclear() soma { pt3dadd(0, 0, 0, 30) pt3dadd(30, 0, 0, 30) } apical { pt3dadd(0, 0, 0, 5) pt3dadd(30, 0, 0, 5) for i=0,NDEND-1 { ap[i] { pt3dadd(0, 0, 0, 2) pt3dadd(15, 0, 0, 2) oblique[i] { pt3dadd(0, 0, 0, 1) pt3dadd(0, 15+5*i, 0, 1) load_file("nrngui.hoc") /////// topology //////// NDEND = 10 create soma, apical, ap[NDEND], oblique[NDEND] access soma connect apical(0), soma(1) connect ap[0](0), apical(1) connect oblique[0](0), apical(1) for i=1,NDEND-1 { connect ap[i](0), ap[i-1](1) connect oblique[i](0), ap[i-1](1) } .