docs: def _get_type(points, soma_class):
      '''get the type of the soma
  
      Args:
          points: Soma points
          soma_class(str): one of 'contour' or 'cylinder' to specify the type
      '''
      assert soma_class in (SOMA_CONTOUR, SOMA_CYLINDER)
  
      npoints = len(points)
      if soma_class == SOMA_CONTOUR:
          return {0: None,
                  1: SomaSinglePoint,
                  2: None}.get(npoints, SomaSimpleContour)
  
      if(npoints == 3 and
         points[0][COLS.P] == -1 and
         points[1][COLS.P] == 1 and
         points[2][COLS.P] == 1):
          L.warning('Using neuromorpho 3-Point soma')
          # NeuroMorpho is the main provider of morphologies, but they
          # with SWC as their default file format: they convert all
          # uploads to SWC.  In the process of conversion, they turn all
          # somas into their custom 'Three-point soma representation':
          #  http://neuromorpho.org/SomaFormat.html
  
          return SomaNeuromorphoThreePointCylinders
  
      return {0: None,
              1: SomaSinglePoint}.get(npoints, SomaCylinders)