class_docstr: ScreenGear is designed exclusively for targeting rapid Screencasting Capabilities, which means it can
  grab frames from your monitor in real-time, either by defining an area on the computer screen or full-screen,
  at the expense of inconsiderable latency. ScreenGear also seamlessly support frame capturing from multiple
  monitors as well as supports multiple backends.
  
  ScreenGear API implements a multi-threaded wrapper around dxcam, pyscreenshot, python-mss python library,
  and also flexibly supports its internal parameter.
docstr: Extracts frames synchronously from monitored deque, while maintaining a fixed-length frame buffer in the memory,
  and blocks the thread if the deque is full.
  
  **Returns:** A n-dimensional numpy array.
docstr_tok: ["Extracts","frames","synchronously","from","monitored","deque",",","while","maintaining","a","fixed-length","frame","buffer","in","the","memory",",","and","blocks","the","thread","if","the","deque","is","full",".","*","*","Returns",":","*","*","A","n-dimensional","numpy","array","."]
code: def read(self):
      """
      Extracts frames synchronously from monitored deque, while maintaining a fixed-length frame buffer in the memory,
      and blocks the thread if the deque is full.
  
      **Returns:** A n-dimensional numpy array.
      """
      # return the frame
      return self.frame
  
file_path: vidgear/vidgear/gears/screengear.py
imports: import cv2
  import json
  import platform
  import numpy
  import logging
  from threading import Thread, Event
  from collections import OrderedDict
  from .helper import import_dependency_safe, capPropId, logger_handler, logcurr_vidgear_ver
label_desc: Use image node_id 4 for calling the ScreenGear obj's underlying member method code with example usage: obj.read() and returns: self