code: def combine_with(self, rgbd_im):
          
          new_data = self.data.copy()
          depth_data = self.depth.data
          other_depth_data = rgbd_im.depth.data
          depth_zero_px = self.depth.zero_pixels()
          depth_replace_px = np.where(
              (other_depth_data != 0) & (
                  other_depth_data < depth_data))
          depth_replace_px = np.c_[depth_replace_px[0], depth_replace_px[1]]
  
          # replace zero pixels
          new_data[depth_zero_px[:, 0], depth_zero_px[:, 1],
                   :] = rgbd_im.data[depth_zero_px[:, 0], depth_zero_px[:, 1], :]
  
          # take closest pixel
          new_data[depth_replace_px[:, 0], depth_replace_px[:, 1],
                   :] = rgbd_im.data[depth_replace_px[:, 0], depth_replace_px[:, 1], :]
  
          return RgbdImage(new_data, frame=self.frame)
docs: Replaces all zeros in the source rgbd image with the values of a different rgbd image
  
          Parameters
          ----------
          rgbd_im : :obj:`RgbdImage`
              rgbd image to combine with
  
          Returns
          -------
          :obj:`RgbdImage`
              the combined rgbd image