code: def _read_color_and_depth_image(self):
          
          frames = self._pipe.wait_for_frames()
          if self._depth_align:
              frames = self._align.process(frames)
  
          depth_frame = frames.get_depth_frame()
          color_frame = frames.get_color_frame()
  
          if not depth_frame or not color_frame:
              logging.warning('Could not retrieve frames.')
              return None, None
  
          if self._filter_depth:
              depth_frame = self._filter_depth_frame(depth_frame)
  
          # convert to numpy arrays
          depth_image = self._to_numpy(depth_frame, np.float32)
          color_image = self._to_numpy(color_frame, np.uint8)
  
          # convert depth to meters
          depth_image *= self._depth_scale
  
          # bgr to rgb
          color_image = color_image[..., ::-1]
  
          depth = DepthImage(depth_image, frame=self._frame)
          color = ColorImage(color_image, frame=self._frame)
          return color, depth
docs: Read a color and depth image from the device.