code: def _detect_branching_single_haghverdi16(self, Dseg, tips):
          
          # compute branchings using different starting points the first index of
          # tips is the starting point for the other two, the order does not
          # matter
          ssegs = []
          # permutations of tip cells
          ps = [[0, 1, 2],  # start by computing distances from the first tip
                [1, 2, 0],  #             -"-                       second tip
                [2, 0, 1]]  #             -"-                       third tip
          for i, p in enumerate(ps):
              ssegs.append(self.__detect_branching_haghverdi16(Dseg, tips[p]))
          return ssegs
docs: Detect branching on given segment.