docs: def trunk_origin_azimuths(nrn, neurite_type=NeuriteType.all):
      '''Get a list of all the trunk origin azimuths of a neuron or population
  
      The azimuth is defined as Angle between x-axis and the vector
      defined by (initial tree point - soma center) on the x-z plane.
  
      The range of the azimuth angle [-pi, pi] radians
      '''
      neurite_filter = is_type(neurite_type)
      nrns = neuron_population(nrn)
  
      def _azimuth(section, soma):
          '''Azimuth of a section'''
          vector = morphmath.vector(section[0], soma.center)
          return np.arctan2(vector[COLS.Z], vector[COLS.X])
  
      return [_azimuth(s.root_node.points, n.soma)
              for n in nrns
              for s in n.neurites if neurite_filter(s)]