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"]
code: def prepare_frame(self, frame):
      # pylint: disable=notimplemented-raised,raising-bad-type
      raise not NotImplementedError
  
imports: import time
  import logging
  from abc import ABC, abstractmethod
  import numpy
label_desc: Use image node_id 4 for calling the BaseFlowMotionEstimator obj's underlying member method code with example usage: obj.prepare_frame(frame) without return types