code: def testNegativeAreaProposals(self):
      all_anchors = np.array(
          [
              [11, 13, 12, 16],
              [
                  10,
                  10,
                  9,
                  9,
              ],  # invalid anchor will transform to an invalid
              [
                  11,
                  13,
                  12,
                  28,
              ],  # proposal. we are cheating here but it's almost
              [7, 13, 34, 30],  # the same.
          ]
      )
      rpn_cls_prob = np.array(
          [[0.3, 0.7], [0.4, 0.6], [0.9, 0.1], [0.8, 0.2]]
      )
      rpn_bbox_pred = np.array(
          [
              [0, 0, 0, 0],
              [0, 0, 0, 0],
              [0, 0, 0, 0],
              [0, 0, 0, 0],
          ]
      )
  
      results = self._run_rpn_proposal(
          all_anchors,
          rpn_cls_prob,
          self.config,
          rpn_bbox_pred=rpn_bbox_pred,
      )
  
      self.assertEqual(results["unsorted_proposals"].shape, (3, 4))
  
file_path: luminoth/luminoth/models/fasterrcnn/rpn_proposal_test.py
imports: import numpy
  import tensorflow
  from easydict import EasyDict
  from luminoth.models.fasterrcnn.rpn_proposal import RPNProposal
  from luminoth.utils.bbox_transform_tf import encode, clip_boxes
label_desc: Use image node_id 6 for calling the RPNProposalTest obj's underlying member method code with example usage: obj.testNegativeAreaProposals() without return types