text: 
  from neuron import h
  
  class TransformGC2:
      def __init__(self):
  
          # Create a section lookup by section name
          # Note: this assumes each section has a unique name
          self.name2section = dict([(sec.name(), sec) for sec in h.allsec()])
  
          # This will store the new section coordinates
          self.section_coords = { }
  
      def set_coords(self, sec_name):
          # Lookup the section
          nrn_section = self.name2section[sec_name]
  
          # Lookup its new coords
          new_coords = self.section_coords[sec_name]
  
          # Use 3D points as section L and diam sources
          h.pt3dconst(1, sec=nrn_section)
  
          # Clear the existing points - and allocate room for the incoming points
          h.pt3dclear(len(new_coords["diam"]), sec=nrn_section)
  
          # Use vectorization to add the points to section
          xvec = h.Vector(new_coords["x"])
          yvec = h.Vector(new_coords["y"])
          zvec = h.Vector(new_coords["z"])
          dvec = h.Vector(new_coords["diam"])
  
          h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
  
      def set_all(self):
          for sec_name in self.section_coords.keys():
              self.set_coords(sec_name)
  
      @staticmethod
      def apply_on(prefix):
          t = TransformGC2()
          t.define_coords(prefix)
          t.set_all()
  
      @staticmethod
      def apply():
          t = TransformGC2()
          t.define_coords()
          t.set_all()
  
      def define_coords(self, prefix = 'GC2[0]'):
          if prefix != '':
              prefix += '.'
  
          self.section_coords = {
            prefix + 'apic[8]': {
                'x':[0.527,0.030,-0.340,-0.316,0.048,0.497,0.877,1.212,1.336,1.470,1.814,1.920,1.957,2.004,2.061,2.354,2.486,2.344,2.257,2.563,2.940,3.295,3.285,3.219,3.540,3.661,3.725,3.861,3.920,3.812,3.894,4.271,4.828,5.509,6.434,7.338,8.016,8.568,9.090,9.813,10.371,10.832,11.538,12.118,12.765,13.405,13.963,14.449,15.041,15.706,16.576,17.320,17.680,18.325,19.184,19.781,20.349,20.822,21.217,21.857,23.018,24.005,24.920,25.690,25.936,25.699,25.617,25.713,26.196,26.680,27.331,28.423,29.455,30.349,30.832,31.227,31.608,32.157,32.763,33.545,34.345,35.122,35.415,36.025,37.137,38.268,39.455,40.215,40.958,42.126,43.276,44.350,45.055,46.159],
                'y':[-17.273,-22.043,-23.299,-24.601,-25.899,-27.132,-28.388,-29.646,-30.955,-32.263,-33.521,-34.841,-36.156,-37.477,-38.789,-40.065,-41.348,-42.647,-43.940,-45.207,-46.428,-47.703,-48.990,-50.281,-51.552,-52.872,-54.191,-55.497,-56.770,-58.083,-59.392,-60.656,-61.848,-62.977,-63.884,-64.834,-65.970,-67.175,-68.395,-69.475,-70.646,-71.854,-72.945,-74.132,-75.325,-76.519,-77.746,-78.989,-80.193,-81.314,-82.291,-83.295,-84.553,-85.719,-86.800,-88.005,-89.226,-90.495,-91.756,-92.816,-93.263,-94.085,-95.008,-96.078,-97.340,-98.640,-99.952,-101.254,-102.436,-103.622,-104.562,-105.003,-105.654,-106.466,-107.607,-108.823,-110.042,-111.181,-112.300,-113.273,-114.227,-115.062,-115.055,-114.867,-114.684,-114.927,-114.893,-114.993,-115.208,-115.570,-116.030,-116.522,-116.677,-116.257],
                'z':[80.151,80.316,80.434,80.382,80.203,80.177,80.295,80.368,80.318,80.300,80.367,80.378,80.413,80.427,80.438,80.572,80.808,80.952,81.072,81.431,81.717,81.936,81.888,81.763,81.764,81.675,81.575,81.594,81.796,81.886,81.777,81.753,81.741,81.816,81.923,81.965,81.847,81.759,81.800,81.952,82.113,82.241,82.401,82.439,82.055,81.676,81.408,81.263,81.145,81.196,81.330,81.493,81.548,81.316,80.832,80.532,80.054,79.718,79.669,79.926,80.345,80.539,80.544,80.435,80.366,80.310,80.419,80.673,80.987,81.490,82.433,83.236,83.956,84.706,85.380,85.898,86.309,86.834,87.235,87.638,88.086,88.707,90.661,91.787,92.756,93.665,94.463,95.112,95.771,96.406,96.981,97.792,98.537,99.391],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[7]': {
                'x':[0.527,0.359,0.297,0.200,-0.045,-0.292,-0.728,-1.324,-1.775,-2.443,-2.887,-3.404,-3.754,-3.965,-4.105,-4.274,-4.646,-5.130,-5.702,-6.039,-6.470,-7.101,-7.449,-7.856,-8.212,-8.583,-8.784,-8.974,-9.435,-9.849,-10.303,-10.925,-11.599,-12.305,-12.782,-13.273,-13.672,-14.151,-14.439,-14.533,-14.813,-15.872,-16.606,-16.859,-17.272,-17.850,-18.707,-19.308,-20.102,-20.981,-21.880,-22.702,-23.222,-23.811,-24.151,-24.257,-24.729,-25.123,-25.412,-25.773],
                'y':[-17.273,-18.072,-18.929,-19.756,-21.120,-21.370,-21.603,-22.244,-23.007,-23.681,-24.458,-25.199,-25.993,-26.833,-27.696,-28.538,-29.358,-30.119,-30.812,-31.610,-32.856,-33.500,-33.792,-34.568,-35.364,-36.178,-37.012,-37.863,-38.639,-38.936,-39.185,-39.870,-41.028,-41.656,-41.866,-42.084,-42.365,-43.133,-43.961,-44.817,-45.627,-46.483,-46.980,-47.765,-49.031,-50.214,-51.269,-51.957,-52.429,-52.764,-53.065,-53.532,-54.247,-55.443,-56.718,-58.016,-59.238,-60.047,-60.867,-61.680],
                'z':[80.151,81.565,82.165,82.750,83.112,84.365,85.594,86.857,87.910,89.278,89.809,90.546,91.260,91.807,92.487,93.144,93.672,94.251,96.080,97.205,97.908,99.656,100.852,101.933,103.239,103.922,104.656,105.146,105.996,107.033,108.116,109.050,109.638,110.473,111.764,113.191,114.196,114.935,115.529,116.102,116.657,117.204,118.618,119.534,120.178,120.625,121.214,121.697,122.151,122.522,122.984,123.434,123.927,124.530,125.068,125.762,126.528,127.025,127.584,128.299],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[6]': {
                'x':[1.375,2.110,2.848,3.352,3.303,3.157,3.073,3.007,2.957,2.901,2.766,2.438,2.255,2.087,1.915,1.762,1.689,1.544,1.372,1.026,0.755,0.527],
                'y':[-0.668,-1.784,-2.749,-3.871,-4.582,-5.416,-6.270,-7.126,-7.996,-8.840,-9.699,-10.451,-11.268,-12.099,-12.466,-13.284,-14.118,-14.976,-15.836,-16.629,-16.942,-17.273],
                'z':[61.056,61.034,61.842,62.596,64.262,65.226,65.830,66.562,67.162,67.839,68.543,70.318,71.505,72.472,73.503,74.629,75.540,76.161,76.763,77.602,78.787,80.151],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'soma': {
                'x':[-0.469,0.000,0.469],
                'y':[0.000,0.000,0.000],
                'z':[0.000,0.000,0.000],
                'diam':[0.938,0.938,0.938]
            },
  
            prefix + 'apic[3]': {
                'x':[0.351,1.230,1.973,2.943],
                'y':[-0.428,-0.048,0.168,0.616],
                'z':[69.448,68.837,69.480,69.992],
                'diam':[0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[1]': {
                'x':[1.375,1.342,1.135,0.702,0.351],
                'y':[-0.668,-0.624,-0.412,-0.378,-0.428],
                'z':[61.056,62.503,64.875,67.500,69.448],
                'diam':[0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[4]': {
                'x':[2.943,3.809,4.908,5.452,5.656,5.630,5.798,6.433,6.955,7.660,8.436,9.523,9.952,10.068,10.194,10.827,11.542,12.267,12.989,13.471,14.130,14.838,15.389,15.425,15.389,15.471,16.041,16.767,17.467,18.627,19.775,20.442,20.502,20.570,21.162,21.912,22.637,23.348,24.089,24.803,25.969,26.725,27.859,28.610,29.366,30.497,31.604,32.203,32.372,32.993,33.714,33.950,34.462,35.071,35.212,35.392,35.897,36.590,37.703,38.754,39.358,39.873,40.585,41.350,41.946,42.491,42.902,42.686],
                'y':[0.616,0.701,0.316,-0.153,-0.233,-0.031,0.130,0.384,0.706,0.757,0.850,1.261,1.625,1.888,2.080,2.284,2.394,2.441,2.485,2.516,2.573,2.859,3.333,3.489,3.453,3.275,3.065,3.179,3.439,3.713,3.997,4.098,4.220,4.396,4.663,4.770,4.949,5.154,5.177,4.973,4.903,5.050,5.469,5.651,5.847,6.246,6.496,6.303,6.230,6.201,5.958,5.676,5.455,5.351,5.484,5.707,6.027,6.320,6.319,5.626,5.179,5.127,5.218,5.291,5.671,6.232,6.714,6.930],
                'z':[69.992,71.065,71.894,72.671,75.068,76.680,77.704,78.796,80.263,81.195,81.849,82.749,84.412,85.484,86.536,87.625,88.520,89.412,90.317,92.260,93.420,94.100,95.023,96.344,98.046,99.294,100.552,101.377,102.131,102.943,103.807,104.823,106.179,107.612,108.817,109.520,110.292,111.095,111.941,112.714,113.569,114.230,114.972,115.624,116.251,117.039,118.035,119.112,120.155,121.312,121.976,124.280,125.716,126.893,127.965,128.938,130.467,131.262,132.128,132.565,133.254,134.901,135.791,136.498,137.433,138.211,139.557,141.694],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[5]': {
                'x':[2.943,3.762,4.506,5.401,6.320,7.037,7.955,8.384,8.993,9.934,10.772,11.553,12.555,13.260,13.863,13.958,14.134,14.781,15.245,15.780,16.406,17.290,17.870,18.517,19.489,20.499,21.215,21.168,21.302,21.936,22.541,23.185,23.841,24.506,25.566,26.505,26.979,27.503,28.551,29.701,30.726,31.386,32.122,32.758,33.442,34.003,34.410,34.880,34.966,34.947,35.039,35.159,35.716,36.252,36.906,38.088,39.298,40.065,40.546,41.430,42.600,43.786,44.559,45.039,45.480,46.256,46.841,47.543,48.248,48.910,49.980,50.760,51.274,51.931,52.674,53.408,54.125,54.835,55.440,56.155,57.215,58.209,58.662,59.274,60.131,60.783,61.511,62.659,63.610,63.725,64.286,65.142,65.911,66.397,66.636,66.758,66.610],
                'y':[0.616,1.168,1.870,2.827,3.708,4.767,5.590,6.005,6.390,7.188,8.113,9.077,9.704,10.027,10.414,10.615,10.801,11.203,11.690,12.178,12.659,13.486,14.034,14.486,15.189,15.874,16.710,16.900,17.008,17.234,17.405,17.628,18.014,18.426,18.965,19.734,20.398,21.012,21.545,21.923,22.440,22.679,22.935,23.358,23.766,24.225,24.740,25.371,25.753,25.807,25.862,25.913,25.801,25.578,25.535,25.179,25.505,26.528,27.751,28.699,29.118,29.504,30.437,31.613,32.301,33.283,33.821,34.139,34.462,34.872,35.397,36.341,36.955,37.309,37.425,37.473,37.536,37.715,37.912,38.022,38.462,39.205,39.598,39.895,40.761,41.167,41.400,41.659,42.145,42.299,42.633,43.511,44.507,45.665,46.470,47.290,48.144],
                'z':[69.992,68.371,67.727,67.844,68.096,68.530,69.210,70.788,71.741,72.333,72.902,73.563,74.447,75.104,76.049,77.178,78.179,78.893,80.228,81.283,81.899,82.721,83.393,84.073,84.916,85.724,87.118,88.753,89.987,91.199,92.540,93.628,94.406,95.111,95.973,96.735,97.345,98.042,98.938,99.667,100.738,101.744,102.445,103.213,103.876,104.813,106.378,107.223,109.815,111.523,112.923,114.275,115.704,117.174,118.327,118.878,119.073,118.908,118.583,118.615,119.063,119.551,120.132,120.905,121.521,122.244,122.871,123.593,124.250,124.969,125.793,126.590,127.205,127.984,128.747,129.581,130.497,131.368,132.642,133.537,134.467,135.168,136.555,137.615,138.469,139.207,139.880,140.761,142.156,143.382,144.543,145.120,145.610,146.321,146.982,147.976,149.419],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[2]': {
                'x':[0.351,-0.127,-0.701,-1.920,-2.843,-3.762,-4.283,-4.752,-5.546,-6.462,-7.501,-8.199,-8.773,-9.203,-9.679,-10.131,-10.865,-11.430,-12.140,-13.031,-14.449,-15.370,-15.989,-16.704,-17.620,-18.135,-18.687,-19.179,-20.147,-21.226,-21.803,-22.351,-22.818,-23.610,-24.310,-25.176,-25.802,-26.367,-27.247,-28.318,-29.328,-30.239,-31.176,-32.056,-32.943,-33.481,-34.014,-34.480,-35.085,-35.607,-36.361,-37.581,-38.540,-39.128,-39.710,-40.690,-41.594,-42.146,-42.704,-43.183],
                'y':[-0.428,-0.722,-1.392,-2.004,-2.206,-2.495,-2.617,-2.814,-3.403,-3.711,-3.978,-4.616,-5.308,-5.541,-5.769,-5.985,-6.578,-7.280,-7.884,-8.214,-8.495,-8.898,-9.563,-10.177,-10.565,-10.642,-10.738,-10.937,-11.287,-11.400,-11.411,-11.523,-11.741,-12.236,-12.835,-13.357,-14.054,-14.762,-15.161,-15.342,-15.579,-15.886,-16.208,-16.708,-17.176,-17.372,-17.540,-17.775,-18.487,-19.228,-19.783,-20.464,-20.806,-20.866,-20.942,-21.218,-21.520,-21.481,-21.297,-21.065],
                'z':[69.448,71.236,71.757,72.082,72.494,73.460,75.120,76.526,77.976,78.792,80.466,81.382,82.177,83.311,84.724,85.931,86.863,87.379,88.878,89.592,90.343,91.616,92.057,93.377,94.588,95.466,97.082,98.337,99.509,101.214,103.018,104.881,105.843,106.300,106.783,108.218,109.164,110.779,111.921,113.379,114.493,115.127,116.018,117.279,118.633,119.909,121.191,122.223,123.353,124.273,124.784,125.278,126.498,127.806,128.951,129.902,131.044,133.244,135.539,136.897],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
            prefix + 'apic[0]': {
                'x':[0.005,-0.223,-0.306,-0.359,-0.561,-1.014,-1.537,-2.305,-2.779,-2.760,-2.778,-2.887,-2.980,-3.029,-3.044,-3.091,-3.153,-3.094,-2.925,-2.786,-2.720,-2.599,-2.474,-1.892,-1.215,-0.762,-0.630,-0.617,-0.640,-0.579,-0.421,-0.231,-0.061,0.016,-0.042,-0.079,0.103,0.818,1.011,1.151,1.375],
                'y':[0.025,-0.095,-0.441,-1.077,-1.324,-1.483,-1.673,-2.297,-2.783,-2.985,-3.177,-3.334,-3.575,-3.872,-4.041,-4.024,-3.936,-3.842,-3.781,-3.728,-3.666,-3.589,-3.521,-3.374,-2.997,-2.623,-2.550,-2.487,-2.422,-2.345,-2.272,-2.180,-2.027,-1.849,-1.745,-1.702,-1.675,-1.566,-1.228,-0.997,-0.668],
                'z':[0.402,2.161,3.711,5.904,7.562,9.557,11.196,12.511,14.855,16.203,17.672,19.409,20.875,22.008,23.328,25.082,26.987,28.513,29.744,31.070,32.503,33.787,34.975,36.388,37.058,38.618,39.867,41.465,43.219,44.815,46.134,47.258,48.406,49.731,51.523,53.292,54.386,55.333,57.680,58.735,61.056],
                'diam':[0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592,0.592]
            },
  
  
          }
  
  from neuron import h
  
  class TransformGC5:
      def __init__(self):
  
          # Create a section lookup by section name
          # Note: this assumes each section has a unique name
          self.name2section = dict([(sec.name(), sec) for sec in h.allsec()])
  
          # This will store the new section coordinates
          self.section_coords = { }
  
      def set_coords(self, sec_name):
          # Lookup the section
          nrn_section = self.name2section[sec_name]
  
          # Lookup its new coords
          new_coords = self.section_coords[sec_name]
  
          # Use 3D points as section L and diam sources
          h.pt3dconst(1, sec=nrn_section)
  
          # Clear the existing points - and allocate room for the incoming points
          h.pt3dclear(len(new_coords["diam"]), sec=nrn_section)
  
          # Use vectorization to add the points to section
          xvec = h.Vector(new_coords["x"])
          yvec = h.Vector(new_coords["y"])
          zvec = h.Vector(new_coords["z"])
          dvec = h.Vector(new_coords["diam"])
  
          h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
  
      def set_all(self):
          for sec_name in self.section_coords.keys():
              self.set_coords(sec_name)
  
      @staticmethod
      def apply_on(prefix):
          t = TransformGC5()
          t.define_coords(prefix)
          t.set_all()
  
      @staticmethod
      def apply():
          t = TransformGC5()
          t.define_coords()
          t.set_all()
  
      def define_coords(self, prefix = 'GC5[0]'):
          if prefix != '':
              prefix += '.'
  
          self.section_coords = {
            prefix + 'apic[0]': {
                'x':[0.468,1.940,2.637,3.321,3.856,4.378,5.061,5.845,6.601,7.534,8.177,8.971,9.777,10.232,10.894,11.430,12.109,12.916,13.493,14.100,14.740,15.734,16.995,17.739,18.400,18.903,19.523,20.009,20.429,20.775,21.225,21.787,22.582,23.344,23.635,23.237,22.603,22.026,21.491,21.008,20.710,20.891,21.399,21.681,21.610,21.975,22.502,22.740,22.601,22.453,21.879,21.664,21.273,20.847,20.913,20.537,20.107,20.237,20.411,20.425,19.890,19.802,19.400,18.787,18.392,18.024,17.907,17.537,16.906,16.566,16.202,15.877,15.308,15.338,15.739,16.227,16.824,17.394,18.049],
                'y':[-0.002,0.205,0.151,0.166,0.335,0.510,0.542,0.439,0.352,0.773,1.421,1.959,2.509,2.682,2.676,2.807,3.439,3.932,3.951,3.959,3.994,4.339,4.451,4.366,4.350,4.461,4.956,5.041,5.205,5.423,5.569,5.602,5.434,5.142,5.003,5.143,5.161,4.768,4.214,3.601,2.800,2.352,1.922,1.549,0.775,0.346,-0.089,-0.500,-1.328,-1.994,-2.290,-2.626,-2.671,-2.744,-2.990,-3.472,-3.856,-4.145,-4.501,-4.701,-4.800,-5.102,-5.099,-5.334,-5.804,-6.298,-6.721,-6.662,-6.671,-7.060,-7.279,-7.345,-7.266,-7.298,-7.450,-7.639,-7.826,-7.907,-7.662],
                'z':[0.110,0.776,2.274,3.930,5.095,6.175,7.646,9.310,10.730,11.992,13.082,14.652,15.652,16.571,18.280,19.531,20.552,22.251,24.021,25.700,26.944,27.785,29.702,31.413,33.172,34.621,36.572,38.147,39.463,40.649,42.062,43.758,45.797,47.939,49.519,50.830,51.625,52.399,53.118,53.783,54.355,55.262,57.069,58.640,60.050,61.617,63.709,65.158,66.313,67.980,68.880,70.622,72.042,73.344,74.592,75.850,77.118,78.496,79.911,81.022,82.117,84.072,85.405,86.246,87.545,88.814,90.810,92.225,93.057,94.573,96.057,97.696,98.664,99.750,101.623,103.706,105.948,108.270,110.103],
                'diam':[0.592,0.736,0.674,0.491,0.480,0.643,0.582,0.357,0.245,0.245,0.307,0.491,0.715,0.787,0.664,0.715,0.664,0.888,0.787,0.736,0.613,0.613,0.909,0.837,0.837,0.766,0.787,0.613,0.491,0.541,0.715,0.909,0.981,0.858,0.552,0.245,0.245,0.307,0.368,0.368,0.541,0.766,0.939,0.888,0.909,0.766,0.694,0.643,0.592,0.429,0.480,0.541,0.541,0.643,0.541,0.541,0.694,0.694,0.582,0.357,0.552,0.613,0.491,0.715,0.766,0.694,0.357,0.307,0.592,0.491,0.643,0.541,0.715,0.837,0.766,0.694,0.694,0.694,0.419]
            },
  
            prefix + 'apic[3]': {
                'x':[11.456,11.067,10.462,9.706,8.846,8.195,7.744,7.296,6.406,5.452,4.853,4.076,3.783,4.090,4.467,4.821,5.066,5.070,4.704,4.310,3.599,2.865,2.070,1.212,0.473,-0.282,-0.877,-0.667,-0.339,-0.209,-0.661,-1.422,-1.821,-2.480,-3.120,-3.892,-4.782,-5.306,-6.097,-6.765,-6.890,-6.777,-6.915,-7.700,-8.263,-9.099,-9.837,-10.526,-11.016,-11.916,-12.668,-13.455,-14.271,-14.931,-15.284,-15.518,-15.577,-15.449,-15.628,-15.872,-16.085,-16.394,-16.684,-16.808,-16.841,-16.677,-16.670,-17.446,-18.357,-19.378,-20.441,-21.027,-21.221,-21.346,-21.461,-21.850,-22.399,-22.599,-22.362,-22.100,-22.126,-22.194,-22.054,-21.986,-22.329,-22.665,-23.163,-23.848,-24.072,-23.566,-23.099,-22.914,-22.606,-22.176,-21.561,-21.169,-20.976,-20.897,-20.675,-20.446,-20.463,-20.638,-20.941],
                'y':[-6.981,-6.033,-5.117,-4.426,-3.824,-2.945,-1.939,-1.432,-0.793,-0.350,-0.093,0.487,1.094,1.480,1.563,1.662,1.826,2.461,3.475,3.998,4.796,5.667,6.416,7.050,7.818,8.520,9.179,9.315,9.462,9.584,9.925,10.601,11.159,11.990,12.890,13.643,14.421,15.565,16.631,17.644,18.781,19.312,19.911,20.620,21.493,22.039,22.849,23.679,24.081,24.591,25.257,25.945,26.731,27.670,28.814,29.913,31.051,32.286,33.440,34.078,34.738,35.849,36.969,37.680,38.347,38.587,39.060,39.789,40.387,40.768,41.145,42.031,43.161,43.850,44.277,44.466,44.756,45.193,45.201,45.225,45.811,46.391,46.566,47.159,48.287,49.305,50.438,51.448,51.887,51.804,51.772,51.843,51.882,52.013,52.687,53.434,54.190,54.968,55.627,55.784,56.340,57.017,57.493],
                'z':[133.262,133.542,134.396,135.472,136.413,137.291,138.186,138.926,139.774,140.724,141.504,142.626,143.410,145.479,147.040,148.517,149.743,150.806,151.784,152.559,153.522,154.265,155.094,155.980,156.930,157.957,159.281,160.337,161.462,162.466,163.369,164.420,165.171,166.130,167.004,167.871,168.435,168.727,168.788,168.990,169.607,171.111,172.125,173.053,174.084,175.154,176.051,176.962,177.754,178.740,179.844,180.829,181.568,182.299,182.932,183.820,184.703,185.292,186.068,186.858,187.650,188.410,189.228,189.986,190.985,191.970,193.490,194.424,195.270,196.109,196.855,197.758,198.652,199.416,200.838,202.109,202.938,204.186,205.733,207.257,208.408,209.475,210.524,211.812,212.683,212.676,213.128,213.597,214.674,216.584,218.434,219.701,221.060,222.236,223.033,223.723,224.529,225.199,226.346,227.504,228.755,229.517,230.344],
                'diam':[0.981,0.491,0.613,0.480,0.245,0.245,0.429,0.307,0.245,0.858,0.715,0.368,0.613,1.083,1.083,1.133,1.062,0.541,0.592,0.491,0.245,0.245,0.715,0.541,0.541,0.715,0.837,0.766,0.643,0.480,0.429,0.480,0.480,0.245,0.429,0.307,0.429,0.491,0.307,0.368,0.541,0.541,0.307,0.480,0.491,0.491,0.245,0.491,0.429,0.307,0.643,0.245,0.429,0.368,0.307,0.368,0.643,0.368,0.858,0.858,0.429,0.307,0.643,0.541,0.694,0.643,0.429,0.245,0.245,0.245,0.307,0.245,0.643,0.694,0.643,0.491,0.541,0.592,0.592,0.541,0.491,0.643,0.694,0.643,0.507,0.515,0.521,0.526,0.529,0.534,0.537,0.540,0.542,0.544,0.546,0.547,0.549,0.550,0.552,0.553,0.555,0.556,0.557]
            },
  
            prefix + 'apic[7]': {
                'x':[3.118,4.500,5.047,5.853,6.386,6.913,7.652,8.630,9.583,10.470,11.314,11.973,12.541,12.991,13.489,14.083,14.799,15.673,16.516,17.246,17.658,17.887,18.308,18.994,19.705,20.342],
                'y':[-27.126,-26.897,-26.709,-26.232,-26.208,-26.260,-26.521,-26.966,-27.380,-27.745,-28.010,-28.028,-27.388,-26.633,-25.909,-25.262,-25.234,-25.382,-25.559,-25.730,-25.701,-25.506,-25.419,-25.444,-25.447,-25.368],
                'z':[230.206,231.661,232.582,234.100,235.787,237.646,239.987,242.739,245.179,247.405,249.737,251.506,252.516,253.126,253.803,254.883,256.485,258.441,260.541,262.784,264.415,265.435,266.934,269.000,270.909,272.495],
                'diam':[0.652,0.641,0.639,0.635,0.631,0.626,0.621,0.615,0.610,0.605,0.600,0.597,0.594,0.592,0.590,0.588,0.585,0.581,0.577,0.573,0.571,0.569,0.567,0.563,0.560,0.557]
            },
  
            prefix + 'apic[4]': {
                'x':[11.456,11.765,11.970,11.646,11.473,11.433,11.531,11.205,10.651,10.054,10.003,10.256,10.505,10.384,10.064,9.787,9.751,9.732,9.371,8.620,8.028,7.456,6.834,6.337,6.653,7.133,7.220,6.658,6.020,5.536,5.477,5.213,5.381,5.596,5.461,5.310,5.222,5.026,4.453,3.411,2.839,2.304,1.953,1.784,1.641,1.549,1.361,1.160,0.839,0.480,0.107,-0.579,-1.366,-1.777,-2.533,-3.185,-3.648,-4.161,-4.650,-5.093,-5.587,-6.157,-6.697,-7.147,-7.679,-8.517],
                'y':[-6.981,-7.367,-7.826,-8.569,-9.294,-9.975,-10.370,-10.858,-10.907,-10.758,-10.775,-10.830,-10.800,-10.380,-10.179,-10.427,-10.682,-10.978,-11.622,-12.573,-12.837,-12.792,-12.802,-13.096,-13.383,-13.633,-13.663,-13.538,-13.555,-13.629,-13.711,-13.753,-13.787,-13.753,-13.428,-12.871,-12.182,-11.673,-11.478,-11.575,-11.920,-12.358,-13.024,-13.895,-14.786,-15.582,-16.318,-17.180,-17.994,-18.755,-19.511,-20.546,-21.401,-22.616,-23.574,-24.648,-25.271,-25.885,-26.494,-26.975,-27.431,-27.877,-28.342,-28.831,-29.298,-30.102],
                'z':[133.262,134.805,135.976,136.763,138.214,140.236,141.522,142.926,143.923,144.786,146.808,148.418,149.909,151.360,152.690,154.385,155.399,156.472,157.523,158.341,159.181,160.162,160.997,162.059,163.666,165.693,166.938,167.876,168.694,169.931,170.998,172.686,174.074,175.485,177.049,178.166,179.043,180.130,180.976,182.003,182.893,183.844,184.705,185.249,185.951,187.362,188.557,189.200,189.733,190.301,190.887,191.733,192.626,193.150,193.851,194.540,195.260,195.876,196.572,197.712,198.763,199.549,200.431,201.557,202.451,203.386],
                'diam':[0.981,0.981,0.858,0.541,0.909,0.766,0.694,0.419,0.491,0.766,0.939,0.827,0.480,0.552,0.858,0.643,0.694,0.643,0.307,0.491,0.592,0.491,0.368,0.643,0.694,0.582,0.357,0.245,0.429,0.592,0.592,0.787,0.613,0.429,0.307,0.541,0.643,0.592,0.429,0.480,0.694,0.787,0.541,0.541,0.643,0.592,0.694,0.541,0.491,0.491,0.368,0.491,0.307,0.245,0.245,0.429,0.491,0.491,0.613,0.715,0.429,0.429,0.643,0.694,0.592,0.613]
            },
  
            prefix + 'apic[1]': {
                'x':[18.049,18.613,19.497,20.629,21.302,21.771,22.002,22.613,23.129,24.030,24.695,25.243,25.457,25.289,25.914,26.698,27.720,28.364,28.873,29.403,30.574,31.334,32.432,33.007,33.490,34.133,35.395,36.274,36.883,37.240,37.452,37.954,38.317,38.736,39.294,39.821,40.145,40.712,41.099,41.697,42.383,43.139,44.097],
                'y':[-7.662,-7.419,-7.024,-6.226,-5.597,-4.860,-4.077,-3.536,-2.885,-2.433,-2.422,-2.450,-2.377,-2.007,-1.738,-1.221,-0.911,-0.295,0.437,1.592,2.330,2.883,3.727,4.416,5.164,5.800,6.414,7.383,8.553,9.733,10.507,11.693,12.926,14.163,15.350,16.540,17.774,18.953,20.171,21.331,22.470,23.545,24.438],
                'z':[110.103,111.415,112.337,112.781,113.404,114.161,114.793,116.407,117.657,119.682,121.562,123.514,124.881,126.217,127.767,128.161,130.004,130.993,131.476,132.146,132.690,133.055,133.512,134.021,134.574,135.004,135.323,135.466,135.821,136.532,137.251,137.859,138.258,138.545,138.851,139.298,139.782,140.236,140.762,141.166,141.490,141.639,141.563],
                'diam':[0.419,0.368,0.245,0.245,0.307,0.429,0.307,0.592,0.613,0.981,0.797,0.429,0.307,0.531,0.245,0.480,0.480,0.245,0.245,0.245,0.245,0.245,0.429,0.592,0.541,0.643,0.245,0.429,0.480,0.981,0.909,0.368,0.429,0.245,0.245,0.245,0.245,0.245,0.307,0.592,0.429,0.715,0.981]
            },
  
            prefix + 'apic[8]': {
                'x':[-8.517,-8.962,-9.729,-10.661,-11.601,-12.407,-13.342,-14.371,-15.317,-16.152,-17.040,-17.890,-18.654,-18.877,-19.307,-19.927,-20.261,-20.582,-21.321,-21.239,-21.351,-21.970,-22.516,-23.104,-23.069,-23.275,-24.027,-24.588,-25.140,-26.088,-26.520,-26.366,-26.161,-26.437,-26.447,-26.225,-26.059,-26.064,-26.195,-26.572,-26.319,-26.218,-26.710,-27.305,-27.519,-27.876,-27.536,-27.268,-27.158,-27.056,-26.830,-26.617,-26.102,-25.700,-25.681,-25.734,-25.674,-26.054,-26.509,-26.903,-27.325,-27.753,-27.930,-28.358,-29.400,-30.415,-31.573,-32.844,-33.937,-34.814,-36.133,-37.080,-38.051,-38.859,-39.995,-40.924,-41.509,-42.087,-42.901,-43.801,-44.498,-45.123,-46.074,-46.849,-47.592,-48.100],
                'y':[-30.102,-30.748,-31.741,-32.517,-33.279,-34.241,-35.009,-35.661,-36.355,-37.189,-38.008,-38.880,-39.792,-40.332,-40.811,-41.218,-41.821,-42.570,-43.582,-44.372,-45.223,-46.380,-47.555,-48.710,-49.516,-50.165,-51.160,-51.628,-51.817,-51.559,-51.296,-51.278,-51.184,-50.688,-50.302,-50.152,-49.930,-49.273,-48.608,-48.189,-48.429,-48.615,-49.019,-49.400,-49.879,-50.287,-51.000,-51.960,-52.901,-53.845,-54.837,-55.323,-55.814,-56.201,-56.345,-56.392,-56.553,-57.050,-57.737,-58.463,-59.114,-59.538,-59.771,-59.755,-59.861,-60.373,-60.670,-60.529,-59.876,-58.879,-58.295,-57.887,-57.606,-57.508,-57.397,-57.371,-57.495,-57.576,-57.358,-57.035,-56.976,-57.603,-57.953,-57.805,-57.418,-57.013],
                'z':[203.386,204.021,204.535,205.152,205.801,206.355,206.983,207.574,208.393,209.270,210.013,210.721,211.597,213.233,214.365,215.096,216.255,217.074,217.694,219.009,219.622,220.018,220.365,220.810,222.248,223.665,224.349,225.090,226.121,227.233,228.280,229.550,230.815,231.851,233.496,234.735,235.757,236.865,237.748,238.589,241.330,242.745,243.692,244.402,246.093,247.497,249.511,250.393,250.784,251.445,252.426,253.425,255.336,257.160,258.293,259.337,260.570,261.752,262.335,262.922,263.687,264.905,266.750,268.060,269.085,269.896,270.418,270.714,270.936,271.016,270.872,270.615,270.327,269.148,266.605,264.529,263.592,262.489,260.300,257.664,255.833,254.898,252.916,250.929,249.031,248.117],
                'diam':[0.613,0.653,0.429,0.245,0.245,0.429,0.429,0.480,0.837,0.245,0.307,0.245,0.480,0.541,0.307,0.307,0.592,0.429,0.480,0.480,0.307,0.307,0.307,0.909,0.909,0.480,0.491,0.736,0.592,0.715,0.766,0.643,0.592,0.694,0.766,0.837,0.766,0.694,0.694,0.837,0.725,0.491,0.429,0.552,0.664,0.909,0.613,0.491,0.491,0.643,0.909,0.981,0.909,0.837,0.909,0.858,0.613,0.541,0.643,0.491,0.541,0.766,0.837,0.715,0.491,0.491,0.429,0.480,0.766,0.909,0.541,0.491,0.643,0.694,0.694,0.694,0.694,0.766,0.837,0.653,0.357,0.552,0.837,0.837,0.715,0.541]
            },
  
            prefix + 'apic[6]': {
                'x':[3.118,3.040,2.567,2.552,2.499,1.983,1.441,1.173,0.807,0.218,-0.433,-1.187,-2.227,-3.132,-3.907,-4.627,-5.014,-5.584,-5.288,-4.765,-4.549,-4.881,-4.636,-4.035],
                'y':[-27.126,-27.328,-27.606,-27.683,-27.679,-27.544,-27.691,-27.823,-27.300,-26.436,-25.528,-24.806,-24.485,-23.961,-23.260,-22.511,-21.951,-21.296,-21.399,-21.705,-21.901,-21.954,-22.109,-22.381],
                'z':[230.206,231.410,232.597,233.747,234.792,235.846,236.878,238.348,239.182,240.195,241.026,241.953,242.828,243.743,244.765,245.768,246.510,247.860,249.417,251.577,253.171,254.696,256.346,258.760],
                'diam':[0.652,0.634,0.626,0.620,0.616,0.612,0.608,0.604,0.601,0.597,0.594,0.591,0.588,0.585,0.582,0.580,0.578,0.575,0.572,0.568,0.566,0.564,0.561,0.557]
            },
  
            prefix + 'apic[2]': {
                'x':[18.049,16.875,16.246,15.251,14.601,13.604,12.629,12.170,11.847,11.915,11.891,11.492,11.343,11.494,11.689,12.013,12.347,12.581,12.381,11.432,11.456],
                'y':[-7.662,-8.177,-8.194,-8.466,-8.546,-8.300,-8.274,-8.210,-8.031,-8.120,-8.176,-8.199,-8.238,-8.280,-8.267,-8.152,-7.938,-7.748,-7.353,-6.985,-6.981],
                'z':[110.103,110.231,111.051,112.146,112.970,113.975,115.167,116.334,117.774,119.107,120.250,121.662,123.617,125.040,126.401,127.686,128.786,129.827,131.077,132.149,133.262],
                'diam':[0.419,0.245,0.245,0.491,0.307,0.307,0.766,0.981,0.613,0.491,0.491,0.766,1.133,1.032,0.909,0.888,1.062,1.133,0.715,0.715,0.981]
            },
  
            prefix + 'apic[5]': {
                'x':[-8.517,-7.669,-6.885,-5.991,-5.168,-4.532,-3.782,-3.150,-2.362,-1.775,-1.588,-1.365,-1.051,-0.404,0.336,1.100,1.912,2.410,2.909,3.118],
                'y':[-30.102,-30.462,-30.440,-29.987,-29.487,-29.451,-29.488,-29.432,-28.903,-28.241,-27.081,-26.307,-26.107,-26.126,-26.170,-26.248,-26.416,-26.596,-26.766,-27.126],
                'z':[203.386,205.887,207.127,207.866,209.068,210.614,212.294,213.529,214.375,214.923,215.801,216.471,217.427,219.204,221.120,223.109,225.308,226.778,228.251,230.206],
                'diam':[0.613,0.787,0.755,0.743,0.732,0.722,0.713,0.707,0.701,0.697,0.692,0.688,0.684,0.678,0.672,0.665,0.659,0.652,0.652,0.652]
            },
  
            prefix + 'soma': {
                'x':[-0.484,0.000,0.484],
                'y':[-0.000,0.000,0.000],
                'z':[-0.105,0.000,0.105],
                'diam':[0.990,0.990,0.990]
            },
  
  
          }
  
  from neuron import h
  
  class TransformGC3:
      def __init__(self):
  
          # Create a section lookup by section name
          # Note: this assumes each section has a unique name
          self.name2section = dict([(sec.name(), sec) for sec in h.allsec()])
  
          # This will store the new section coordinates
          self.section_coords = { }
  
      def set_coords(self, sec_name):
          # Lookup the section
          nrn_section = self.name2section[sec_name]
  
          # Lookup its new coords
          new_coords = self.section_coords[sec_name]
  
          # Use 3D points as section L and diam sources
          h.pt3dconst(1, sec=nrn_section)
  
          # Clear the existing points - and allocate room for the incoming points
          h.pt3dclear(len(new_coords["diam"]), sec=nrn_section)
  
          # Use vectorization to add the points to section
          xvec = h.Vector(new_coords["x"])
          yvec = h.Vector(new_coords["y"])
          zvec = h.Vector(new_coords["z"])
          dvec = h.Vector(new_coords["diam"])
  
          h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
  
      def set_all(self):
          for sec_name in self.section_coords.keys():
              self.set_coords(sec_name)
  
      @staticmethod
      def apply_on(prefix):
          t = TransformGC3()
          t.define_coords(prefix)
          t.set_all()
  
      @staticmethod
      def apply():
          t = TransformGC3()
          t.define_coords()
          t.set_all()
  
      def define_coords(self, prefix = 'GC3[0]'):
          if prefix != '':
              prefix += '.'
  
          self.section_coords = {
            prefix + 'apic[9]': {
                'x':[-5.318,-4.248,-2.955,-1.656,-0.372,0.800,2.071,3.343,4.608,5.698,6.790,8.019,9.254,10.544,11.849,13.046,14.344,15.686,16.999,18.316,19.654,20.961,22.166,23.394,24.697,25.996,27.190,27.937,28.626,29.761,31.318,32.826,34.009,34.834,35.426,36.031,37.346,38.682,39.861,40.875,41.498,42.254,42.938,43.832,44.541,45.293,45.859,46.475,47.084,47.496,48.010,48.518,49.413,49.992,50.253,50.502,50.889,51.395,51.944,52.955,53.567,54.250,54.859,55.452,56.181,57.195,57.698,58.240,58.743,59.339,60.116,61.026,61.952,62.856,64.228,65.551,66.865,68.193,69.519,70.847,72.128,73.390,74.550,75.788,76.884,77.274,77.693,78.603,79.368,80.137,80.960,81.823,82.737,83.652,84.981,86.296,87.641,88.546,89.901,90.804,91.702,93.037,94.325,95.487,96.665],
                'y':[-3.208,-3.316,-3.667,-3.970,-3.760,-3.153,-2.886,-2.550,-2.165,-1.462,-0.724,-0.316,0.119,0.292,0.251,0.720,0.963,1.003,1.158,1.336,1.274,1.002,0.410,-0.053,-0.242,-0.560,-0.311,0.725,1.715,2.346,2.669,3.072,3.804,4.570,4.943,4.853,5.097,5.096,5.543,6.298,6.835,7.225,7.665,8.541,8.990,9.099,9.549,10.609,11.613,12.225,12.711,13.325,14.150,14.251,14.162,14.270,14.905,15.490,16.090,16.826,17.368,17.854,18.368,18.905,19.323,20.068,20.695,21.303,21.910,22.455,22.784,22.721,22.524,22.429,22.249,22.044,21.913,21.806,21.820,22.012,22.363,22.709,23.331,23.765,24.369,24.251,24.028,23.889,24.118,24.497,24.802,24.968,25.028,24.897,24.649,24.222,23.815,23.774,23.928,23.993,24.076,24.090,23.943,23.701,23.274],
                'z':[248.633,248.687,248.767,248.900,248.989,249.158,249.111,249.076,249.065,249.117,249.089,248.811,248.594,248.429,248.312,248.433,248.663,248.939,249.324,249.660,249.780,249.894,250.001,250.132,250.199,250.230,250.330,250.572,253.793,256.945,260.000,263.065,266.197,269.465,272.826,276.224,276.633,276.948,277.512,278.136,278.767,279.318,280.069,280.701,281.289,283.063,284.249,285.027,285.934,286.880,288.153,288.849,289.699,291.872,293.663,294.691,295.590,296.466,297.057,297.862,298.595,299.227,299.919,300.764,301.349,301.973,302.620,303.242,303.878,304.542,305.108,305.701,306.348,306.769,307.253,307.428,307.518,307.536,307.742,308.188,308.657,308.835,309.097,309.332,309.972,311.105,312.342,313.455,314.630,315.209,315.840,316.460,316.989,317.519,317.762,318.168,318.794,319.329,319.942,320.563,321.024,321.229,321.039,320.161,319.565],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[8]': {
                'x':[-2.673,-2.739,-2.850,-2.992,-3.165,-3.282,-3.437,-3.988,-4.362,-4.318,-4.100,-3.865,-3.750,-3.819,-4.050,-4.107,-4.105,-3.996,-3.521,-3.306,-3.140,-3.095,-3.074,-3.020,-3.118,-3.818,-4.399,-4.367,-4.141,-3.839,-3.552,-3.181,-2.843,-2.678,-2.833,-3.175,-3.278,-3.326,-3.656,-4.184,-4.351,-4.440,-4.404,-4.374,-4.555,-4.800,-4.933,-5.033,-5.445,-6.002,-6.628],
                'y':[-16.962,-17.501,-17.967,-18.420,-18.836,-19.290,-19.710,-20.411,-21.249,-22.256,-22.855,-23.479,-24.101,-24.645,-25.606,-26.610,-27.598,-28.615,-29.673,-30.325,-30.988,-31.604,-32.172,-32.737,-33.186,-33.641,-34.296,-34.745,-35.118,-35.433,-35.901,-36.905,-37.852,-38.832,-39.760,-40.661,-41.171,-41.714,-42.606,-43.352,-43.751,-44.149,-44.562,-44.965,-45.336,-45.695,-46.137,-46.624,-47.510,-48.227,-48.874],
                'z':[272.974,273.959,277.537,280.043,281.598,283.316,284.748,285.812,286.209,288.357,290.952,293.835,296.308,297.796,298.635,299.295,299.849,300.563,302.487,304.747,307.012,308.325,309.491,311.419,313.026,313.794,314.551,316.145,318.408,320.516,322.055,323.096,323.590,324.159,324.530,325.373,326.394,327.257,327.908,328.685,329.888,331.688,333.957,335.855,336.900,337.911,339.572,341.156,342.308,342.899,343.490],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[1]': {
                'x':[-5.318,-5.513,-5.648,-5.889,-5.829,-5.778],
                'y':[-3.208,-3.318,-3.398,-3.109,-3.171,-3.243],
                'z':[248.633,250.276,251.703,253.591,254.648,255.706],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[6]': {
                'x':[-5.778,-5.446,-5.224,-4.935,-4.423,-3.596,-3.433,-3.314,-3.271,-3.213,-3.000,-2.647,-2.492,-2.305,-2.241,-2.310,-2.673],
                'y':[-3.243,-4.211,-4.901,-6.278,-7.522,-8.620,-9.180,-9.788,-10.332,-11.283,-12.221,-13.323,-13.878,-14.945,-15.515,-16.067,-16.962],
                'z':[255.706,258.865,260.248,260.534,260.745,261.195,262.590,264.359,265.233,265.633,265.968,267.982,268.865,269.981,271.184,272.249,272.974],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[7]': {
                'x':[-2.673,-2.505,-1.903,-1.499,-1.665,-1.749,-1.507,-1.109,-1.132,-1.509,-1.758,-1.752,-1.362,-0.884,-0.631,-0.641,-0.594,-0.506,-0.538,-0.583,-0.458,-0.218,0.093,0.676,0.894,1.201,1.664,1.998,2.250,2.638,3.012,3.417,4.054,4.655,5.135,5.260,5.179,5.343,5.308,5.176,5.266,5.482,5.734,6.100,6.309,6.578,6.829,7.250,7.682,7.915,8.157,8.790,9.359,9.697,9.614,9.493,9.253,9.103,9.045,9.035,8.931,8.775,8.180,7.522,7.401,7.389,7.359,7.375,7.164,6.602,6.033,5.693,5.549,5.476,5.566,5.736,5.823,5.745,5.708,5.689,5.671,5.675,5.691,5.681,5.743,5.751,5.745,5.402,5.241,5.395,5.752,5.963,6.292,6.485,6.971,7.224,7.426,7.579,7.672,7.665],
                'y':[-16.962,-18.248,-19.427,-20.676,-21.985,-23.289,-24.597,-25.878,-27.168,-28.466,-29.827,-31.192,-32.525,-33.853,-35.217,-36.629,-37.693,-38.250,-39.236,-40.630,-41.579,-42.532,-43.450,-44.755,-46.142,-47.432,-48.470,-49.052,-49.556,-50.457,-51.412,-52.368,-53.640,-54.404,-55.252,-56.652,-58.074,-59.473,-60.432,-61.383,-62.370,-63.361,-64.340,-65.457,-66.454,-67.538,-68.542,-69.430,-70.309,-71.248,-72.186,-73.471,-74.254,-75.120,-76.091,-77.077,-78.469,-79.482,-80.537,-81.099,-81.634,-82.118,-82.776,-83.278,-83.665,-84.173,-84.717,-85.288,-86.260,-86.984,-87.717,-88.603,-89.542,-90.512,-91.925,-92.871,-93.832,-94.795,-95.778,-96.796,-97.359,-98.409,-99.369,-100.437,-101.056,-102.132,-103.137,-104.022,-105.065,-106.115,-107.512,-108.449,-109.528,-110.117,-111.074,-111.599,-112.209,-112.874,-113.494,-114.569],
                'z':[272.974,273.045,272.929,272.848,272.799,272.652,272.554,272.513,272.491,272.644,272.872,273.146,273.334,273.615,273.845,274.258,276.756,277.886,278.394,278.661,279.014,279.427,279.744,280.166,280.449,280.406,283.147,285.178,286.024,286.405,287.056,287.724,288.083,288.491,288.986,289.347,289.767,290.115,290.483,290.891,291.417,291.991,292.531,294.050,294.765,296.215,297.056,297.565,298.094,298.428,298.760,299.179,299.559,300.047,300.650,301.176,301.613,303.086,304.588,305.848,306.968,307.864,308.683,309.576,311.147,313.336,315.444,317.084,318.132,318.874,320.179,320.721,321.100,321.492,321.916,322.215,322.601,323.054,323.501,324.257,325.116,326.110,326.483,327.638,328.818,329.951,330.626,331.560,333.234,334.223,334.693,335.008,336.352,337.320,338.413,339.489,341.079,342.993,344.391,345.475],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[3]': {
                'x':[-5.330,-5.675,-6.025,-6.467,-6.843,-7.566,-8.209,-8.863,-9.335,-9.628,-10.100,-10.021,-10.088,-9.898,-9.653,-9.905,-10.092,-10.157,-9.995,-10.043,-10.282,-10.305,-10.361,-10.489,-10.748,-11.224,-11.914,-12.635,-13.301,-13.541,-13.979,-14.392,-14.624,-14.842,-15.060,-15.308,-15.566,-15.848,-16.497,-17.163,-17.777,-18.479,-18.799,-18.744,-18.598,-18.368,-18.301,-18.507,-18.538,-18.373,-18.782,-18.686,-18.569,-18.548,-18.619,-18.753,-18.795,-18.722,-18.865,-19.279,-20.191,-20.989,-20.989,-20.900,-21.141,-21.301,-21.417,-21.435,-21.997,-22.904,-23.683,-24.270,-24.579,-25.003,-25.601,-26.691,-27.836,-28.865,-29.496,-30.081,-30.328,-30.899,-31.621,-32.358],
                'y':[0.876,2.054,3.180,4.328,5.523,6.572,7.656,8.694,9.797,10.995,12.087,13.294,14.558,15.803,17.041,18.178,18.882,19.544,20.728,21.927,23.133,24.345,25.568,26.768,27.964,29.104,30.161,31.219,32.249,33.430,34.566,35.774,37.042,38.237,39.452,40.683,41.878,43.090,44.142,45.227,46.286,47.295,48.400,49.122,49.879,50.568,51.264,52.417,53.598,54.801,55.906,56.467,57.127,57.846,58.567,59.294,60.030,61.213,62.340,63.438,64.292,65.253,66.540,67.867,69.119,70.385,71.675,72.965,74.109,75.035,76.077,77.208,78.419,79.472,79.922,80.445,80.879,81.511,81.897,82.069,82.056,82.211,82.157,81.711],
                'z':[269.023,269.728,270.481,271.002,271.379,271.701,272.118,272.635,273.267,273.777,274.409,274.914,275.265,275.580,276.041,276.765,277.542,278.546,279.294,279.951,280.496,281.102,281.671,282.326,282.873,283.367,283.706,284.049,284.546,285.190,285.751,286.062,286.368,286.921,287.475,287.932,288.488,288.907,289.363,289.762,290.276,290.805,291.564,292.349,293.037,293.864,294.777,295.568,296.192,296.759,297.527,298.743,299.760,300.608,301.445,302.138,302.862,303.628,304.543,305.260,305.701,305.976,306.080,306.168,306.383,306.703,306.959,307.196,307.407,307.590,307.846,308.119,308.561,309.388,310.061,310.744,311.378,312.070,312.824,314.276,315.375,316.966,317.928,318.519],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'soma': {
                'x':[-1.365,0.000,1.365],
                'y':[0.000,0.000,-0.000],
                'z':[0.130,0.000,-0.130],
                'diam':[2.742,2.742,2.742]
            },
  
            prefix + 'apic[2]': {
                'x':[-5.778,-5.943,-6.011,-5.856,-5.717,-5.764,-5.868,-5.791,-5.643,-5.522,-5.426,-5.330],
                'y':[-3.243,-2.090,-1.112,-1.022,-0.869,-0.231,0.516,1.051,0.964,0.965,0.926,0.876],
                'z':[255.706,256.503,257.996,259.414,260.555,261.637,262.338,263.675,265.426,267.014,268.019,269.023],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[0]': {
                'x':[-0.775,-0.737,-1.351,-2.063,-2.367,-2.528,-2.577,-2.683,-2.862,-3.155,-3.794,-4.037,-4.252,-4.354,-4.332,-4.359,-4.581,-5.248,-5.898,-6.234,-6.163,-5.990,-5.901,-6.055,-6.707,-6.940,-7.186,-7.629,-7.853,-8.275,-8.449,-8.386,-8.233,-8.221,-8.459,-9.169,-9.649,-9.689,-9.642,-9.549,-9.437,-9.454,-10.024,-10.535,-10.631,-10.833,-10.875,-10.871,-10.784,-10.657,-10.664,-10.807,-11.514,-11.905,-11.786,-11.648,-11.563,-11.557,-11.457,-11.283,-11.099,-11.054,-11.262,-11.542,-11.691,-11.783,-11.857,-11.788,-11.573,-11.346,-11.200,-11.190,-11.302,-11.496,-11.543,-11.632,-11.589,-11.403,-11.152,-11.047,-11.038,-10.888,-10.632,-10.059,-9.519,-9.293,-9.209,-9.247,-9.252,-9.097,-8.831,-8.585,-8.469,-8.688,-8.830,-8.668,-8.485,-8.286,-8.068,-7.835,-7.422,-6.959,-6.834,-6.721,-6.638,-6.535,-6.459,-6.400,-6.214,-6.042,-5.957,-5.912,-5.832,-5.617,-5.440,-5.419,-5.419,-5.359,-5.295,-5.277,-5.313,-5.314,-5.267,-5.235,-5.230,-5.161,-4.956,-4.752,-4.924,-4.951,-4.895,-4.830,-4.752,-4.659,-4.612,-4.689,-4.788,-4.886,-4.949,-5.054,-5.167,-5.406,-5.545,-5.485,-5.496,-5.555,-5.550,-5.495,-5.441,-5.414,-5.318],
                'y':[-0.145,-0.497,-1.101,-1.650,-1.964,-2.322,-2.660,-2.920,-3.158,-3.358,-3.675,-3.730,-3.734,-3.749,-3.904,-4.119,-4.108,-3.764,-3.398,-3.338,-3.491,-3.878,-4.312,-4.517,-4.747,-4.918,-4.906,-4.424,-4.029,-3.608,-3.557,-3.793,-4.154,-4.388,-4.431,-4.221,-3.891,-3.777,-3.763,-3.898,-4.203,-4.373,-4.108,-4.104,-4.118,-3.543,-3.229,-2.814,-2.941,-3.184,-3.257,-3.278,-3.270,-3.652,-3.976,-4.164,-4.189,-4.009,-3.772,-4.054,-4.491,-4.848,-5.056,-5.217,-5.576,-6.018,-6.309,-6.573,-7.016,-7.560,-7.893,-7.990,-7.961,-7.405,-6.681,-6.022,-5.830,-5.876,-6.051,-6.197,-6.369,-6.518,-6.479,-5.973,-5.495,-5.527,-5.617,-5.710,-5.796,-5.947,-6.109,-6.160,-6.121,-5.638,-5.439,-5.665,-5.936,-6.160,-6.393,-6.428,-5.861,-4.940,-5.006,-5.075,-5.120,-5.270,-5.511,-5.780,-5.886,-5.779,-5.628,-5.433,-5.279,-5.351,-5.548,-5.717,-5.895,-5.983,-6.094,-6.281,-6.395,-6.503,-6.589,-6.643,-6.774,-6.796,-6.671,-6.109,-5.544,-5.432,-5.372,-5.287,-4.662,-4.035,-3.900,-3.544,-3.506,-3.489,-3.519,-3.670,-3.740,-3.276,-2.803,-2.911,-2.974,-3.052,-3.167,-3.187,-3.151,-3.128,-3.208],
                'z':[1.304,3.174,4.319,5.174,6.093,7.670,9.679,11.517,13.111,14.145,15.981,17.117,18.234,19.581,21.492,23.425,24.463,25.268,26.032,28.088,29.985,32.534,35.049,36.592,38.071,39.322,40.322,41.363,43.114,44.382,45.397,47.532,50.185,52.304,53.391,54.274,55.553,56.709,58.254,60.180,62.507,64.331,65.515,67.314,68.630,69.774,71.755,73.686,75.653,77.932,79.639,80.878,82.002,84.324,86.620,88.800,90.531,91.545,94.061,96.515,99.282,101.654,103.051,104.116,105.923,108.012,109.865,111.957,114.630,117.529,120.013,121.797,123.046,124.169,124.933,125.789,126.770,128.510,130.610,132.554,134.435,136.425,137.851,138.897,140.137,141.773,143.601,145.300,147.036,149.086,151.134,152.758,154.187,155.579,157.876,160.203,162.646,164.939,167.230,168.926,169.991,171.370,173.105,174.911,176.631,178.656,180.708,182.701,184.438,185.714,186.911,188.022,189.169,191.005,193.171,195.182,197.175,198.965,200.794,202.765,204.492,206.277,208.029,209.733,211.576,213.037,214.130,215.315,216.466,217.651,219.077,220.392,221.522,222.601,223.729,225.655,226.934,228.221,229.664,231.306,232.752,234.135,235.520,237.309,238.986,240.577,242.311,243.944,245.450,246.997,248.633],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[5]': {
                'x':[-5.330,-4.762,-4.433,-4.325,-4.289,-4.317,-4.331,-4.296,-4.255,-4.245,-4.170,-4.121,-4.153,-4.147,-4.072,-3.916,-3.755,-3.466,-2.856,-2.303,-1.972,-1.736,-1.468,-0.889,-0.573,-0.577,-0.414,-0.204,0.043,0.270,0.497,0.805,1.088,1.358,1.655,1.777,1.944,2.013,1.607,1.298,1.395,1.555,1.849,2.121,2.430,2.580,3.113,3.646,4.274,5.011,5.868,6.728,7.347,7.701,8.367,9.556,10.382,11.094,12.248,12.965,13.354,13.791],
                'y':[0.876,-0.171,-1.010,-1.608,-2.159,-2.704,-3.275,-3.857,-4.446,-5.005,-5.587,-6.125,-6.644,-7.215,-7.761,-8.288,-8.806,-9.748,-11.042,-12.094,-12.633,-13.204,-14.216,-15.454,-16.384,-17.460,-18.592,-19.206,-19.720,-20.063,-20.361,-20.809,-21.273,-22.216,-23.622,-24.155,-24.778,-25.396,-26.224,-27.113,-27.725,-28.282,-29.237,-30.155,-31.548,-32.495,-33.789,-35.039,-36.211,-37.322,-38.334,-39.327,-40.510,-41.789,-42.915,-43.654,-44.175,-44.810,-45.561,-46.357,-46.756,-46.872],
                'z':[269.023,272.135,274.104,275.452,277.302,279.219,281.062,283.112,285.121,286.913,289.170,291.572,293.561,295.413,297.350,299.089,300.044,300.432,300.833,302.830,303.989,304.984,305.793,306.069,306.646,307.760,309.780,311.661,314.146,316.632,318.798,320.547,321.412,321.822,322.297,323.154,325.009,326.571,327.373,329.189,330.829,331.771,332.219,332.540,332.944,333.245,333.462,333.580,333.522,333.457,333.386,333.345,333.307,333.220,333.252,333.715,334.264,334.678,334.973,337.862,340.038,340.936],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
            prefix + 'apic[4]': {
                'x':[-5.330,-5.266,-5.066,-4.919,-4.768,-5.020,-5.185,-5.142,-4.970,-4.728,-4.521,-4.168,-4.043,-3.881,-3.087,-2.056,-1.180,-1.028,-1.240,-1.427,-1.284,-0.765,-0.418,0.032,0.619,1.206,1.473,1.524,1.803,2.183,2.365,2.473,2.508,2.893,3.193,2.698,2.366,1.584,0.466,-0.508,-1.254],
                'y':[0.876,1.023,0.773,0.812,1.365,2.041,2.462,2.578,2.569,2.570,2.760,3.291,3.852,4.550,5.461,6.229,7.129,8.359,9.626,10.881,12.125,13.315,14.567,15.787,16.934,18.074,19.276,20.486,21.661,21.786,21.767,22.402,23.124,24.276,25.481,26.651,27.879,28.848,29.479,30.259,31.264],
                'z':[269.023,272.534,275.158,276.594,277.965,278.686,280.332,281.621,283.214,284.800,285.805,286.985,288.399,289.253,289.996,290.580,290.923,291.352,291.666,292.018,292.357,292.538,292.698,292.886,293.138,293.501,293.877,294.516,295.231,297.947,299.538,300.665,301.452,302.016,302.318,302.605,302.918,303.242,303.531,303.854,304.247],
                'diam':[0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521,0.521]
            },
  
  
          }
  
  from neuron import h
  
  class TransformGC1:
      def __init__(self):
  
          # Create a section lookup by section name
          # Note: this assumes each section has a unique name
          self.name2section = dict([(sec.name(), sec) for sec in h.allsec()])
  
          # This will store the new section coordinates
          self.section_coords = { }
  
      def set_coords(self, sec_name):
          # Lookup the section
          nrn_section = self.name2section[sec_name]
  
          # Lookup its new coords
          new_coords = self.section_coords[sec_name]
  
          # Use 3D points as section L and diam sources
          h.pt3dconst(1, sec=nrn_section)
  
          # Clear the existing points - and allocate room for the incoming points
          h.pt3dclear(len(new_coords["diam"]), sec=nrn_section)
  
          # Use vectorization to add the points to section
          xvec = h.Vector(new_coords["x"])
          yvec = h.Vector(new_coords["y"])
          zvec = h.Vector(new_coords["z"])
          dvec = h.Vector(new_coords["diam"])
  
          h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
  
      def set_all(self):
          for sec_name in self.section_coords.keys():
              self.set_coords(sec_name)
  
      @staticmethod
      def apply_on(prefix):
          t = TransformGC1()
          t.define_coords(prefix)
          t.set_all()
  
      @staticmethod
      def apply():
          t = TransformGC1()
          t.define_coords()
          t.set_all()
  
      def define_coords(self, prefix = 'GC1[0]'):
          if prefix != '':
              prefix += '.'
  
          self.section_coords = {
            prefix + 'apic[0]': {
                'x':[0.027,-0.283,-0.773,-1.203,-1.693,-2.003,-2.113,-2.043,-1.693,-1.273,-1.223,-1.453,-1.583,-1.653,-1.743,-1.613,-1.973,-2.293,-2.683,-3.073,-3.143,-3.153,-3.253,-3.243,-3.353,-3.573,-3.873,-3.693,-3.233,-2.933,-2.963,-3.103,-3.343,-3.773,-4.303,-4.723,-5.043,-5.273,-5.383,-4.853,-3.523,-2.543,-2.593,-2.703,-2.803,-2.993,-3.293,-3.743,-4.243,-4.913,-4.743,-4.443,-4.393,-4.693,-5.103,-5.383,-5.533,-5.593,-5.633,-5.713,-5.883,-6.043,-6.403,-6.703,-6.903,-7.083,-6.313,-5.793,-5.473,-5.213,-4.893,-4.663,-4.463,-4.363,-4.413,-4.443,-4.013,-3.173,-2.613,-2.673,-2.603,-2.213,-2.013,-1.883,-0.993,-0.023,0.637,0.967,1.067,1.727,2.477,2.517,2.357,2.207,2.307,2.447,2.387,2.657,2.787],
                'y':[-0.157,-0.848,-0.920,-0.251,0.039,-0.251,-0.316,-0.540,-0.744,-0.848,-1.042,-1.335,-1.789,-2.243,-2.458,-1.839,-0.970,-1.430,-1.881,-1.132,-0.722,-1.152,-1.482,-1.513,-1.205,-1.387,-1.390,-0.973,0.102,0.511,0.126,-0.308,-0.572,-0.506,-0.290,-0.375,-0.639,-0.784,-1.048,-1.609,-1.782,-1.814,-1.799,-2.123,-2.517,-2.690,-2.743,-2.697,-2.762,-2.534,-1.898,-1.761,-1.734,-1.276,-1.536,-1.781,-2.014,-1.978,-1.911,-2.005,-2.089,-2.273,-2.354,-2.565,-2.307,-2.198,-2.310,-2.125,-2.240,-2.503,-2.747,-3.020,-3.233,-3.426,-3.620,-3.884,-4.066,-3.519,-3.701,-4.323,-4.445,-3.627,-3.539,-3.960,-3.515,-2.920,-2.733,-2.576,-2.858,-2.681,-2.353,-2.924,-3.344,-3.334,-2.999,-2.759,-3.079,-2.969,-3.240],
                'z':[0.567,2.241,3.911,5.538,7.346,9.238,10.278,11.340,12.451,13.611,14.832,16.044,17.206,18.289,19.330,21.017,22.662,24.524,26.287,27.923,29.791,31.703,33.605,35.365,36.893,38.404,39.764,40.912,41.917,43.594,44.606,45.689,46.840,47.980,49.039,50.099,51.161,52.221,53.233,54.956,56.267,57.757,58.787,59.889,61.081,62.362,63.602,64.722,65.672,67.151,68.388,69.697,71.017,72.424,74.316,75.417,76.578,77.818,79.078,80.288,81.429,82.480,84.310,85.951,87.500,89.099,90.720,91.559,92.580,93.771,95.042,96.364,97.685,98.956,100.107,101.129,102.790,104.027,105.458,107.021,108.652,110.097,111.657,113.239,114.297,115.244,116.513,117.892,119.353,120.682,122.141,123.864,125.766,127.666,128.604,130.533,132.425,134.234,135.936],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[5]': {
                'x':[1.887,2.167,2.907,3.707,4.087,4.137,4.337,4.557,4.417,4.137,4.287,5.107,6.227,7.037,7.317,7.197,6.787,6.177,5.557,5.217,4.807,3.957,3.057,2.557,2.487,2.567,2.487,2.007,1.477,1.297,1.297,1.027,0.677,0.367,-0.123,-0.993,-2.093,-3.333,-4.653,-6.163,-7.703,-9.023],
                'y':[-10.731,-11.218,-11.554,-11.688,-11.922,-12.486,-13.329,-14.383,-15.397,-16.161,-16.874,-17.708,-18.473,-18.967,-19.290,-19.983,-21.347,-23.303,-25.610,-27.827,-29.782,-31.608,-33.474,-35.542,-38.012,-40.693,-43.345,-45.997,-48.679,-51.391,-54.002,-56.513,-59.154,-61.997,-64.931,-67.765,-70.488,-73.181,-75.805,-78.288,-80.539,-82.679],
                'z':[188.556,191.049,193.750,196.621,199.663,202.786,205.870,208.906,211.951,215.075,218.189,221.183,224.118,227.190,230.402,233.586,236.563,239.203,241.626,244.187,246.928,249.608,252.177,254.548,256.432,258.046,259.660,261.194,262.668,264.163,265.836,267.650,269.284,270.549,271.674,272.899,274.194,275.468,276.762,278.085,279.687,281.659],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[2]': {
                'x':[-0.113,-0.303,-0.403,-0.653,-1.303,-1.743,-2.173,-2.633,-2.813,-3.233,-3.513,-4.323,-5.343,-6.393,-7.423,-7.983,-8.113,-9.373,-10.613,-11.593,-12.223,-13.273,-14.563,-15.763,-16.333,-17.103,-18.263,-19.773,-21.483,-23.313,-25.293,-27.453,-29.593,-31.643,-33.513,-35.043,-36.203,-36.923,-37.353,-37.873,-39.333,-40.243,-40.653,-41.363,-42.453,-43.633,-44.543,-45.683,-46.403,-46.543,-46.663,-46.913,-47.483,-48.503,-49.723,-51.033,-51.453,-51.863,-52.453,-53.353,-53.983,-54.773,-55.483,-55.833,-56.313,-56.583,-56.993,-57.563,-58.603,-59.803,-60.763,-60.723],
                'y':[-4.629,-3.704,-3.785,-3.915,-3.276,-3.277,-3.170,-2.754,-2.957,-2.861,-3.155,-3.092,-2.610,-2.277,-2.082,-2.386,-2.829,-2.287,-2.038,-2.255,-2.681,-2.629,-2.499,-2.563,-2.709,-3.054,-3.229,-3.053,-2.835,-2.736,-3.015,-3.495,-3.604,-3.133,-2.393,-1.753,-1.393,-1.274,-1.317,-1.312,-0.940,-0.717,-0.731,-0.169,0.703,1.415,1.877,2.359,2.796,2.266,2.091,1.831,1.788,1.951,2.111,1.873,1.469,1.925,2.439,2.914,3.229,3.405,3.270,2.927,2.994,3.070,3.467,4.102,4.604,5.224,5.468,5.006],
                'z':[170.063,171.049,172.639,174.530,176.246,177.986,179.326,180.464,181.735,182.904,184.016,184.665,184.953,185.521,186.480,187.662,188.874,189.381,189.130,189.631,190.513,190.793,190.882,191.873,192.774,193.725,194.696,195.815,197.254,199.004,200.925,202.868,204.919,206.976,208.952,210.879,212.737,214.426,215.817,216.707,217.085,217.683,218.693,219.140,219.486,219.852,220.160,220.667,221.955,223.768,224.759,226.620,227.970,228.469,228.549,228.900,230.122,231.130,231.867,232.974,233.903,234.902,236.003,237.254,238.464,239.764,240.922,241.878,242.286,242.412,243.151,244.583],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[7]': {
                'x':[2.937,3.107,2.947,2.737,2.577],
                'y':[4.618,5.153,5.592,5.651,5.581],
                'z':[160.024,164.862,168.339,171.889,173.749],
                'diam':[0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[3]': {
                'x':[-0.113,-0.123,0.187,0.747,1.357,1.857,2.197,2.267,2.137,1.957,1.797,1.667,1.637,1.887],
                'y':[-4.629,-5.299,-6.290,-7.422,-8.385,-9.198,-9.831,-10.204,-10.296,-10.198,-10.241,-10.315,-10.388,-10.731],
                'z':[170.063,171.957,173.682,175.158,176.543,177.868,179.171,180.563,181.994,183.403,184.743,186.014,187.254,188.556],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[9]': {
                'x':[2.577,2.417,2.727,2.647,2.407,2.117,1.737,1.377,1.207,1.177,1.087,0.917,0.727,0.467,-0.293,-0.763,-1.163,-1.363,-1.913,-2.243,-2.513,-2.953,-3.673,-4.013,-4.223,-4.603,-5.233,-5.713,-5.853,-5.953,-6.063,-6.193,-6.343,-6.663,-7.143,-7.533,-7.873,-8.333,-8.823,-9.753,-11.113,-11.423,-11.723,-12.193,-12.493,-12.553,-12.383,-12.283,-12.783,-13.503,-13.783,-14.163,-14.583,-14.863,-15.423,-15.853,-16.583,-17.103,-17.263,-17.223,-16.913,-16.533,-16.083,-15.813,-16.063,-16.233,-16.403,-16.513],
                'y':[5.581,5.511,6.882,8.116,9.071,10.026,10.691,10.926,11.250,11.803,12.264,12.594,12.871,13.156,13.983,14.470,14.459,14.029,14.297,14.277,13.946,14.105,14.862,14.600,14.236,14.192,14.957,15.485,15.291,14.997,14.684,14.341,14.018,13.795,13.770,13.745,13.284,13.251,13.786,14.519,14.443,13.981,14.407,15.402,16.038,16.065,16.050,16.725,17.699,18.492,18.390,18.167,18.094,18.141,18.796,18.752,19.426,19.682,19.269,19.555,20.458,21.411,22.454,23.120,22.560,22.137,21.653,21.090],
                'z':[173.749,175.620,177.803,180.356,183.161,186.016,188.883,191.741,194.430,196.837,198.944,200.713,202.101,203.110,204.355,205.763,207.443,209.185,210.834,212.584,214.376,216.035,217.381,218.812,220.054,221.164,222.100,223.648,224.719,225.910,227.212,228.554,229.885,231.107,232.177,233.147,234.799,236.140,237.097,237.613,238.333,239.876,241.044,241.858,243.045,244.295,245.315,246.341,246.986,247.642,249.043,250.434,251.784,253.054,254.040,255.171,255.887,256.966,258.238,259.377,260.032,260.497,261.051,262.258,264.231,265.393,266.646,267.939],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[8]': {
                'x':[2.577,1.497,0.687,0.027,-0.623,-1.493,-2.413,-3.223,-4.013,-4.773,-5.273,-5.573,-6.053,-6.393,-6.593,-6.743,-6.533,-6.403,-6.373,-6.493,-6.863,-7.363,-7.123,-6.203,-5.703,-4.633,-3.593,-3.513,-3.563,-3.543,-3.283,-2.743,-2.233,-1.903,-1.243,-0.623,-0.553,-0.663,-0.793,-0.903,-0.993,-0.573,-0.023,-0.123,-0.273,-0.463,-0.573,-0.183,0.727,1.597,1.927,2.147,2.167,1.907,1.847,1.947,2.217,2.507,2.457,2.317,2.147,2.187,2.457,2.457,2.447,2.517,2.687,2.447,2.127,1.987,1.987,2.017,1.997,1.907,1.717,1.397,1.207,0.797,0.227,-0.813,-1.833,-2.873],
                'y':[5.581,4.442,3.914,3.618,3.121,2.444,1.795,1.385,1.203,1.130,0.947,0.892,1.440,1.299,1.526,1.535,1.813,1.682,2.001,2.100,2.138,2.316,2.204,2.389,1.986,2.031,2.328,2.103,1.789,1.575,1.391,1.276,1.221,1.056,1.205,1.233,1.043,0.513,0.163,-0.257,0.330,1.085,1.760,2.197,2.565,2.294,2.183,2.270,2.794,3.049,2.917,3.504,3.602,3.561,3.549,3.548,4.205,4.202,4.141,3.630,3.439,3.458,4.014,4.000,4.674,5.627,6.709,7.913,8.532,7.992,7.828,7.783,7.939,8.244,7.954,7.474,6.903,6.642,6.388,6.508,6.738,6.907],
                'z':[173.749,177.705,180.118,182.710,185.243,187.546,189.640,191.522,193.143,194.463,195.634,196.645,198.262,199.782,201.241,202.841,204.480,206.191,207.839,209.458,211.058,212.577,213.998,215.047,216.299,217.259,218.497,219.478,220.550,221.691,222.802,223.823,224.793,225.764,227.383,228.993,230.794,232.647,234.619,236.411,237.768,238.684,239.601,240.958,242.476,244.178,245.858,247.158,247.945,249.004,250.525,251.852,253.351,254.911,256.551,258.131,259.448,260.858,262.478,264.201,265.992,267.532,268.679,269.809,270.616,271.130,271.545,272.338,273.935,275.898,276.959,278.039,279.058,280.007,281.888,283.751,285.534,287.195,288.267,288.396,288.295,288.114],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[10]': {
                'x':[2.937,3.047,3.877,4.177,4.777,5.357,6.167,6.147,6.407,6.907,7.217,7.637,8.167,8.567,9.137,10.047,10.797,11.357,12.137,12.517,12.617,12.957,13.397,13.727,14.297,14.917,15.007,14.757,14.747,15.167,15.507,16.007,16.347,16.607,16.807],
                'y':[4.618,4.755,5.637,6.622,7.776,8.729,9.434,10.688,11.632,12.756,14.069,15.350,16.541,17.734,18.469,19.380,20.442,21.574,22.467,23.560,24.852,26.154,27.247,28.222,28.516,29.569,30.812,31.985,33.089,34.340,35.668,37.028,37.999,38.773,40.101],
                'z':[160.024,161.464,161.759,162.654,163.348,163.983,164.939,165.642,166.507,167.261,167.714,167.878,168.101,168.635,169.581,169.836,170.161,170.575,171.210,171.794,172.077,172.400,173.065,173.959,174.728,175.342,175.806,176.419,177.214,177.387,176.960,176.883,177.098,177.804,177.507],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'soma': {
                'x':[-0.647,0.000,0.647],
                'y':[-0.000,0.000,0.000],
                'z':[0.000,0.000,-0.000],
                'diam':[1.294,1.294,1.294]
            },
  
            prefix + 'apic[6]': {
                'x':[2.787,3.217,4.207,4.957,4.747,4.547,4.327,4.077,3.547,3.007,2.517,2.337,2.467,2.827,3.077,2.957,2.827,2.937],
                'y':[-3.240,-2.345,-1.337,-0.424,0.312,0.419,0.495,0.362,0.802,1.407,2.104,2.893,3.774,4.297,4.331,4.315,4.480,4.618],
                'z':[135.936,135.001,134.666,135.161,136.307,137.526,138.706,140.067,141.854,142.891,144.227,145.953,147.999,150.356,153.006,155.776,158.595,160.024],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[1]': {
                'x':[2.787,2.647,2.517,2.397,2.297,2.257,2.197,2.027,1.867,1.737,1.627,1.497,1.137,0.837,0.317,0.067,-0.283,-0.483,-0.083,0.607,0.487,0.407,0.257,0.087,-0.113],
                'y':[-3.240,-3.678,-4.021,-4.403,-4.636,-4.758,-4.730,-4.633,-4.777,-5.010,-5.134,-5.199,-5.009,-5.170,-5.152,-5.614,-5.956,-5.958,-4.835,-3.830,-4.050,-4.094,-4.087,-4.349,-4.629],
                'z':[135.936,138.168,139.570,140.982,142.433,143.884,145.314,146.643,147.884,149.065,150.176,151.216,153.075,154.776,156.296,157.819,159.370,160.750,161.404,162.329,164.250,165.441,166.761,168.282,170.063],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
            prefix + 'apic[4]': {
                'x':[1.887,3.317,4.627,5.537,6.477,7.267,7.817,8.087,8.277,8.877,9.717,10.077,10.067,10.427,10.837,11.127,11.167,11.327,11.597,12.147,12.827,13.197,13.377,13.747,14.337,14.857,15.297,15.557,15.927,16.367,16.607,17.267,17.937,18.327,18.717,19.397,20.157,20.987,21.107,21.327,21.957,22.817,23.757,25.037,26.347,27.287,28.297,29.357,29.767,30.337,31.247,32.577,33.687,34.927,35.887,36.757,37.177,37.297,37.977,38.917,39.757,40.417,40.577,41.927,43.207,44.557,45.527,46.487,47.197,47.437,47.387,47.937,48.927,49.927,51.027,51.547,52.357,53.457,54.517],
                'y':[-10.731,-10.897,-10.928,-10.736,-9.912,-9.229,-8.954,-8.927,-8.782,-8.149,-7.635,-7.617,-8.129,-7.794,-6.930,-5.987,-5.561,-5.784,-5.198,-4.354,-3.797,-3.616,-3.956,-3.860,-3.347,-3.142,-2.897,-2.842,-2.407,-2.052,-2.046,-1.609,-0.967,-0.094,0.480,0.934,1.228,1.173,1.089,0.645,0.189,-0.018,-0.006,-0.062,0.118,0.116,-0.015,0.007,-0.197,-0.333,-0.121,0.311,1.052,1.705,2.139,1.446,0.725,0.402,0.946,1.459,1.514,1.340,0.925,0.943,0.832,0.594,0.229,0.264,0.089,-0.295,-0.408,-0.784,-1.022,-1.081,-1.061,-0.665,-0.429,-0.579,-1.122],
                'z':[188.556,187.517,187.267,187.676,188.412,188.938,189.977,191.157,192.156,192.722,193.530,194.950,196.412,197.491,198.136,198.781,199.939,201.270,202.297,203.132,204.480,206.479,208.300,209.450,210.157,211.026,211.925,212.985,213.882,214.880,216.010,217.168,217.585,218.190,218.987,219.735,220.463,221.323,222.544,223.616,224.469,225.030,225.410,226.140,226.069,225.669,225.600,225.970,226.961,227.831,228.250,228.478,228.784,229.271,230.118,231.372,232.996,234.458,235.195,235.752,236.732,237.713,238.665,238.355,238.235,238.647,239.549,240.468,241.439,242.561,243.752,244.634,245.045,245.256,245.246,244.433,243.722,243.623,243.076],
                'diam':[0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635,0.635]
            },
  
  
          }
  
  from neuron import h
  
  class TransformGC4:
      def __init__(self):
  
          # Create a section lookup by section name
          # Note: this assumes each section has a unique name
          self.name2section = dict([(sec.name(), sec) for sec in h.allsec()])
  
          # This will store the new section coordinates
          self.section_coords = { }
  
      def set_coords(self, sec_name):
          # Lookup the section
          nrn_section = self.name2section[sec_name]
  
          # Lookup its new coords
          new_coords = self.section_coords[sec_name]
  
          # Use 3D points as section L and diam sources
          h.pt3dconst(1, sec=nrn_section)
  
          # Clear the existing points - and allocate room for the incoming points
          h.pt3dclear(len(new_coords["diam"]), sec=nrn_section)
  
          # Use vectorization to add the points to section
          xvec = h.Vector(new_coords["x"])
          yvec = h.Vector(new_coords["y"])
          zvec = h.Vector(new_coords["z"])
          dvec = h.Vector(new_coords["diam"])
  
          h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
  
      def set_all(self):
          for sec_name in self.section_coords.keys():
              self.set_coords(sec_name)
  
      @staticmethod
      def apply_on(prefix):
          t = TransformGC4()
          t.define_coords(prefix)
          t.set_all()
  
      @staticmethod
      def apply():
          t = TransformGC4()
          t.define_coords()
          t.set_all()
  
      def define_coords(self, prefix = 'GC4[0]'):
          if prefix != '':
              prefix += '.'
  
          self.section_coords = {
            prefix + 'apic[1]': {
                'x':[-0.964,-0.487,-0.034,0.505,1.056,1.479,1.723,2.124,2.652,3.000,3.537,4.254,4.969,5.684,6.082],
                'y':[-5.515,-5.371,-5.326,-5.244,-4.918,-4.377,-3.763,-2.898,-2.379,-2.368,-2.411,-2.308,-2.306,-2.446,-2.513],
                'z':[130.551,132.053,133.603,134.976,136.170,137.184,138.020,139.575,141.231,142.271,143.497,144.914,146.649,148.659,149.765],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[4]': {
                'x':[28.963,30.043,30.739,31.309,31.846,32.414,32.929,33.324,33.684,34.097,34.529,35.011,35.681,36.465,37.655,38.271,38.977,39.857,40.540,40.807,40.543,40.655,41.271,41.918,42.218,42.986,44.130,44.978,45.472,46.269,47.160,47.990,48.583,49.291,50.212,51.523,52.716,53.668],
                'y':[4.186,4.385,4.452,4.595,4.963,5.387,5.550,5.514,5.441,5.331,5.226,5.121,5.081,5.172,5.572,6.155,6.919,7.768,8.265,8.884,9.955,10.184,10.428,11.496,12.857,13.674,13.950,13.982,13.968,14.294,14.910,15.594,16.548,17.263,17.188,17.257,17.738,18.530],
                'z':[204.512,206.398,207.941,209.390,210.624,211.731,212.813,213.969,215.222,216.630,218.166,219.695,220.992,221.914,223.050,223.741,224.019,224.450,225.649,226.644,227.473,228.906,229.991,230.087,230.368,231.131,231.762,232.696,233.907,234.649,234.944,235.235,235.171,235.126,234.657,234.226,233.903,233.324],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[8]': {
                'x':[-0.964,-1.623,-2.430,-3.229,-4.113,-4.637,-5.607,-6.473,-7.347,-8.099,-8.289,-8.379,-9.303,-10.005,-10.785,-10.923,-11.229,-11.701,-12.184,-12.982,-13.777,-14.030,-14.173,-14.184,-15.240,-15.752,-15.777,-16.529,-17.322,-17.684,-17.617,-17.636,-18.428,-19.157,-19.519,-19.214,-19.840,-20.814,-21.546,-21.884,-23.079,-24.076,-24.298,-24.540,-25.354,-25.944,-26.084,-26.416,-27.393,-27.308,-27.481,-28.450,-29.483,-30.486,-31.510,-32.333,-32.094,-32.044,-32.983,-33.710,-33.699,-34.840,-35.796,-36.390,-37.002,-37.772,-38.363,-38.888,-38.824,-39.063,-39.144,-39.822,-40.216,-39.933,-40.803,-41.854,-42.943,-43.843,-44.497,-45.050,-45.306,-45.785,-46.318,-46.226,-46.016,-46.827,-47.712,-47.749,-48.213,-49.172,-50.132,-51.186,-52.222,-53.591,-54.684,-55.630,-56.464,-57.328],
                'y':[-5.515,-6.170,-6.731,-7.313,-7.627,-7.737,-8.310,-8.879,-8.978,-8.921,-8.931,-9.203,-9.657,-10.491,-11.171,-11.563,-12.110,-13.048,-14.208,-15.025,-15.337,-15.730,-16.127,-16.437,-17.348,-18.186,-18.946,-20.080,-20.744,-21.273,-21.674,-22.041,-22.561,-22.890,-23.121,-23.292,-23.844,-24.400,-24.788,-25.176,-26.029,-26.826,-27.301,-27.478,-27.680,-28.104,-28.385,-28.542,-29.389,-30.091,-29.790,-29.571,-29.682,-29.825,-30.337,-31.152,-31.486,-31.920,-32.606,-32.855,-32.830,-33.139,-33.710,-34.447,-35.023,-35.706,-36.588,-37.411,-37.809,-38.011,-38.347,-39.156,-40.025,-40.370,-41.368,-41.728,-41.720,-41.344,-41.610,-42.174,-42.210,-41.388,-40.355,-39.746,-39.951,-40.315,-40.351,-40.408,-40.271,-40.140,-40.187,-40.017,-39.459,-39.827,-40.066,-39.996,-40.462,-41.250],
                'z':[130.551,130.930,131.127,131.314,131.818,132.709,133.305,133.582,134.292,135.151,136.312,137.395,137.900,137.978,138.225,139.318,140.300,140.498,140.683,141.412,142.713,144.188,145.454,146.587,147.276,147.892,148.645,149.133,149.968,151.250,152.698,153.915,154.553,155.552,156.775,158.140,159.008,159.442,160.149,161.060,161.697,162.516,164.262,165.951,166.858,167.635,168.787,169.741,170.558,171.576,172.797,173.422,173.680,173.864,174.103,174.936,176.589,177.928,178.391,179.407,180.699,181.445,181.725,182.401,183.500,184.008,184.839,186.033,187.602,189.110,190.386,191.036,191.959,193.170,193.884,194.213,194.841,195.734,196.830,197.980,199.314,200.253,200.911,201.952,203.211,204.071,204.841,206.082,207.240,207.936,208.344,208.669,208.515,208.274,208.262,207.420,206.698,207.052],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[7]': {
                'x':[6.082,6.489,6.774,6.194,5.343,4.348,3.701,3.339,2.832,1.690,0.690,-0.511,-1.480,-2.070,-2.318,-3.108,-4.036,-4.949,-5.589,-6.431,-7.702,-8.152,-8.466,-8.919,-9.380,-9.295,-9.061,-9.703,-10.525,-11.099,-11.116,-11.069,-11.305,-11.612,-11.839,-11.931,-12.672,-13.403,-14.220,-14.811,-15.929,-17.063,-17.645,-17.908,-17.693,-17.877,-18.162,-18.786,-19.643,-20.579,-21.003,-21.007,-20.993,-21.823,-22.421,-22.648,-23.137,-23.774,-24.402,-24.532,-24.939,-25.454,-26.006,-26.337,-26.230,-26.040,-26.372,-27.293,-27.465,-27.494,-27.915,-28.932,-29.491,-29.317,-30.163,-31.227,-31.812,-31.700,-31.753,-32.058,-32.411,-32.905,-33.454,-33.856,-34.102,-33.952,-33.602,-33.566,-33.854,-33.499,-33.366,-33.076,-32.674,-32.329,-31.821,-31.597,-31.320,-31.043,-30.860,-30.830,-30.750,-30.486,-30.387,-30.499,-30.481,-30.295,-30.173,-30.150],
                'y':[-2.513,-2.571,-2.538,-1.912,-1.334,-0.410,0.789,1.572,1.506,1.368,1.821,2.669,2.931,3.727,4.804,5.494,5.844,6.613,7.873,8.564,9.088,9.963,10.939,11.811,12.731,13.153,13.188,13.644,14.082,14.546,14.738,15.544,16.788,17.794,18.535,18.843,19.620,20.340,21.053,21.548,22.243,23.201,24.273,25.149,25.296,25.800,26.486,27.744,28.565,29.099,29.655,29.888,30.136,31.250,31.540,31.468,31.939,32.395,32.645,33.098,33.988,34.368,34.552,34.964,35.181,35.015,35.385,36.233,36.596,36.819,37.074,37.165,37.381,37.653,37.812,38.137,38.709,39.133,40.075,40.905,41.251,41.435,42.129,43.165,43.922,44.767,45.199,45.723,46.544,46.694,46.604,46.566,46.610,46.800,47.662,48.678,49.016,49.464,50.061,50.780,51.570,52.131,52.226,52.272,52.837,53.970,55.232,56.275],
                'z':[149.765,150.859,152.363,153.504,154.050,154.517,155.025,155.604,156.673,157.080,157.095,156.998,156.610,156.271,156.602,157.560,158.599,159.210,159.361,160.034,160.543,160.869,161.162,161.742,162.604,163.793,165.022,165.813,166.348,167.048,168.229,169.171,169.383,169.320,170.527,171.614,172.088,172.288,172.259,173.385,173.907,174.131,174.390,175.427,176.736,177.680,178.361,178.823,179.131,179.923,181.023,182.221,183.264,184.034,185.319,186.842,187.772,188.532,189.478,190.375,190.856,191.752,192.800,194.113,195.851,197.789,199.032,199.591,200.881,202.113,203.160,203.866,205.006,206.176,206.743,207.277,208.249,209.484,210.306,211.127,212.222,213.252,213.931,214.650,215.728,216.957,218.430,219.704,220.908,222.681,223.767,224.897,226.030,227.055,228.452,229.705,230.686,232.008,233.724,235.904,238.490,241.419,244.588,247.830,251.008,254.043,257.055,260.148],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[3]': {
                'x':[21.304,22.075,22.520,23.038,23.598,24.195,24.829,25.507,26.301,27.257,28.149,28.963],
                'y':[3.091,3.312,3.447,3.678,3.833,3.971,4.041,3.992,3.929,3.978,4.059,4.186],
                'z':[188.694,190.747,191.901,193.274,194.794,196.420,198.094,199.784,201.306,202.497,203.393,204.512],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[0]': {
                'x':[0.043,-0.230,-0.675,-0.547,-0.392,-0.236,-0.028,0.251,0.489,0.598,0.694,0.728,0.651,0.540,0.354,0.260,0.466,0.824,1.147,1.297,0.861,-0.102,-0.485,-1.842,-3.002,-4.046,-4.587,-4.634,-4.631,-4.549,-4.333,-3.938,-3.544,-3.442,-3.737,-4.619,-4.856,-4.871,-4.666,-4.710,-5.077,-6.266,-7.311,-7.373,-7.304,-7.944,-8.444,-8.388,-8.243,-8.096,-7.991,-7.985,-8.535,-8.608,-9.148,-10.164,-10.578,-10.322,-10.157,-10.126,-10.225,-10.343,-10.377,-10.323,-10.154,-9.934,-9.745,-9.574,-9.405,-9.216,-9.026,-8.831,-8.624,-8.439,-8.258,-8.104,-8.027,-7.951,-7.849,-7.745,-7.567,-7.402,-7.243,-7.100,-6.947,-6.890,-7.018,-7.146,-6.998,-6.746,-6.515,-5.988,-5.676,-5.272,-4.791,-4.302,-3.894,-3.487,-3.054,-2.676,-2.324,-1.962,-1.633,-1.298,-0.964],
                'y':[-0.031,0.449,1.151,1.272,1.357,1.443,1.510,1.448,1.243,1.037,0.811,0.565,0.357,0.128,-0.082,-0.301,-0.416,-0.520,-0.567,-0.399,0.104,-0.064,-0.382,-0.673,-0.810,-1.046,-0.789,-0.737,-0.825,-1.070,-1.351,-1.508,-1.585,-1.698,-1.852,-2.090,-2.197,-2.298,-2.518,-3.223,-4.329,-4.641,-4.687,-4.673,-4.496,-3.691,-2.891,-2.714,-2.583,-2.462,-2.343,-2.050,-1.706,-1.686,-1.676,-1.515,-1.327,-1.433,-1.666,-1.938,-2.252,-2.540,-2.769,-2.948,-3.093,-3.213,-3.371,-3.587,-3.923,-4.261,-4.500,-4.690,-4.880,-5.059,-5.264,-5.549,-6.017,-6.526,-6.998,-7.393,-7.650,-7.849,-8.069,-8.259,-8.417,-8.634,-8.890,-9.176,-9.233,-8.874,-8.418,-7.966,-7.779,-7.578,-7.326,-7.012,-6.707,-6.551,-6.541,-6.440,-6.225,-5.991,-5.699,-5.502,-5.515],
                'z':[0.362,1.937,3.643,4.773,6.012,7.332,8.654,9.980,11.225,12.488,13.735,14.970,16.212,17.418,18.605,19.798,21.035,22.279,23.426,24.430,25.786,26.511,27.458,27.840,27.926,28.777,30.307,32.295,33.460,34.750,36.182,37.675,39.155,40.509,41.579,43.042,44.365,45.817,47.249,48.216,48.848,49.540,50.729,52.417,53.757,54.508,55.784,56.772,57.880,58.997,60.040,61.650,62.713,63.847,64.767,65.480,67.044,68.212,69.580,70.999,72.358,73.587,74.772,75.942,77.205,78.602,80.136,81.745,83.338,84.866,86.331,87.764,89.215,90.720,92.327,93.961,95.540,97.050,98.464,99.755,100.939,102.042,103.097,104.183,105.338,106.590,107.891,109.192,110.386,111.400,112.283,114.063,115.003,116.019,117.083,118.195,119.379,120.619,121.960,123.408,124.958,126.505,127.965,129.265,130.551],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[2]': {
                'x':[6.082,7.079,7.805,8.566,9.047,9.316,9.622,10.013,10.495,11.039,11.716,12.584,13.467,14.077,14.446,14.721,14.963,15.307,16.029,16.774,17.731,18.585,18.988,19.540,20.220,20.925,21.304],
                'y':[-2.513,-2.652,-2.572,-2.251,-1.921,-1.662,-1.464,-1.386,-1.478,-1.549,-1.410,-1.085,-0.792,-0.672,-0.574,-0.419,-0.126,0.124,0.880,1.751,2.150,2.252,2.256,2.396,2.564,2.910,3.091],
                'z':[149.765,152.503,154.182,155.830,157.570,159.312,161.021,162.690,164.360,166.031,167.656,169.075,170.391,171.702,173.020,174.259,175.409,176.433,177.902,178.848,179.989,181.710,182.853,184.182,185.755,187.643,188.694],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'soma': {
                'x':[-0.446,0.000,0.446],
                'y':[-0.002,0.000,0.002],
                'z':[0.067,0.000,-0.067],
                'diam':[0.902,0.902,0.902]
            },
  
            prefix + 'apic[6]': {
                'x':[21.304,21.673,21.894,21.724,20.685,20.215,20.711,21.079,21.484,21.402,20.698,20.411,20.662,20.681,20.906,21.049,21.209,21.529,21.693,21.870,21.767,21.473,21.272,20.872,20.609,20.408,20.162,19.848,19.530,19.416,19.547,19.830,20.188,20.605,20.973,21.182,21.382,21.521,21.264,21.634,22.060,22.618,23.263,23.998,24.830,25.715,26.542,27.246,27.837,28.439,29.041,29.606,30.129,30.660,31.168,31.591],
                'y':[3.091,3.272,3.124,2.638,1.402,0.300,-0.637,-1.331,-1.530,-2.299,-3.267,-3.905,-4.820,-6.000,-7.234,-8.152,-8.129,-8.279,-9.287,-10.383,-11.432,-12.422,-13.436,-14.226,-15.107,-15.977,-16.879,-17.864,-19.051,-20.058,-20.447,-20.782,-21.259,-21.777,-22.336,-22.909,-23.231,-23.908,-24.995,-25.896,-26.709,-27.753,-28.721,-29.533,-30.568,-31.821,-32.758,-33.331,-33.995,-35.112,-36.452,-37.722,-39.184,-40.706,-41.693,-42.116],
                'z':[188.694,189.746,190.881,191.830,192.687,193.507,194.227,195.112,196.534,197.721,198.399,199.300,199.803,199.833,200.016,201.154,203.101,204.899,206.035,206.515,206.610,206.712,207.772,208.258,208.706,209.165,209.521,209.828,210.444,212.088,213.222,214.433,215.596,216.682,217.704,218.680,219.671,221.257,222.216,223.582,224.451,225.651,227.433,229.763,232.318,234.962,237.828,240.895,243.950,246.865,249.706,252.570,255.354,258.119,261.085,264.240],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
            prefix + 'apic[5]': {
                'x':[28.963,28.313,28.448,29.177,30.296,31.616,32.973,34.331,35.728,37.181,38.244,39.169,39.780,40.432,41.184,42.263,43.222,43.793,44.402,45.262,45.718,45.894,46.078,46.342,46.892,47.460,47.905,48.323,48.793,49.374,50.097,50.968,52.159,52.642,53.158,53.790,54.472,55.114,55.806,56.201,56.982,58.074,58.962,59.333,59.906,60.599,61.152,61.566,61.978,62.534,63.369,64.378,65.343],
                'y':[4.186,3.792,2.698,1.903,1.012,0.563,0.106,-0.192,-0.585,-0.889,-1.351,-1.867,-2.458,-3.213,-4.022,-4.839,-5.549,-6.051,-7.007,-8.200,-9.219,-9.730,-10.201,-10.564,-11.126,-11.608,-12.529,-13.565,-14.024,-14.633,-15.452,-16.528,-17.523,-17.791,-18.076,-18.504,-19.076,-19.593,-20.029,-20.535,-21.908,-22.854,-23.536,-23.757,-24.110,-24.544,-24.825,-24.933,-25.009,-25.136,-25.267,-25.471,-25.797],
                'z':[204.512,203.062,202.516,202.501,202.520,202.548,202.611,203.033,202.896,202.667,202.663,203.288,204.184,204.937,205.889,206.792,207.640,208.540,208.526,208.906,210.708,211.737,212.755,213.696,215.329,216.613,217.200,217.601,218.636,219.254,219.068,218.978,219.950,221.008,222.153,223.193,224.018,224.715,226.151,226.956,226.999,227.580,229.105,230.098,230.943,231.711,232.627,233.702,234.836,235.909,236.759,237.413,238.047],
                'diam':[0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254,0.254]
            },
  
  
          }
  