Changeset 30717 in project


Ignore:
Timestamp:
04/16/14 07:26:25 (7 years ago)
Author:
Ivan Raikov
Message:

picnic: converted to GLHP example to iexpr format

Location:
release/4/picnic/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/picnic/trunk/examples/GLHP.picnic

    r30716 r30717  
    1919;;
    2020
    21 (picnic-model GL
    22 
    23       (
    24 
    25        (config PFlength)
    26 
    27        (config PCLdepth)
    28 
    29        (config numAxonGolgi)  ;; GoC axonal dimensions
    30        (config GoC_Axon_Xmin)
    31        (config GoC_Axon_Xmax)
    32        (config GoC_Axon_Ymin)
    33        (config GoC_Axon_Ymax)
    34        (config GoC_Axon_Zmin)
    35        (config GoC_Axon_Zmax)
    36 
    37        (config GoC_nDendML) ;; GoC # of apical dendrites
    38        (config GoC_nDendGL) ;; GoC # of basolateral dendrites
    39 
    40        (config GoC_Ad_nseg) ;; GoC apical dendrites number of segments
    41        (config GoC_Ad_nsegpts) ;; GoC apical dendrites number of points per segment
    42 
    43        (config GoC_Bd_nseg)
    44        (config GoC_Bd_nsegpts)
    45 
    46        (config GoC_PhysApicalDendH)
    47        (config GoC_PhysApicalDendR)
    48        (config GoC_Atheta_min )
    49        (config GoC_Atheta_max )
    50        (config GoC_Atheta_stdev)
    51 
    52        (config GoC_PhysBasolateralDendH)
    53        (config GoC_PhysBasolateralDendR)
    54        (config GoC_Btheta_min )
    55        (config GoC_Btheta_max )
    56        (config GoC_Btheta_stdev)
    57 
    58        (config AAtoGoCzone)
    59        (config PFtoGoCzone)
    60        (config GoCtoGoCzone)
    61        (config GoCtoGoCgapzone)
    62 
    63        (config GoCxrange)
    64        (config GoCyrange)
    65 
    66        (const xExtent = GoCxrange)
    67        (const yExtent = GoCyrange)
    68 
    69 
    70        (component (type local-cell-forest) (name GC)
    71 
    72 
    73          (component (type layout) (name GranuleTcoordinates)
    74 
    75                     (s = (PointsFromFile ("GCTcoordinates.dat")))
    76                  
    77                     (output s)
    78             )
    79 
    80          (component (type section) (name AscendingAxons)
    81                    
    82                     (defun f (gid origin)
    83                       (let ((dX 0)
    84                             (dY 0)
    85                             (dZ (neg (PCLdepth))))
    86                         LineSegment (origin dX dY dZ)
    87                         ))
    88 
    89                     (const n = 1)
    90 
    91                     (p (u) = (generator f) (npts 4))
    92                    
    93                     (output u n)
    94 
    95                     )
    96          
    97          
    98          (component (type section) (name ParallelFibers)
    99 
    100                     (component (type perturbation)
    101                                
    102                                (defun pf (gid origin init)
    103                                  (let ((period (randomUniform (1.0 ~ (PFlength / 40.0) ~ init)))
     21picnic-model
     22  GL
     23       config PFlength
     24       
     25       config PCLdepth
     26       
     27       config numAxonGolgi  ;; GoC axonal dimensions
     28       config GoC_Axon_Xmin
     29       config GoC_Axon_Xmax
     30       config GoC_Axon_Ymin
     31       config GoC_Axon_Ymax
     32       config GoC_Axon_Zmin
     33       config GoC_Axon_Zmax
     34       
     35       config GoC_nDendML ;; GoC # of apical dendrites
     36       config GoC_nDendGL ;; GoC # of basolateral dendrites
     37       
     38       config GoC_Ad_nseg ;; GoC apical dendrites number of segments
     39       config GoC_Ad_nsegpts ;; GoC apical dendrites number of points per segment
     40       
     41       config GoC_Bd_nseg
     42       config GoC_Bd_nsegpts
     43       
     44       config GoC_PhysApicalDendH
     45       config GoC_PhysApicalDendR
     46       config GoC_Atheta_min
     47       config GoC_Atheta_max
     48       config GoC_Atheta_stdev
     49
     50       config GoC_PhysBasolateralDendH
     51       config GoC_PhysBasolateralDendR
     52       config GoC_Btheta_min
     53       config GoC_Btheta_max
     54       config GoC_Btheta_stdev
     55       
     56       config AAtoGoCzone
     57       config PFtoGoCzone
     58       config GoCtoGoCzone
     59       config GoCtoGoCgapzone
     60       
     61       config GoCxrange
     62       config GoCyrange
     63       
     64       const xExtent = GoCxrange
     65       const yExtent = GoCyrange
     66       
     67       component (type local-cell-forest) (name GC)
     68       
     69       
     70         component (type layout) (name GranuleTcoordinates)
     71                   
     72                    s = PointsFromFile ("GCTcoordinates.dat")
     73                   
     74                    output s
     75
     76         component (type section) (name AscendingAxons)
     77                   
     78                    fun f (gid origin)
     79                      let ((dX 0) (dY 0) (dZ (neg (PCLdepth))))
     80                        LineSegment (origin dX dY dZ)
     81                   
     82                    const n = 1
     83                   
     84                    p (u) = (generator f) (npts 4)
     85                   
     86                    output u n
     87         
     88         
     89        component (type section) (name ParallelFibers)
     90         
     91                    component (type perturbation)
     92                               
     93                               fun pf (gid origin init)
     94                                 let ((period (randomUniform (1.0 ~ (PFlength / 40.0) ~ init)))
    10495                                       (phase  0.0));;(randomUniform (0.0 ~ 10.0 ~ init))))
    10596                                   ;; Harmonic (amplitude period phase npts)
    106                                    (Harmonic (10.0 period phase 40))))
    107                                
    108                                (const n = 3)
    109                                
    110                                (p (s) = (generator pf) (initial (randomInit (39))))
    111 
    112                                (output s n)
    113                                
    114                                )
    115 
    116                     (defun f (gid origin)
    117                       (let ((dX (PFlength / 2))
    118                             (dY 0)
    119                             (dZ 0))
    120                         (LineSegment (origin dX dY dZ))))
    121 
    122                     (defun g (gid origin)
    123                       (let ((dX (PFlength / 2))
    124                             (dY 0)
    125                             (dZ 0))
    126                         (LineSegment (origin ~ (neg (dX)) ~ dY ~ dZ))))
    127                    
    128                     (const n = 1)
    129 
     97                                   Harmonic (10.0 period phase 40)
     98                               
     99                               const n = 3
     100                               
     101                               p (s) = (generator pf) (initial (randomInit (39)))
     102                               
     103                               output s n
     104                   
     105                    fun f (gid origin)
     106                      let ((dX (PFlength / 2)) (dY 0) (dZ 0))
     107                        LineSegment (origin dX dY dZ)
     108                   
     109                    fun g (gid origin)
     110                      let ((dX (PFlength / 2)) (dY 0) (dZ 0))
     111                        LineSegment (origin ~ (neg (dX)) ~ dY ~ dZ)
     112                   
     113                    const n = 1
     114                   
    130115                    ;; process u grows in the positive X direction
    131116                    ;; process v grows in the negative X direction
    132                     (p (u) = (generator f) (npts 200))
    133                     (p (v) = (generator g) (npts 200))
    134                    
    135                     (output u n v n)
    136 
    137                     )
    138          
    139          
    140 
    141          )
    142          
    143 
    144        (component (type cell-forest) (name GoC)
    145 
    146          (component (type layout) (name GolgiCoordinates)
    147 
    148                     (s = (PointsFromFile ("GoCcoordinates.dat")))
    149                  
    150                     (output s)
    151             )
    152          
    153          (component (type section) (name BasolateralDendrites)
    154 
    155 
    156                     (defun f (gid origin init)
    157                       (let (
    158                             (thetaDeg (randomNormal (GoC_Btheta_min GoC_Btheta_stdev init)))
    159                             (theta    ((PI / 180.) * thetaDeg))
    160 
    161                             (dX (GoC_PhysBasolateralDendR * cos (theta)))
    162                             (dY (GoC_PhysBasolateralDendR * sin (theta)))
    163                             (dZ GoC_PhysBasolateralDendH)
    164                             )
    165                    
    166                         LineSegment (origin dX dY dZ)))
    167 
    168                     (defun g (gid origin init)
    169                       (let (
    170                             (thetaDeg (randomNormal (GoC_Btheta_max GoC_Btheta_stdev init)))
    171                             (theta    ((PI / 180.) * thetaDeg))
    172 
    173                             (dX (GoC_PhysBasolateralDendR * cos (theta)))
    174                             (dY (GoC_PhysBasolateralDendR * sin (theta)))
    175                             (dZ GoC_PhysBasolateralDendH)
    176                             )
    177                    
    178                         LineSegment (origin dX dY dZ)))
    179 
    180                     (const n = 1)
    181 
    182                     (segp (u) = (generator f) (initial (randomInit (13)))
    183                                 (nsegs GoC_Bd_nseg) (nsegpts GoC_Bd_nsegpts))
    184 
    185                     (segp (v) = (generator g) (initial (randomInit (13)))
    186                                 (nsegs GoC_Bd_nseg) (nsegpts GoC_Bd_nsegpts))
    187                    
    188                     (output u n v n)
    189 
    190                     )
    191 
    192          (component (type section) (name ApicalDendrites)
    193 
    194                     (defun f (gid origin init)
    195                       (let (
     117                    p (u) = (generator f) (npts 200)
     118                    p (v) = (generator g) (npts 200)
     119                   
     120                    output u n v n
     121
     122       
     123       component (type cell-forest) (name GoC)
     124         
     125          component (type layout) (name GolgiCoordinates)
     126                   
     127                    s = (PointsFromFile ("GoCcoordinates.dat"))
     128                   
     129                    output s
     130                   
     131                   
     132         component (type section) (name BasolateralDendrites)
     133                     
     134                   
     135                    fun f (gid origin init)
     136                      let (
     137                           (thetaDeg (randomNormal (GoC_Btheta_min GoC_Btheta_stdev init)))
     138                           (theta    ((PI / 180) * thetaDeg))
     139                           (dX (GoC_PhysBasolateralDendR * cos (theta)))
     140                           (dY (GoC_PhysBasolateralDendR * sin (theta)))
     141                           (dZ GoC_PhysBasolateralDendH)
     142                          )
     143                        LineSegment (origin dX dY dZ)
     144                     
     145                     
     146                    fun g (gid origin init)
     147                      let (
     148                           (thetaDeg (randomNormal (GoC_Btheta_max GoC_Btheta_stdev init)))
     149                           (theta    ((PI / 180) * thetaDeg))
     150                           (dX (GoC_PhysBasolateralDendR * cos (theta)))
     151                           (dY (GoC_PhysBasolateralDendR * sin (theta)))
     152                           (dZ GoC_PhysBasolateralDendH)
     153                          )
     154                        LineSegment (origin dX dY dZ)
     155                       
     156                       
     157                    const n = 1
     158                   
     159                    segp (u) = (generator f) (initial (randomInit (13))) (nsegs GoC_Bd_nseg) (nsegpts GoC_Bd_nsegpts)
     160
     161                    segp (v) = (generator g) (initial (randomInit (13))) (nsegs GoC_Bd_nseg) (nsegpts GoC_Bd_nsegpts)
     162                   
     163                    output u n v n
     164                     
     165         component (type section) (name ApicalDendrites)
     166
     167                    fun f (gid origin init)
     168                      let (
    196169                            (thetaDeg (randomNormal (GoC_Atheta_min GoC_Atheta_stdev init)))
    197                             (theta    ((PI / 180.) * thetaDeg))
    198 
     170                            (theta    ((PI / 180) * thetaDeg))
    199171                            (dX (GoC_PhysApicalDendR * cos (theta)))
    200172                            (dY (GoC_PhysApicalDendR * sin (theta)))
    201173                            (dZ GoC_PhysApicalDendH)
    202                             )
    203                    
    204                         LineSegment (origin dX dY dZ)))
    205                    
    206                     (defun g (gid origin init)
    207                       (let (
     174                           )
     175                        LineSegment (origin dX dY dZ)
     176
     177                   
     178                    fun g (gid origin init)
     179                      let (
    208180                            (thetaDeg (randomNormal (GoC_Atheta_max GoC_Atheta_stdev init)))
    209                             (theta    ((PI / 180.) * thetaDeg))
    210 
     181                            (theta    ((PI / 180) * thetaDeg))
    211182                            (dX (GoC_PhysApicalDendR * cos (theta)))
    212183                            (dY (GoC_PhysApicalDendR * sin (theta)))
    213184                            (dZ GoC_PhysApicalDendH)
    214                             )
    215                    
    216                         LineSegment (origin dX dY dZ)))
    217                    
    218                     (const n = 1)
    219 
    220                     (segp (u) = (generator f) (initial (randomInit (17)))
    221                                 (nsegs GoC_Ad_nseg) (nsegpts GoC_Ad_nsegpts))
    222                    
    223                     (segp (v) = (generator g) (initial (randomInit (17)))
    224                                 (nsegs GoC_Ad_nseg) (nsegpts GoC_Ad_nsegpts))
    225                    
    226                     (output u n v n)
    227 
    228                     )
    229 
    230          (component (type section) (name Axons)
    231                    
    232                     (const n = numAxonGolgi)
    233 
    234                     (defun f (gid origin init)
    235                       (let ((dX (randomUniform (GoC_Axon_Xmin GoC_Axon_Xmax init)))
    236                             (dY (randomUniform (GoC_Axon_Ymin GoC_Axon_Ymax init)))
    237                             (dZ (randomUniform (GoC_Axon_Zmin GoC_Axon_Zmax init))))
    238                         LineSegment (origin dX dY dZ)))
    239 
    240                     (p (u) = (generator f) (initial (randomInit (23))))
    241                    
    242                     (output u n)
    243 
    244                     )
    245 
    246          )
    247 
    248        (component (type projection)
    249 
    250             (input (GC from cell-forests)
    251                    (GoC from cell-forests))
    252 
    253             (r = PFtoGoCzone)
    254 
    255             (set source = (section GC ParallelFibers))
    256             (set target = (section GoC ApicalDendrites))
    257 
    258             (PFtoGoC = (SegmentProjection (r source target)))
    259 
    260             (output PFtoGoC)
    261             )
    262 
    263 
    264        (component (type projection)
    265 
    266             (input (GC from cell-forests)
    267                    (GoC from cell-forests))
    268 
    269             (r = AAtoGoCzone)
    270 
    271             (set source = (section GC AscendingAxons))
    272             (set target = (union
     185                           )
     186                        LineSegment (origin dX dY dZ)
     187                   
     188                    const n = 1
     189
     190                    segp (u) = (generator f) (initial (randomInit (17)))
     191                               (nsegs GoC_Ad_nseg) (nsegpts GoC_Ad_nsegpts)
     192                   
     193                    segp (v) = (generator g) (initial (randomInit (17)))
     194                               (nsegs GoC_Ad_nseg) (nsegpts GoC_Ad_nsegpts)
     195                   
     196                    output u n v n
     197         
     198         component (type section) (name Axons)
     199                   
     200                    const n = numAxonGolgi
     201
     202                    fun f (gid origin init)
     203                      let (
     204                           (dX (randomUniform (GoC_Axon_Xmin GoC_Axon_Xmax init)))
     205                           (dY (randomUniform (GoC_Axon_Ymin GoC_Axon_Ymax init)))
     206                           (dZ (randomUniform (GoC_Axon_Zmin GoC_Axon_Zmax init)))
     207                          )
     208                        LineSegment (origin dX dY dZ)
     209                   
     210                    p (u) = (generator f) (initial (randomInit (23)))
     211                   
     212                    output u n
     213       
     214       component (type projection)
     215           
     216            input (GC from cell-forests) (GoC from cell-forests)
     217           
     218            r = PFtoGoCzone
     219           
     220            set source = (section GC ParallelFibers)
     221            set target = (section GoC ApicalDendrites)
     222             
     223            PFtoGoC = SegmentProjection (r source target)
     224           
     225            output PFtoGoC
     226           
     227       component (type projection)
     228           
     229            input (GC from cell-forests) (GoC from cell-forests)
     230           
     231            r = AAtoGoCzone
     232             
     233            set source = (section GC AscendingAxons)
     234            set target = union
    273235                           (section GoC ApicalDendrites)
    274236                           (section GoC BasolateralDendrites)
    275                            ))
    276 
    277             (AAtoGoC = (SegmentProjection (r source target)))
    278 
    279             (output AAtoGoC)
    280             )
    281 
    282        (component (type projection)
    283 
    284             (input (GoC from cell-forests))
    285 
    286             (r = GoCtoGoCzone)
    287 
    288             (set source = (section GoC Axons))
    289             (set target = (population GoC))
    290 
    291             (GoCtoGoC = (Projection (r source target)))
    292 
    293             (output GoCtoGoC)
    294             )
    295 
    296        (component (type projection)
    297 
    298             (input (GoC from cell-forests))
    299 
    300             (r = GoCtoGoCgapzone)
    301 
    302             (set source = (population GoC))
    303             (set target = (population GoC))
    304 
    305             (GoCtoGoCgap = (Projection (r source target)))
    306 
    307             (output GoCtoGoCgap)
    308             )
    309        
    310        ))
     237           
     238            AAtoGoC = SegmentProjection (r source target)
     239           
     240            output AAtoGoC
     241           
     242       component (type projection)
     243           
     244            input (GoC from cell-forests)
     245           
     246            r = GoCtoGoCzone
     247           
     248            set source = (section GoC Axons)
     249            set target = (population GoC)
     250           
     251            GoCtoGoC = Projection (r source target)
     252             
     253            output GoCtoGoC
     254
     255       component (type projection)
     256           
     257            input (GoC from cell-forests)
     258           
     259            r = GoCtoGoCgapzone
     260             
     261            set source = (population GoC)
     262            set target = (population GoC)
     263           
     264            GoCtoGoCgap = Projection (r source target)
     265           
     266            output GoCtoGoCgap
  • release/4/picnic/trunk/picnic.scm

    r30710 r30717  
    968968                               (lambda (x)
    969969                                 (case ($ x)
    970                                    ((picnic)        'picnic)
     970                                   ((picnic)      'picnic)
    971971                                   ((s-exp sexp)  'sexp)
    972972                                   (else          (error 'picnic "unknown input format" x)))))
     
    990990                       (dd          (if (opt 'debug)
    991991                                        (begin
    992                                           ;;(pp (car doc.iexpr))
     992                                          (pp (car doc.iexpr))
    993993                                          (picnic-verbose 1))))
    994994                           
Note: See TracChangeset for help on using the changeset viewer.