class_docstr: Base class used for to run modules in a pipeline.
docstr: Central function of the pipeline.
  
  Calls transform() of each module in the pipeline.
  Typically, transform() of a module takes something from the datastore, does something to it,
  and puts the results back into the datastore again, to be passed on to the next module in the pipeline.
  
  :param dict datastore: input datastore
  :return: updated output datastore
  :rtype: dict
docstr_tok: ["Central","function","of","the","pipeline",".","Calls","transform","(",")","of","each","module","in","the","pipeline",".","Typically",",","transform","(",")","of","a","module","takes","something","from","the","datastore",",","does","something","to","it",",","and","puts","the","results","back","into","the","datastore","again",",","to","be","passed","on","to","the","next","module","in","the","pipeline",".",":","param","dict","datastore",":","input","datastore",":","return",":","updated","output","datastore",":","rtype",":","dict"]
code: def transform(self, datastore):
      """Central function of the pipeline.
  
      Calls transform() of each module in the pipeline.
      Typically, transform() of a module takes something from the datastore, does something to it,
      and puts the results back into the datastore again, to be passed on to the next module in the pipeline.
  
      :param dict datastore: input datastore
      :return: updated output datastore
      :rtype: dict
      """
  
      for module in self.modules:
          self.logger.debug(f"transform {module.__class__.__name__}")
          datastore = module.transform(datastore)
      return datastore
  
imports: from __future__ import annotations
  import logging
label_desc: Use image node_id 4 for calling the Pipeline obj's underlying member method code with example usage: obj.transform(datastore) and returns: datastore