code: def _get_proposals_and_targets(self, index):
      if self._proposal_provider is None:
          return None, None, None, None
  
      proposals = self._proposal_dict[index]
      if self._flip_image:
          flipped_proposals = np.array(proposals, dtype=np.float32)
          flipped_proposals[:, 0] = (
              self._pad_width - proposals[:, 2] - 1
          )
          flipped_proposals[:, 2] = (
              self._pad_width - proposals[:, 0] - 1
          )
          proposals = flipped_proposals
  
      if self._provide_targets:
          targets = self._proposal_targets[index]
          bbox_targets_single = targets[:, :4]
          label_target_inds = targets[:, 4]
          bbox_inside_weights_single = targets[:, 5]
  
          # convert label targets to 1-hot vectors, convert bbox targets and bbiw to '4-hot'
          label_targets = np.zeros(
              (targets.shape[0], self._num_classes)
          )
          bbox_targets = np.zeros(
              (targets.shape[0], self._num_classes * 4)
          )
          bbox_inside_weights = np.zeros(
              (targets.shape[0], self._num_classes * 4)
          )
          for r in range(targets.shape[0]):
              class_ind = int(label_target_inds[r])
              label_targets[r, class_ind] = 1
              bbox_targets[
                  r, class_ind * 4 : (class_ind + 1) * 4
              ] = bbox_targets_single[r]
              bbox_inside_weights[
                  r, class_ind * 4 : (class_ind + 1) * 4
              ] = bbox_inside_weights_single[r]
  
          # TODO: double check this flipping of regression targets
          # apply flipping to x-position regression target
          if self._flip_image:
              # TODO: check ::4
              flipped_bbox_targets = np.array(bbox_targets, np.float32)
              flipped_bbox_targets[:, 0::4] = -bbox_targets[:, 0::4]
              bbox_targets = flipped_bbox_targets
      else:
          label_targets = None
          bbox_targets = None
          bbox_inside_weights = None
  
      return proposals, label_targets, bbox_targets, bbox_inside_weights
  
file_path: CNTK/Examples/Image/Detection/utils/od_reader.py
imports: import zipfile
  import cv2
  import numpy
  import os
  from utils.proposal_helpers import ProposalProvider, compute_targets, compute_image_stats
label_desc: Use image node_id 12 for calling the ObjectDetectionReader obj's underlying member method code with example usage: obj._get_proposals_and_targets(index) and returns: proposals,  label_targets,  bbox_targets,  bbox_inside_weights, None,  None,  None,  None