code: def _check_distribute(self):
      rois = self.link.xp.array(
          (
              (0, 0, 10, 10),
              (0, 1000, 0, 1000),
              (0, 0, 224, 224),
              (100, 100, 224, 224),
          ),
          dtype=np.float32,
      )
      roi_indices = self.link.xp.array((0, 1, 0, 0), dtype=np.int32)
      n_roi = len(roi_indices)
  
      rois, roi_indices, order = self.link.distribute(rois, roi_indices)
  
      self.assertEqual(len(rois), 3)
      self.assertEqual(len(roi_indices), 3)
      for l in range(3):
          self.assertIsInstance(rois[l], self.link.xp.ndarray)
          self.assertIsInstance(roi_indices[l], self.link.xp.ndarray)
  
          self.assertEqual(rois[l].shape[0], roi_indices[l].shape[0])
          self.assertEqual(rois[l].shape[1:], (4,))
          self.assertEqual(roi_indices[l].shape[1:], ())
  
      self.assertEqual(sum(rois[l].shape[0] for l in range(3)), 4)
  
      self.assertEqual(len(order), n_roi)
      self.assertIsInstance(order, self.link.xp.ndarray)
  
imports: from __future__ import division
  import numpy
  import unittest
  import chainer
  from chainer import testing
  from chainer.testing import attr
  from chainercv.links.model.fpn import mask_head_loss_post
  from chainercv.links.model.fpn import mask_head_loss_pre
  from chainercv.links.model.fpn import MaskHead
  from chainercv.utils import mask_to_bbox
label_desc: Use image node_id 5 for calling the TestMaskHead obj's underlying member method code with example usage: obj._check_distribute() without return types