class_docstr: The basic structure of a flow based motion estimator
  To implement your own flow tracker, extend the followting methods:
  
  compuate_flow(): given preprocessed information, compute optical flow map
  prepare_frame(): for preprocessing, the results will be stored and provided to next frame's inference
class_docstr_tok: ["The","basic","structure","of","a","flow","based","motion","estimator","To","implement","your","own","flow","tracker",",","extend","the","followting","methods",":","compuate_flow","(",")",":","given","preprocessed","information",",","compute","optical","flow","map","prepare_frame","(",")",":","for","preprocessing",",","the","results","will","be","stored","and","provided","to","next","frame","'s","inference"]
docstr: Compute dense optical flow
  Parameters
  ----------
  prev_frame_cache
  prepared_new_frame
  
  Returns
      flow_map: a NxMx2 map. each spatial local contains a 2-element vector
      specifying the delta in x and y directions. The unit of delta is pixel
      in this flow_map's coordinate space
  -------
docstr_tok: ["Compute","dense","optical","flow","Parameters","--","--","--","--","--","prev_frame_cache","prepared_new_frame","Returns","flow_map",":","a","NxMx2","map",".","each","spatial","local","contains","a","2-element","vector","specifying","the","delta","in","x","and","y","directions",".","The","unit","of","delta","is","pixel","in","this","flow_map","'s","coordinate","space","--","--","--","-"]
code: def compute_flow(self, prev_frame_cache, prepared_new_frame):
      """
      Compute dense optical flow
      Parameters
      ----------
      prev_frame_cache
      prepared_new_frame
  
      Returns
          flow_map: a NxMx2 map. each spatial local contains a 2-element vector
          specifying the delta in x and y directions. The unit of delta is pixel
          in this flow_map's coordinate space
      -------
  
      """
      # pylint: disable=notimplemented-raised,raising-bad-type
      raise NotImplementedError
  
imports: import time
  import logging
  from abc import ABC, abstractmethod
  import numpy
label_desc: Use image node_id 3 for calling the BaseFlowMotionEstimator obj's underlying member method code with example usage: obj.compute_flow(prev_frame_cache, prepared_new_frame) without return types