code: def compute(self, sensorToBodyByColumn, sensorToSpecificObjectByColumn):
      votesByCell = np.zeros(self.cellCount, dtype="int")
      self.activeSegmentsByColumn = []
      for (connections,
           activeSensorToBodyCells,
           activeSensorToSpecificObjectCells) in zip(self.connectionsByColumn,
                                                     sensorToBodyByColumn,
                                                     sensorToSpecificObjectByColumn):
        overlaps = connections.computeActivity({
          "sensorToBody": activeSensorToBodyCells,
          "sensorToSpecificObject": activeSensorToSpecificObjectCells,
        })
        activeSegments = np.where(overlaps >= 2)[0]
        votes = connections.mapSegmentsToCells(activeSegments)
        votes = np.unique(votes)
        votesByCell[votes] += 1
        self.activeSegmentsByColumn.append(activeSegments)
      candidates = np.where(votesByCell == np.max(votesByCell))[0]
      self.activeCells = np.intersect1d(self.activeCells, candidates)
      if self.activeCells.size == 0:
        self.activeCells = candidates
      self.inhibitedCells = np.setdiff1d(np.where(votesByCell > 0)[0],
                                         self.activeCells)