code: def py_cpu_nms(dets, thresh, normalized):
      """Pure Python NMS baseline."""
      if normalized:
          offset = 0
      else:
          offset = 1
  
      keep = np.where(dets[:, 4] != 0)[0]
      x1 = dets[keep, 0]
      y1 = dets[keep, 1]
      x2 = dets[keep, 2]
      y2 = dets[keep, 3]
      scores = dets[keep, 4]
  
      areas = (x2 - x1 + offset) * (y2 - y1 + offset)
      order = scores.argsort()[::-1]
  
      keep = []
      while order.size > 0:
          i = order[0]
          keep.append(i)
          xx1 = np.maximum(x1[i], x1[order[1:]])
          yy1 = np.maximum(y1[i], y1[order[1:]])
          xx2 = np.minimum(x2[i], x2[order[1:]])
          yy2 = np.minimum(y2[i], y2[order[1:]])
  
          w = np.maximum(0.0, xx2 - xx1 + offset)
          h = np.maximum(0.0, yy2 - yy1 + offset)
          inter = w * h
          ovr = old_div(inter, (areas[i] + areas[order[1:]] - inter))
  
          inds = np.where(ovr <= thresh)[0]
  
          order = order[inds + 1]
  
      return keep
  
file_path: neon/tests/test_nms.py
imports: from __future__ import division
  from __future__ import print_function
  from past.utils import old_div
  import itertools
  import numpy
  import pytest
label_desc: Use image node_id 1 for calling a global function with example usage: py_cpu_nms(dets, thresh, normalized) and returns: keep